请问nat 和路由的关系
内网服务器在外网网关上做snat dnat, 网关上是先走的路由还是先走的nat?
能帮我贴下内核的源码吗?
有时间的话帮我解释下数据包的流程吧。。 先拜谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
内网服务器在外网网关上做snat dnat, 网关上是先走的路由还是先走的nat?
能帮我贴下内核的源码吗?
有时间的话帮我解释下数据包的流程吧。。 先拜谢了。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
回复 1# funtasty
这么说吧,如果是网关设备,应该是先走 dnat,然后路由,然后 snat。
这个流程,不是一两句话可以说清楚的。建议还是自己搜一下网络数据包的手法流程,不明白的发帖问。
回复 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 的提示呢?
呵呵 辛苦版主了。 我是你的粉丝.呵呵。
回复 3# funtasty
这句话让我很有鸭梨啊
回复 3# funtasty
你这里的问题整理的不是很清晰啊,建议把问题 1、2、3 的罗列一下吧
回复 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中走了多少次协议栈呢?
回复 4# Godbach
真的。 真心崇拜呀。
回复 6# funtasty
我觉得你这里想知道的是一个数据包进入 IP 层之后,被那几个关键点处理吧?
回复 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也说过不用。。。
求真相。。~
src ---------> fw ---------->dst
dnat snat
src<----------fw <----------dst
snat dnat
对吗?