通过网络路由特定 IP

通过网络路由特定 IP

我有一台在虚拟机中运行 Windows 的 Linux 主机。主机(Net1,IP-B)通过 WLAN 连接到路由器(Net1,IP-A)。该网络中有一台机器(Net1,IP-C)。主机有一个虚拟网卡到VM(Net2,IP-X)。最后,Guest 连接到 Host(Net2,IP-Y)。从主机上,我可以 ping IP-C 和 IP-Y)。

访客无法按预期 ping Internet 和 IP-C。

现在我希望 Guest 仅与 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
    

相关内容