Proxmox に内部ネットワークをつくる

Tech

宅内ネットワークの Proxmox に内部ネットワークをつくって、そこに LXC や VM を配置できるようにする。宅内ネットワークに LXC や VM がそのまま見えないようにするため。

方法としては、Proxmox の Web 画面で Datacenter を選んだときに出てくる SDN(ソフトウェア定期ネットワーク – Software Defined Networking)でおこなうか、Proxmox が動いているホストにブリッジをつくるか、になると思う。SDN を使うのはオーバースペックだと思うのでブリッジをつくることにする。また、ブリッジをつくったほうがカーネルが処理して軽いはず。

その後、ルーティングと NAT を設定してネットワーク外部と通信できるようにする。宅内ネットワークは 172.16.128.0/24 でルータ(とルータにある機能の DNS サーバも動いている)は 172.16.128.1 になっている。Proxmox が動いているホストは 172.16.128.130 で、このインタフェースは vmbr0172.16.192.1 にする。

vmbr1 をつくる

Proxmox 上で内部ネットワークとして vmbr1 をつくる。172.16.192.0/24 のネットワークにする。

上の画面のように Datacenter の中にある Proxmox を選択して(今回の対象の Proxmox が動いているホストは pve-n100)、System の中の Network を選択する。そして Create > Linux Bridge を選択する。

Create Linux Bridge ダイアログが表示されるので、Name は vmbr1、IPv4 CIDR は 172.16.192.1/24 とする。

これで上図のように vmbr1 が作成される。

ルーティングと NAT の設定

続いて、ルーティングと NAT の設定をおこなう。以下の設定は、Datacenter > pve-n100 を選択した状態で Shell を選択しておこなう。

まず、iptables を設定しても再起動すると設定が消えるので、iptables-persistent を入れて設定を保持するようにする。Shell は root で開かれているので sudo は必要ない。

# apt install -y iptables-persistent

送出元が 172.16.192.0/24 のネットワークのものは vmbr0 に送る。-j MASQUERADE でパケット送出元をこのホストにして、帰ってきたときには送ってきたところへ返す(本当はもう少しいろいろやる)。

# iptables -t nat -A POSTROUTING -s 172.16.192.0/24 -o vmbr0 -j MASQUERADE

iptables -t nat -L -n で設定を確認できる。

続いて、設定を保存する。iptables-save で出力される設定を /etc/iptables/rules.v4 に保存しておくことで、再起動しても設定が反映される。

# iptables-save > /etc/iptables/rules.v4

宅内ルータにルーティング設定

ルータに 172.16.192.0/24 へのパケットは 172.16.128.130 に送るように、ルーティングを設定する。この設定をルータに行うことで宅内ネットワークから Proxmox の内部ネットワークで通信がおこなえる。

TODO

コメント

タイトルとURLをコピーしました