👻

ProxmoxのプライベートLANでNAT+DHCP環境を構築する

2024/12/01に公開

この記事は

Proxmoxでプライベートネットワークを作ってその中にVMを立てる際

  • ネットワーク設定はDHCPで済ませたい
  • プライベートネットワークから外のネットワークへはNATでアクセスしたい

を実現する方法です。

以下のようなイメージです。

ネットワーク図

以下を参考にしました。
https://pve.proxmox.com/wiki/Setup_Simple_Zone_With_SNAT_and_DHCP

やり方

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」に移動し、「作成」を押すと以下の画面が出ます。

VNet作成

名前はなんでも良いです。ここではVnet0としています。ゾーンには先ほど作成したゾーンを指定します。「作成」を押すとVNetが作られます。

VNet作成完

サブネットを作成する

できたVnetを選択し、右側にあるサブネットの作成をクリックすると以下の画面が出ます。

サブネット作成

サブネットには作成するサブネットのアドレスを指定します。今回は10.0.100.0/24とします。ゲートウェイにはこのサブネットのデフォルトゲートウェイとして使用するアドレスを指定します。ここでは10.0.0.1とします。
NATを使用するのでSNATにチェックを入れます。

続いてDHCPレンジタブに移動します。

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