Proxmox 8のファイアウォールを設定しよう!
Proxmoxには独自のファイアウォールが搭載されており、基本的にはWeb GUIを使って設定を行います。ホストに対するファイアウォール設定だけでなく、仮想マシンについての設定も行えるようです。
基となっているDebianにはufwというファイアウォールが使用されており、Proxmoxでもインストールして使用可能です。ホストはホスト、仮想は仮想でファイアウォールの設定を行うのであれば、使い慣れたものの方が良いでしょう。
ここでは、Proxmox 8にufwを導入する手順について掲載しています。
[広告]
ufwのインストール
標準のファイアウォールの無効化
まずはデフォルトのファイアウォールを無効化しておきます。
[root@pve8 ~]# pve-firewall stop
[root@pve8 ~]# systemctl disable pve-firewall
Removed "/etc/systemd/system/multi-user.target.wants/pve-firewall.service".
[root@pve8 ~]# systemctl mask pve-firewall
Created symlink /etc/systemd/system/pve-firewall.service → /dev/null.
ufwのインストール
続いて、新しくufwをインストールします。
[root@pve8 ~]# apt update && apt -y install ufw
Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: ufw 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. ・・・ Unpacking ufw (0.36.2-1) ... Setting up ufw (0.36.2-1) ... Creating config file /etc/ufw/before.rules with new version Creating config file /etc/ufw/before6.rules with new version Creating config file /etc/ufw/after.rules with new version Creating config file /etc/ufw/after6.rules with new version Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /lib/systemd/system/ufw.service. Processing triggers for rsyslog (8.2302.0-1) ... Processing triggers for man-db (2.11.2-2) ...
[root@pve8 ~]# systemctl enable --now ufw
Synchronizing state of ufw.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable ufw
ufwの有効化
とりあえず、Proxmoxの動作に最低限必要な設定を行います。
いちいちコマンドで打ち込んでいるとめんどくさいので、スクリプトで一気に設定したいと思います。
尚、Proxmoxで使用するポートはこちらを参考にしてください。
ufw設定スクリプト
スクリプトファイルを作り、以下を丸ごとコピーします。
Tera Termの場合、テキストモードにしておいてマウスの右クリック、または"Alt + v"で貼り付け可能です。
[root@pve8 ~]# vi proxmox_firewall.sh
ufw allow 22/tcp comment "SSH" ufw allow 8006/tcp comment "Proxmox Web interface" ufw allow 5900:5999/tcp comment "VNC Web console" ufw allow 3128/tcp comment "SPICE proxy" ufw allow 111/udp comment "rpcbind" ufw allow 25/tcp comment "sendmail" ufw allow 5405:5412/udp comment "corosync cluster traffic" ufw allow 60000:60050/tcp comment "live migration"
スクリプトを実行
[root@pve8 ~]# chmod +x proxmox_firewall.sh
[root@pve8 ~]# sh proxmox_firewall.sh
Rules updated Rules updated (v6)
[root@pve8 ~]# rm -f proxmox_firewall.sh
ファイアウォールの有効化
途中ファイアウォールを本当に有効化して良いか確認が入ります。これは、SSHで接続している場合、SSHの許可設定をしないと接続が切断されてしまうからです。
今回はきちんと許可設定をしているので、"y"を入力して有効化しましょう。
[root@pve8 ~]# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
ルールの一覧を確認
きちんと設定されているかを確認しておきましょう。
[root@pve8 ~]# ufw status verbose
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere # SSH 8006/tcp ALLOW IN Anywhere # Proxmox Web interface 5900:5999/tcp ALLOW IN Anywhere # VNC Web console 3128/tcp ALLOW IN Anywhere # SPICE proxy 111/udp ALLOW IN Anywhere # rpcbind 25/tcp ALLOW IN Anywhere # sendmail 5405:5412/udp ALLOW IN Anywhere # corosync cluster traffic 60000:60050/tcp ALLOW IN Anywhere # live migration 22/tcp (v6) ALLOW IN Anywhere (v6) # SSH 8006/tcp (v6) ALLOW IN Anywhere (v6) # Proxmox Web interface 5900:5999/tcp (v6) ALLOW IN Anywhere (v6) # VNC Web console 3128/tcp (v6) ALLOW IN Anywhere (v6) # SPICE proxy 111/udp (v6) ALLOW IN Anywhere (v6) # rpcbind 25/tcp (v6) ALLOW IN Anywhere (v6) # sendmail 5405:5412/udp (v6) ALLOW IN Anywhere (v6) # corosync cluster traffic 60000:60050/tcp (v6) ALLOW IN Anywhere (v6) # live migration
今後は必要に応じて設定を追加しながらお使いください。
例えば、NTPの通信を許可する場合は以下のように入力します。
[root@pve8 ~]# ufw allow 123/udp comment "NTP"
Rule added Rule added (v6)
今回新しく登場したコマンド
- sh
- ufw
[広告]
トップページ
Proxmox 8
◎仮想マシン(VM)の管理
◎コンテナ(CT)の管理
○インストール準備
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○クラスタ/Ceph
○その他