DE-SNAT在何时进行处理?和PREROUTING一起?

发布于 2022-07-25 01:35:03 字数 1210 浏览 18 评论 3

有一个局域网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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

还不是爱你 2022-07-27 10:39:10

是讲包返回嘛?ip_conntrack有记录

应该是nat prerouting 吧

[ 本帖最后由 skyy23 于 2006-9-21 00:36 编辑 ]

风吹过旳痕迹 2022-07-27 10:21:00

哦?
是在PREROUTING之前是吗?
那样啊,那样的话就可以理解了啊。
但是怎么会在它之前呢?

浴红衣 2022-07-26 04:27:29

在PREROUTING之前

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文