ProxmoxのプライベートLANでNAT+DHCP環境を構築する
この記事は
Proxmoxでプライベートネットワークを作ってその中にVMを立てる際
- ネットワーク設定はDHCPで済ませたい
- プライベートネットワークから外のネットワークへはNATでアクセスしたい
を実現する方法です。
以下のようなイメージです。
以下を参考にしました。
やり方
Proxmoxにdnsmasqをインストールする
DNS+DHCPの機能であるdnsmasqをインストールします。ProxmoxのホストOSにログインして以下を実行します。
apt install dnsmasq
また、サービスとして起動する必要はないので止めておきます。
systemctl disable --now dnsmasq
SDNを設定する
Simple Zoneを作成する
ProxmoxのWeb画面から「データセンター」→「SDN」→「ゾーン」を選択します。
特に何も設定していなければ空の状態です。
「追加」でSimple Zoneを作成します。
IDには任意の名前を指定します。ここではprivate
としています。「自動DHCP」にチェックを入れます。追加を押すと以下のようにゾーンが追加されます。
VNetを作成する
続いてVNetを作成します。「Vnets」に移動し、「作成」を押すと以下の画面が出ます。
名前はなんでも良いです。ここではVnet0
としています。ゾーンには先ほど作成したゾーンを指定します。「作成」を押すとVNetが作られます。
サブネットを作成する
できたVnetを選択し、右側にあるサブネットの作成をクリックすると以下の画面が出ます。
サブネット
には作成するサブネットのアドレスを指定します。今回は10.0.100.0/24
とします。ゲートウェイにはこのサブネットのデフォルトゲートウェイとして使用するアドレスを指定します。ここでは10.0.0.1
とします。
NATを使用するのでSNAT
にチェックを入れます。
続いてDHCPレンジ
タブに移動します。
ここでDHCPで割り当てるIPアドレスの範囲を指定します。最後にOKボタンを押します。
作成が完了すると以下のようになります。
設定を適用する
SDNメニューを選択し、適用ボタンを押すことにより今まで行った設定を適用します。これを忘れると設定が反映されないので注意してください。
ここまでで準備は完了です。
個々のVMのネットワークを設定する
個々のネットワーク設定において、ブリッジを作成したVNetに変更してください。
VMを起動すればDHCPでプライベートアドレスが振られます(OS側でDHCPを使う設定になっていれば)。また、NAT経由でインターネットにも接続できるはずです。
プライベートネットワーク内のVMへのアクセス
プライベートネットワークの外側(最初の図で言うと192.168.10.x)のPCからプライベートLAN内のVMにアクセスしたい場合はProxmoxのホストを踏み台にしてアクセスすることができます。
sshでアクセスする場合には接続元のPCの~/.ssh/config
を編集し、10.0.100.*
だったらProxmoxを経由して接続するようProxyJumpの設定をしておくと良いでしょう。
Discussion