====== ブリッジネットワーク接続の仮想マシンを使う時はport-securityに気をつける ====== ブリッジネットワーク接続の仮想マシンがあり、その通信がCiscoのCatalystスイッチを通るネットワーク構成の時は、スイッチのポートセキュリティ設定に気をつけなければならない。さもないと仮想マシンが通信できなくてハマる。VMとLAN内の物理マシンとでARP RequestとReplayは通っており、互いのARPテーブルは正しく作られているように見えるのに通信が出来なくて超ハマる。3ヶ月くらい悩んでた…(ヽ´ω`) port-securityが有効なポートでは、最初に通過したMACアドレス以外のフレームが破棄される。 ここで、ブリッジ接続の仮想マシンのフレームは、物理マシンが繋がってるポートに流れる事になる。つまり、1ポートに対して複数のMACアドレスが関連付けられるわけだが、port-securityが有効だと最初の通信のMACアドレスしか有効にならない。それは殆どのケースで物理マシンのMACアドレスになるので、VMは一切通信出来なくなるという寸法。逆にいえば、物理マシンの通信ならOKなので、NATでVMの通信を物理マシンの通信に変換してやれば通信できるということだ。実際、NAT接続でなら通信出来てた。 対策方法は次の3つ。 - port-securityを無効化する - 信頼するMACアドレスを静的に追加する - 学習するMACエントリの上限を引き上げる(デフォルトでは1個) 自宅ネットワークならport-security無効化が簡単で影響も殆どないかと。 この問題を調べてる時に、ブリッジ接続が上手くいかないと嘆いている[[https://forum.lissyara.su/viewtopic.php?t=44855|ロシアのフォーラム]]を見つけたんだけど、結局使ってるホスティング業者を変えたら動いた!って結末だったので、恐らくダメだった方の業者のスイッチで似たようなセキュリティ設定になってたんだろうと思う。 原因がわかって全てが繋がった感じ。通信だけにね(´・∀・` ) ===== 参考サイト ===== * [[http://www.infraexpert.com/study/catalyst8.html|Catalystスイッチ - ポートセキュリティ]] * [[http://www.infraexpert.com/study/dhcpz7.html|DAI(Dynamic ARP Inspection)とは]] * [[https://forum.lissyara.su/viewtopic.php?t=44855|FreeBSD 11.1 Release, bhyve и сетевой мост if_bridge - forum.lissyara.su]]