ribbon です。
debian 11 をインストールして、その上に Proxmox-VE を載せています。
Proxmox-VE は、各仮想マシンと通信するために、ネットワークブリッジ機能を 使います。具体的には、 vmbr0 というインタフェース名を作り、それを物理 NIC (たとえば eno1) に割り当てます。 物理デバイスは IP アドレスを割り当てる必要はないので割り当てをしないように 設定します。こんな感じです。
iface eno1 inet manual # This is an autoconfigured IPv6 interface
auto vmbr0 iface vmbr0 inet static address 192.168.3.245/24 gateway 192.168.3.252 bridge-ports eno1 bridge-stp off bridge-fd 0
この場合、 eno1 には IPアドレスが割り当てられないはずなのですが、 どういうわけか、リンクローカルアドレスが割り当てられてしまいます。 その結果、仮想ホストマシンからは、外部にリンクローカルアドレスで 通信してしまうため、インターネット側に出られなくなってしまいました。
おそらく初期設定時に リンクローカルアドレスを割り当てるという設定が あるのだと思いますが、それがどこだか分かりません。
どなたか分かる方いらっしゃるでしょうか。
On Wed, Apr 05, 2023 at 07:13:19PM +0900, ribbon wrote:
この場合、 eno1 には IPアドレスが割り当てられないはずなのですが、 どういうわけか、リンクローカルアドレスが割り当てられてしまいます。 その結果、仮想ホストマシンからは、外部にリンクローカルアドレスで 通信してしまうため、インターネット側に出られなくなってしまいました。
おそらく初期設定時に リンクローカルアドレスを割り当てるという設定が あるのだと思いますが、それがどこだか分かりません。
どなたか分かる方いらっしゃるでしょうか。
原因分かりました。ログを見ると、
Apr 5 19:17:07 vm3 connmand[698]: eno1 {newlink} index 2 address AA:BB:CC:XX:YY:ZZ mtu 1500 Apr 5 19:17:07 vm3 connmand[698]: eno1 {newlink} index 2 operstate 6 <UP> Apr 5 19:17:07 vm3 connmand[698]: eno1 {RX} 17044 packets 4114601 bytes Apr 5 19:17:07 vm3 connmand[698]: eno1 {TX} 4292 packets 2330684 bytes Apr 5 19:17:07 vm3 connmand[698]: eno1 {newlink} index 2 address AA:BB:CC:XX:YY:ZZ mtu 1500 Apr 5 19:17:07 vm3 connmand[698]: eno1 {newlink} index 2 operstate 6 <UP> Apr 5 19:17:07 vm3 connmand[698]: eno1 {add} route fe80:: gw :: scope 0 <UNIVERSE> Apr 5 19:17:47 vm3 connmand[698]: eno1 {add} address 169.254.245.180/16 label eno1 family 2 Apr 5 19:17:47 vm3 connmand[698]: eno1 {add} route 169.254.0.0 gw 0.0.0.0 scope 253 <LINK> Apr 5 19:17:47 vm3 connmand[698]: eno1 {add} route 0.0.0.0 gw 0.0.0.0 scope 253 <LINK>
というように、connmand が既存設定を上書きしてます。
connman というプログラム、あったのですね。
https://wiki.archlinux.jp/index.php/ConnMan
で、設定ファイルに、 eno1 に対して設定を行わないという記述を追加して うまく動くようになりました。
ribbon