1つのホストと2つの仮想マシンは互いにpingできません。それを扱う方法

1つのホストと2つの仮想マシンは互いにpingできません。それを扱う方法

私たちはKVM環境で仮想マシンを実行します。一つは背中を実行する開発サーバーに設定し、Apacheもう一つはWindows開発環境に設定しました。

両方の環境が設定され、正常に実行されています。ただし、互いにpingすることはできません。明確な解決策があるかどうか疑問に思います。

これが今起こっていることです。

ホストから:

  Cannot ping either of 2 VM's (one `Linux`, one `Windows`)

すべての仮想マシンで:

  Cannot ping host
  Cannot ping each other

他のネットワークコンピュータ(たとえば、企業ネットワーク内のラップトップ)から

  Successfully ping host at 192.168.0.64
  Successfully ping VM1 (Linux) 192.168.0.43
  Successfully ping VM2 (Windows) 192.168.0.84

答え1

KVM環境の外部でホストと両方の仮想マシンをpingできるため、マシンがブリッジモードで通信していることは明らかです。

問題は、宛先がホストのIPアドレスではなくパケットをドロップするカーネルのなりすまし保護です。

ランタイムの場合は、ホストサーバーのコマンドラインで次の操作を行います。

 sudo sysctl -w net.ipv4.conf.default.rp_filter=0
 sudo sysctl -w net.ipv4.conf.all.rp_filter=0

起動後も維持されるようにするには、次の行を追加します/etc/sysctl.conf

 net.ipv4.conf.default.rp_filter=0
 net.ipv4.conf.all.rp_filter=0

コメント中/etc/sysctl.conf(少し変わった):

rp_filter:スプーフィング防止(逆パスフィルタ)を有効にします。

特定のなりすまし攻撃を防ぐために、すべてのインターフェイスで送信元アドレスを検証する

答え2

私が知る限り、一般的な接続タイプはNATでなければなりません。したがって、特定の仮想マシン設定を右クリックするとネットワークの種類を変更できます。

PS:pingを防ぐためにLANにコンピュータを隠すことは不可能です。しかし、一度見る価値があります。

関連情報