ネットワークを介した特定のIPルーティング

ネットワークを介した特定のIPルーティング

仮想マシンでWindowsを実行するLinuxホストがあります。ホスト(Net1、IP-B)は、WLANを介してルータ(Net1、IP-A)に接続されます。このネットワークには1台のマシン(Net1、IP-C)があります。ホストには、VM(Net2、IP-X)用の仮想ネットワークカードがあります。最後に、ゲストはホスト(Net2、IP-Y)に接続します。ホストからIP-CとIP-Yをpingできます。

ゲストは期待どおりにインターネットとIP-Cをpingできません。

今、ゲストはIP-Cとのみ会話したいと思います。どのように注文する必要がありますか?

ホストにパスを追加しようとしています。

ip route add IP-C via IP-Aまたはip route add IP-C dev wlan0

どちらもpingを許可しません。

ベストアンサー1

私はあなたに提供します:

  1. ホストでiptablesを設定します。

    iptables -P FORWARD DROP
    iptables -A FORWARD -i Net2 -o Net1 -i IP-Y -o IP-C -j ACCEPT
    iptables -A FORWARD -i Net1 -o Net2 -i IP-C -o IP-Y -j ACCEPT
    
  2. ホストでパケット転送を有効にします。

    sysctl net.ipv4.ip_forward=1
    
  3. 他のシステムのホストへの固定パスを設定します。

    ip route add IP-Y via IP-A
    
  4. 仮想マシンでデフォルトパスを設定します(まだ実行していない場合)。

    ip route add default via IP-X
    

おすすめ記事