iptables做SNAT转换后数据包的流向问题

zb1514029177160 发布于 2018/07/15 12:59
阅读 537
收藏 1

【深圳】源创会:5.26下午、轰趴馆等你”

在双网卡linux系统中:

enp5s0 接入外网,ip :192.168.1.107

enp4s0 设置静态ip :192.168.2.1 ,并在该网口上搭建dhcp服务器,再接入PC2到该网口,PC2获取到ip: 192.168.2.100

现在我要让 PC2能通过enp4s0上外网,设定如下iptables规则:

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o enp5s0 -j MASQUERADE  \\从enp4s0来的数据包都伪装成enp5s0的数据从enp5s0出去

iptables -t nat -A PREROUTING -s 192.168.2.0/24 -p udp --dport 53 -j DNAT --to-destination 114.114.114.114  \\ 192.168.2.0/24的解析dns都通过114.114.114.114

即把enp4s0中进来的数据包通过地址转换后从enp5s0发送出去,这样就能上外网了,我的疑问是,enp4s0出去的数据包通过enp5s0出去后源地址经过NAT转换成enp5s0的地址了,那么同enp5s0的收到的数据包怎么才能正确的返回到enp4s0呢

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部