
仮想マシンで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
私はあなたに提供します:
ホストで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
ホストでパケット転送を有効にします。
sysctl net.ipv4.ip_forward=1
他のシステムのホストへの固定パスを設定します。
ip route add IP-Y via IP-A
仮想マシンでデフォルトパスを設定します(まだ実行していない場合)。
ip route add default via IP-X