現在の Proxmox がらみの環境

Tech
┌─────┐
│ Internet │
└──┬──┘
   │ [V6 プラス]
┌──┴──┐
│ Router │ <- 経路情報 172.16.192.0/24 → 172.16.128.130
└──┬──┘
   │ 172.16.128.1
   │
   │
  ─┴──┬──────────── 172.16.128.0/24
      │
      │
      │ 172.16.128.130 (vmbr0)
   ┌──┴──┐
   │ Proxmox │
   └──┬──┘
      │ 172.16.192.1 (vmbr1)
      │
      │
  ────┴──────────── 172.16.192.0/24

自分としては、こんな感じのネットワークになっていると思っている。

宅内のネットワーク(既存)は 172.16.128.0/24 で、インターネットに接続するルータの内側のインタフェースは 172.16.128.1 となっている。

ここにミニ PC を置いて Proxmox を入れている(Proxmox のノード名は pve-n100 になっている)。インストール時に IP アドレスは 172.16.128.130 を振った。

2: enp1s0: mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
link/ether e8:ff:1e:df:52:93 brd ff:ff:ff:ff:ff:ff

4: vmbr0: mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether e8:ff:1e:df:52:93 brd ff:ff:ff:ff:ff:ff
inet 172.16.128.130/24 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 fe80::eaff:1eff:fedf:5293/64 scope link
valid_lft forever preferred_lft forever

これがあまりちゃんと理解していないのだけれど enp1s0 という実インタフェース(物理的な NIC。実機に Linux を入れたときに出てきたことがある名前なのでこれは実インタフェースなんだろうと思っている。昔の記憶では eth0 だったような気がするけど、いつからか変わったような)に master vmbr0 とあるので vmbr0 というブリッジにぶら下がっている状態なんだと思っている。で、vmbr0172.16.128.130 というアドレスを持っているとか、よくわからないのだ。

vmbr0 とかを見てネットワークインタフェースみたいなものかと勝手に思っているだけなのかもしれない(というか、勝手に思っているだけと思っているが)。

  ─┴──┬──────────── 172.16.128.0/24
      │
      │
      │ 172.16.128.130 (vmbr0)
   ┌──┴──┐
   │ Proxmox │
   └──┬──┘

と書いてあるが、実際は、

  ─┴──┬──────────── 172.16.128.0/24
      ┃(enp1s0) ←これがブリッジ?
     ━┻━━┳━━━━━━━━━ ←ここに仮想的なネットワークがある?
         ┃ 172.16.128.130 (vmbr0) ←Proxmox が持つ仮想 NIC?
      ┌──┴──┐
      │ Proxmox │
      └──┬──┘

なのかなとも思っている。enp1s0 は宅内ネットワークと vmbr0 がつながっているネットワークをつなぐための単純なブリッジということなんだろうかと。ここで vmbr0 がつながっているネットワークは単純にブリッジで宅内ネットワークとつながっているだけなので vmbr0 が宅内ネットワークにつながっていると理解しておいて問題ないかなと思っていた。

しかしどうも単純にはつながってくれないような感じなのだ。最初の図のような状態と考えると、普通に内部ネットワークと宅内ネットワークの端末が通信できそうなものなのに(インターネットに接続しているルータの経路情報もあるので)、内部ネットワークから宅内ネットワークに出て内部ネットワークに戻ってこないようなのだ。iptables -t nat -A POSTROUTING -s 172.16.192.0/24 -o vmbr0 -j MASQUERADE と NAT をかけると戻ってきているような気がする。このあたりをちゃんと理解したいと思っている(ARP が通っていないような気がする。もしかしたら、ここまでに単純なチョンボをしているだけかもしれない)。

いずれにせよ Linux Bridge をちゃんと理解しないとダメなんだろうなと思っている。昔、Netware サーバや FreeBSD 3.X でやっていた頃の知識では足りない状態なんだろうなと。

コメント

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