我在 vmplayer 上安装了 3 台虚拟机。我已将其中两台虚拟机设置为两个不同网络的主机。Host1 ip=192.168.1.13 gateway=192.168.1.11
和Host2 ip=192.168.2.14
和gateway=192.168.2.12
。现在我想将第三台虚拟机用作路由器,它可以将数据包从第一台虚拟机传输到第二台虚拟机,该虚拟机有两个适配器eth0 ip=192.168.1.11
和eth1 ip=192.168.2.12
。Host1 连接到eth0
,Host2 连接到eth1
。我应如何配置路由器,以便两台主机可以通信并NAT
执行“连接”?请尽快回复。
答案1
你没有说是什么操作系统,所以你必须处理假设——所以假设 Debian 衍生产品
启用转发。在 /etc/sysctl.conf 中设置:net.ipv4.ip_forward=1
这就是 ping A -> B 所需要的全部操作。
因为某些原因您也需要 NAT,所以在 /etc/rc.local 中添加您需要的模块 - 例如:
modprobe ipt_conntrack
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_irc
modprobe ip_nat_snmp_basic
另外在 /etc/rc.local 添加:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.11
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.2.12
例如,如果您希望网关也能访问互联网,则可以为其提供第三个接口,例如 eth2,其 IP 地址在您的 LAN 上,例如 10.0.0.200,然后添加以下内容:
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 10.0.0.200
或者如果它有一个 DHCP 地址(即,它不是一个静态地址),那么请改为执行此操作
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
最后确保网关有指向 Internet LAN 网关、光纤线路或 DSL 调制解调器的默认路由。如果是 DHCP 分配的,则此操作将自动完成。