DE-SNAT在何时进行处理?和PREROUTING一起?
有一个局域网192.168.0.0,一个网关,内网接口为192.168.0.1,外网接口为222.222.222.222。
那么局域网内一台机器192.168.0.2发出去一个包到20.1.1.1的话,
首先发送包到192.168.0.1的网关机器上,然后在网关机器上进行的操作:
1.在MANGLE表中的PREROUTING
2.在NAT 表中的PREROUTING
3.然后做路由选择,发现包不是发给网关自己的
4.在MANGLE表中的FORWARD做处理
5.在FILTER表中的FORWARD做处理
6.在MANGLE表中的POSTROUTING
7.在NAT 表中的POSTROUTING做SNAT处理,成为以222.222.222.222:XXX为IP的地址。
8.发到外网上
那么假如说这台内网的机器发到外网后,收到一个包,那收到的这个包怎么走的呢?
1.在网关的外网口上,收到这个包,这个包的目的IP为222.222.222.222:XXX
2.这下面一部该怎么走,如何处理呢?按照流程图的话,应该和上面的流程是一样的,因此处理的机制是一样的,那样的话就先做
1.在MANGLE表中的PREROUTING
2.在NAT 表中的PREROUTING,在这里的话,我想问,这个地方处理东西吗?如果不处理的话,那DE-SNAT是在什么地方处理的?也就是反向SNAT是什么地方处理呢?如果这个地方不处理,由于前面的目的IP是本机的IP,所以就需要进INPUT链了,也就是进去网关机器了,从网关机器OUTPUT出来后再到NAT的POSTROUTING处理,然后再转换回来原来的局域网IP:192.168.0.2了,那样的话,不是浪费资源吗?似乎又不台合理了?是不是这样呢?
另外,为什么在做SNAT的时候,只要一条命令就可以了呢?
iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 194.236.50.155:20000
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是讲包返回嘛?ip_conntrack有记录
应该是nat prerouting 吧
[ 本帖最后由 skyy23 于 2006-9-21 00:36 编辑 ]
哦?
是在PREROUTING之前是吗?
那样啊,那样的话就可以理解了啊。
但是怎么会在它之前呢?
在PREROUTING之前