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:スプーフィング防止(逆パスフィルタ)を有効にします。

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

おすすめ記事