ProxmoxVE 8上にDebian12環境を作る vol 2

Debian 環境を作る

# 環境
* ProxmoxVE 8.2.4
* Debian 12.6.0-amd64-netinst.iso

# ログインしてみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/39090e57-5e7e-e6c4-0fe9-2a3f95fb26eb.png)

ログインできることを確認する

# フォント

よく見るとフォントがカスカスで見にくいので見やすくします

```
root@debian:~# nano /etc/default/console-setup
```
設定ファイルを開く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/db551fa8-6f0e-bc4f-bf85-8cbff0e23062.png)

```diff_shell:console-setup.sh
# CONFIGURATION FILE FOR SETUPCON

# Consult the console-setup(5) manual page.

ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="Lat15"
- FONTFACE="Fixed"
+ FONTFACE="VGA"
  FONTSIZE="8x16"

~~以下省略~~
```

変更したら `Ctrl + O` + `Entre` で保存してnanoを閉じ、再起動する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/c566e833-1a33-ea71-c797-eb04b1abbe29.png)

若干見やすくなった気がする()

# ipaddress

サーバーを運用するうえでIPアドレスは固定しておきたいので固定する。

今回は `systemd-networkd` で設定していく。

ネットワーク管理サービスがすでに動いているかもしれないのでそれらを停止、無効化していきます

## 他のネットワーク管理サービスの停止、無効化

`systemclt` コマンドで今動いているサービス一覧を表示します

```
root@debian:~# systemctl list-units --type=service 
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/4dd289ce-d90a-ec45-55eb-92a8d8c7b2e2.png)

`networking.service` を無効化し、停止します

```diff_shell:無効化
root@debian:~# systemctl disable networking.service
```
```diff_shell:停止
root@debian:~# systemctl stop networking.service
```

## サービスの自動起動、起動

`systemd-networkd` サービスの自動起動を有効化する

```
root@debian:~# systemctl enable systemd-networkd
```

`systemd-networkd` サービスを起動する

```
root@debian:~# systemctl start systemd-networkd
```

## 設定ファイルを作成

`ip` コマンドで アダプタ名を調べる

```
root@debian:~# ip a
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/cfc01720-a4fb-2621-9e5c-11f3a99e24f7.png)

`enp6s18` が アダプタ名です

`nano` で `/etc/systemd/network/` 下に 設定ファイルを記述する

```
root@debian:~# nano /etc/systemd/network/00-wired.network
```

```diff_shell:00-wired.network
[Match]
Name = enp6s18  #さっき調べたアダプタ名を入れる

[Address]
Address = 192.168.1.1/24 #設定したい任意のアドレスを入れる

[Network]
DNS = 192.168.1.254 # DNSサーバーのIPアドレスを入れる

[Route]
Gateway = 192.168.1.254 #ゲートウェイのIPアドレスを入れる

```

変更したら `Ctrl + O` + `Entre` で保存してnanoを閉じ、再起動する

`ip` コマンドで設定したIPアドレスに設定されてるか調べる

## inet が 2個あるから消す

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/fb4424ec-642f-f1e2-0626-4121ee1689c1.png)

....ん????

`inet` が 2つある

色々試して、この方法だと解決できたのでその方法を記載します

```
root@debian:~# nano /etc/network/interfaces
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/d5326b8a-3150-39aa-e97f-c9597ac71021.png)

```diff_shell:interfaces
# This file describes the network interfaces available on your system
# and how to activate them, For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface
allow-hotplug enp6s18
- iface enp6s18 inte dhcp
+ # iface enp6s18 inte dhcp

```

`iface enp6s18 inte dhcp` の行をコメントアウトしておく

変更したら `Ctrl + O` + `Entre` で保存してnanoを閉じ、再起動する

`ip` コマンドで解決しているかを確認する

恐らく消えているはず...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/cfab723a-5920-47cf-9777-37bbce604b0d.png)

# mount
VMを作成した時、16GBのストレージを追加していたので、それをマウントしていく

## lsblk

`lsblk` コマンドで デバイス？ストレージ？類を表示する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/bdb88ef5-6061-4cdb-21df-0ccf976676fb.png)

## fdisk

sdb を `/data` としてマウントしていく

sdbにパーテーションを作っていく

```shell
root@debian:~# fdisk /dev/sdb
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/eb86d3f7-56d6-6b32-c04d-a694378af65b.png)

`n` を入れて `Entre` 連打

`Command (m for help):` が出たら `w` を入れて `Entre`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/4929f1df-d783-cc35-5078-1a69a7c3dd26.png)

こうなっていればOK

`lsblk` コマンドでどうなってるか見てみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/dea75bd7-8325-cea8-d8bc-9a830d4f62f3.png)

`sdb` に `sdb1` パーテーションが作成されていることを確認する

## mkfs.ext4

次に `mkfs.ext4` コマンドを使って `sdb1` にファイルシステムを作成する

```shell
root@debian:~# mkfs.ext4 /dev/sdb1
```
実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/92fe4d10-6578-d4f6-12f5-73b7d5a991e1.png)

次に

```shell
root@debian:~# blkid -o export -s UUID /dev/sdb1 >> /etc/fstab
```

:::note warn
`>>` を `>` にすると起動しなくなるらしい ...
:::

:::note
```
root@debian:~# blkid: command not found
```
が表示される場合以下を実行
```
root@debian:~# apt install gdisk
:::

次に `/etc/fstab` 開く

```
root@debian:~# nano /etc/fstab
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/fbe27c68-6a32-2c64-b756-9a332b2f092b.png)

fstabを書き換える

```diff_shell:fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=75871995-4a17-400a-bb61-b22c2c6592e3 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=8878-A668  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda3 during installation
UUID=af5fba04-6f7d-4308-896d-835d72f6c430 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
- DEVNAME=/dev/sdb1
- UUID=7ba92b1d-ba90-4a31-b88b-6b6d43ed8377
+ UUID=7ba92b1d-ba90-4a31-b88b-6b6d43ed8377 /data ext4 defaults 0 0
```

変更したら `Ctrl + O` + `Entre` で保存してnanoを閉じる

`mkdir` コマンドで `/data` ディレクトリを作成する

```shell
root@debian:~# mkdir /data
```

作成したら再起動

`lsblk` を実行

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/3e3a331a-f935-9d44-fcb4-afb728181df2.png)

`sdb1` に `/data` と表示されていればOK

# ufw

ファイヤーウォールの管理は `ufw` を使う

`ufw` を インストールする

```shell
root@debian:~# apt-get install ufw
```

`Y`を入力すると`ufw`がインストールされる

## ufw の 有効化、起動

`ufw` サービスを有効化

```
root@debian:~# systemctl enable ufw
```

`ufw` サービスを起動

```shell
root@debian:~# systemctl start ufw
```

次に `ufw` の有効化

```shell
root@debian:~# ufw enable
```

特定の通信のみを許可

```shell
root@debian:~# ufw default deny
```

## ssh

`ssh` をできるように `22/tcp` を許可

```shell
root@debian:~# ufw allow 22/tcp
```

`ufw` のステータスを表示

```shell
root@debian:~# ufw status
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641372/98e1bdbc-c7ad-f7b3-fc9b-b985e45fec3d.png)

`22/tcp` が登録されていることを確認

# おわり

これで 「ProxmoxVE8 上に Debian12 環境を作る」の全ての作業が終わりました

お疲れ様でした

# 引用
https://manpages.debian.org/testing/console-setup/console-setup.5.en.html

https://blog.masato.jp/arch-linux-static-ip

https://rin-ka.net/centos7-systemctl/#toc3

https://zenn.dev/yuwata/articles/0927ed436eecf7ac311e#systemd-networkd%E3%82%92%E4%BD%BF%E3%81%86%E3%81%AB%E3%81%82%E3%81%9F%E3%81%A3%E3%81%A6

https://qiita.com/RyoMa_0923/items/681f86196997bea236f0