
私には 2 台のコンピュータがあります。コンピュータ A は NAT の背後にある VM を実行しています。コンピュータ B は、その VM に ping を実行したいだけです。NAT の背後にある VM は外部からアクセスできないように意図されているので、NAT がそもそも存在しているのはそのためです。私の実験は、これがどのように機能するかを学ぶためだけです。
コンピュータAのIP: 192.168.1.105
コンピュータ A 上の VM の IP: 172.16.66.132
コンピュータ B の IP: 192.168.1.107
私の理解では、コンピュータ B は VM に PING できません。そこに到達する方法がわからず、ルータ (192.168.1.1) 経由でそこに到達しようとしているためです。ルータはインターネットに接続するため、これは失敗します (これは で確認しましたtracert
)。
コンピュータ B のルーティング テーブルにカスタム エントリを追加することでこれを変更できると考えました。そこで、次の操作を実行しました。
route add 172.16.66.0 MASK 255.255.255.0 192.168.1.105
上記のルールは、ネットワーク 172.16.66.0 が 192.168.1.105 (コンピュータ A の IP) 経由でアクセス可能であることをコンピュータ B に通知します。
結果はどうですか? 変化はありません。VM に PING を実行したところ、カスタム エントリがテーブルから削除されたことも確認しました。
私の解決策が機能しないのはなぜですか?
答え1
コマンドroute add
は無効であり、ルートはテストされて無効と判断されたため削除された可能性があります。
理由は、二重 NAT の状況があるためです。使用している仮想マシン ソフトウェアには、仮想マシンの DHCP と NAT を実行する独自の仮想ルーターがあります。ホスト コンピューターにはその仮想ルーターへのルートがないため、何も転送できません。
この場合、仮想ネットワークを NAT ではなくブリッジとして定義することをお勧めします。