1つのホスト、相互にpingできない2つの仮想マシン。の解き方


10

KVM環境内で仮想マシンが動作しています。1つは実行中の開発サーバーとして、もう1つApacheWindows開発環境としてセットアップします。

2つの環境がセットアップされ、正常に動作しています。ただし、相互にpingすることはできません。これに対する明確な解決策があるかどうか私は思っています。

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

ホストから:

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

VMのいずれかから:

  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

4
仮想マシンのネットワーク構成の詳細情報はありますか?他のネットワークマシンがVMをpingするときに、ネットワーク上の他のランダムマシンをpingしないことを完全に確信していますか?(たとえば、実際にブラウザでapacheサーバーにアクセスできますか?)
GregHNZ 2013年

あなたの橋かもしれないと思います。カーネルのiptablesは、次の場合を除いて、マシンがそれ自体と通信するのをブロックします。echo "1"> / proc / sys / net / ipv4 / ip_forward; おそらく、とにかく。
mikeserv 2014年

VMの起動にはどのコマンドを使用しますか?
ジョバン

同じネットワーク(同じホストに存在しない)に他のマシンがありますか?これらのマシンはそれらのマシンにpingできますか?
スリー2014年

1
ゲストにmacvtap(wiki.libvirt.org/page/…)インターフェースを使用していますか?
nkms

回答:


1

KVM環境の外部からホストと両方のVMに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:スプーフィング保護を有効にします(逆パスフィルター)。

スプーフィング攻撃を防ぐためのすべてのインターフェースでのソースアドレス検証


私は質問が古いことを知っています...
Rui F Ribeiro

0

一般に、私が知る限り、接続タイプはNATである必要があります。したがって、マウスの設定で特定のVMを右クリックして、ネットワークタイプを変更できます。

PS:特にローカルエリアネットワークでpingからコンピューターを隠すことは不可能だと思います。しかし、一見の価値があります。


ICMP pingからコンピューターを隠すことができます。カーネルの機能を無効にするか、ファイアウォールルールを作成してそれをブロックします。Xenとbhyveのホストをブリッジモードで使用していますが、うまく動作します。
ルイFリベイロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.