请问nat 和路由的关系

发布于 2022-10-15 04:09:10 字数 93 浏览 21 评论 0

内网服务器在外网网关上做snat dnat, 网关上是先走的路由还是先走的nat?
能帮我贴下内核的源码吗?
有时间的话帮我解释下数据包的流程吧。。 先拜谢了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(9

壹場煙雨 2022-10-22 04:09:10

回复 1# funtasty

内网服务器在外网网关上做snat dnat, 网关上是先走的路由还是先走的nat?
能帮我贴下内核的源码吗?

这么说吧,如果是网关设备,应该是先走 dnat,然后路由,然后 snat。

有时间的话帮我解释下数据包的流程吧。。 先拜谢了。

   
这个流程,不是一两句话可以说清楚的。建议还是自己搜一下网络数据包的手法流程,不明白的发帖问。

◇流星雨 2022-10-22 04:09:10

回复 2# Godbach

OTE:内网服务器在外网网关上做snat dnat, 网关上是先走的路由还是先走的nat?
能帮我贴下内核的源码吗?

这么说吧,如果是网关设备,应该是先走 dnat,然后路由,然后 snat。

QUOTE:有时间的话帮我解释下数据包的流程吧。。 先拜谢了。

   
这个流程,不是一两句话可以说清楚的。建议还是自己搜一下网络数据包的手法流程,不明白的发帖问。   

是不是dnat在 prerouting 链上? 先做的dnat ? 到路由决断的那个钩子处在做路由?

那这样一种情况。 我在 外网网卡上做了dnat核snat。
内网发出去的数据包一共要走几次协议栈呢?
我看孤独阁 上写的是三次。
总体来说,netfilter的NAT整体思路比较清楚,读起来比较方便。在NAT info结构中的manips有6项,也就是说对同一个包应该可以作3次NAT。
请问下为什么是三次呢? 都是针对外网网卡做的nat?

我的环境是 外网网卡上做dnat。snat。 外网上做esp ipsec 。
但是一次数据包发出 经历了 4次nat。
分别是

nat in
nat out
esp out
nat local
nat out

那第1、2两次的nat是针对内网卡嘛? nat local 是内网卡向外网卡转发嘛?那外网卡为什么没有 nat in 的提示呢?

呵呵 辛苦版主了。 我是你的粉丝.呵呵。

盗梦空间 2022-10-22 04:09:10

回复 3# funtasty

   

呵呵 辛苦版主了。 我是你的粉丝.呵呵。

这句话让我很有鸭梨啊

夜夜流光相皎洁 2022-10-22 04:09:10

回复 3# funtasty

你这里的问题整理的不是很清晰啊,建议把问题 1、2、3 的罗列一下吧

北音执念 2022-10-22 04:09:10

回复 5# Godbach

  外网口 加上了snat 和dnat 。
1数据包从内网发到外网一地址,会走多少回协议栈呢?
2数据发送的时候是不是只做了snat 即修改数据包源地址。接受的时候只做了dnat呢?
3那在上述的环境中加上esp  ipsec加密。会增加多少次进入协议栈呢?

1。1.1.10 ------1.1.1.1~2.2.2.1-------2.2.2.2~3.3.3.1------3.3.3.10
                             设备1                           设备2

这样一个环境 在2.2。2.1(2) 上做snat dnat。 在2.2.2.1-2上做 ipsec  
那数据从1.1.1.10发到 2.2.2.2的时候在设备1中走了多少次协议栈呢?

从来不烧饼 2022-10-22 04:09:10

回复 4# Godbach

    真的。 真心崇拜呀。

毅然前行 2022-10-22 04:09:10

回复 6# funtasty

1数据包从内网发到外网一地址,会走多少回协议栈呢?

我觉得你这里想知道的是一个数据包进入 IP 层之后,被那几个关键点处理吧?

秋叶绚丽 2022-10-22 04:09:10

回复 8# Godbach

    是啊,被哪几个关键点处理了呀? 转发的数据包 是 prerouting , localin forward localout postrouting。 对么?

我在你的 博客里受到些启发。
http://blogold.chinaunix.net/u/9151/showart_91547.html

修改了 源地址或是 目的地址之后是否要重新路由呢?
那dnat 从进入网关到从网关出去 光nat就需要走 两次 协议栈 对么(一次是改源地址一次是改目的地址)?

那snat呢? 是和dnat一样吗?接受改目的 转发改源地址?

所以在网关上做了snat+dnat 需要走4次协议栈?(snat2次dnat2次?)

那这样 的话 做一个dnat 是否要对应一个snat呢? 这个我感觉不应该 。 我记得孤独阁的yfydz也说过不用。。。
求真相。。~

冰雪梦之恋 2022-10-22 04:09:10

src ---------> fw ---------->dst
          dnat              snat
src<----------fw <----------dst
          snat              dnat

对吗?

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