UbuntuサーバーのIP転送にルーティングの問題があります。
私のUbuntuサーバー(古いラップトップ)にはVirtualBoxがインストールされており、多くの仮想マシンがあります。各仮想マシンには、サーバーの物理wlan0アダプタに接続されている仮想ネットワークカードがあり、DHCPを有効にすると、ホームワイヤレスルーターからIPアドレスを取得できます。だからブリッジがうまくいくようです。
ワイヤレスルータはサブネット172.17.17.0/24で動作します。
一部の仮想マシンでは、実行中のアプリケーションによって変更が困難な他のサブネットに静的IPが設定されています。 2 つの VM サブネットがあります。
172.17.40.0/24 192.168.195.0/24
私はラップトップホストに各サブネットのIPアドレスを提供し、VMがゲートウェイに適切なIPを指すようにし、ホストでIP転送を有効にすると、彼らは楽しく会話できると思いました。したがって、ホストはwlan0に次のIPを割り当てます。
172.17.17.100 172.19.40.1 192.168.195.1
この設定では、サブネット172.19.40.0の仮想マシンがサブネット192.168.195.0の仮想マシンをpingでき、その逆も同様です。ホストはこれら2つのサブネット間でIPをうまく転送します。これらのサブネットの仮想マシンは、172.17.17.100のサーバーをpingすることもできます。
ただし、サブネット172.19.40.0または192.168.195.0の仮想マシンのいずれも172.17.17.254のワイヤレスルーターをpingできません。
ホストの設定に何かが欠けているようですが、各サブネットのVMが互いにpingを送信するのと、2つのサブネットのVMが3番目のサブネットのルータをpingすることとの間に違いはありません。物理デバイス - まだホストにあるサブネットから別のサブネットにIPを転送するように要求しています。私が見逃している違いは何ですか? !
助けてくれてありがとう。
視野
答え1
自分のIPのローカルIPアドレス範囲内にない発信パケットを許可するには、ブリッジホストにrp_filterが必要です。
net.ipv4.conf.all.rp_filter=0
ルーティングの場合、問題はルータが172.19.40.xネットワークを知らず、パケットがルータに到達すると応答がデフォルトゲートウェイ(つまり、戻ってくるのではなく未知のネットワーク)を通過することです。
ルータでルートを定義する必要があります(例:)
172.19.40.0 255.255.255.0 gw 172.17.17.100
そうすると、答えがホストに返されます。
もう一度考えると、これはブリッジされているため正解ではない可能性があるため、ルーターに172.19.40.0ネットワークのセカンダリIPを提供する必要があります。
答え2
ワイヤレスルーターにいくつかのルートを追加する必要があります。
- 172.17.17.100 経由 172.19.40.0/24
- 172.17.17.100 経由 192.168.195.0/24
ワイヤレスルーターのマニュアルに進み、静的ルーティングを実行する方法を学びます。私も同じ問題がありましたが、ルーターは異なるサブネットにあったので、トラフィックをサーバーに送り返す方法を知りませんでした。ルーターから各サブネットに戻るルートを作成する必要があります。