Iptables NAT转发设置

Iptables NAT转发设置

我有两台装有 CentOS7 的虚拟机:

  1. 网卡:内部网络 IP192.168.1.10带网关:192.168.1.254 enp0s3(客户端 1)(无直接连接到互联网)

  2. 网卡:内部网络 IP 192.168.1.254enp0s3 和 NAT IP 10.0.3.15enp0s8 (客户端2) (有互联网连接) (无网关)

目标是能够使用 Client1 ping 到例如 google.com,Client1 没有直接的互联网连接,但是有由 client2 转发的连接。

我如何使用 iptables 来实现这一点?

答案1

很简单。您必须在要执行 NAT 的机器上启用转发。您必须为此做两件事:

echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -P FORWARD ACCEPT

然后伪装输出到互联网执行以下操作:

iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE

我们假设您没有其他与此冲突的规则,并且客户端 2 可以访问互联网。您可以在执行此操作之前清除所有规则,iptables -F然后iptables -t nat -F启动我之前设置的规则。

相关内容