netfilter_netfilter安装_linux netfilter(3)

电脑杂谈  发布时间:2017-03-09 11:06:42  来源:网络整理

NAT操作也是以netfilter节点形式挂接在相应的处理点上的,DNAT挂接在NF_IP_PRE_ROUTING点上,优先级高于 FILTER低于MANGLE,表示在mangle表后处理,但在filter表前处理数据包;SNAT挂接在NF_IP_POST_ROUTING点上,优先级低于FILTER,表示在filter表后面处理数据包。

NAT分为源NAT和目的NAT两种,源NAT是指转换前源IP地址和转换后源IP地址不同,数据进入防火墙后,防火墙将其源地址进行了转换后再将其发出,使外部看不到数据包原来的源地址,对于TCP/UDP协议的数据包,防火墙不仅修改地址,还通过修改源端口来区分不同内部地址的连接,因此NAT环境下一个合法IP最多可以有65535条TCP连接;目的NAT是指转换前目的IP地址和转换后目的IP地址不同(对于TCP/UDP协议,也可以改变端口号),数据进入防火墙后,防火墙将其目的地址进行了转换后再将其发出,使看不到数据包原来的目的地址。

NAT地址转换有两种主要类型:静态转换(Static Translation),动态转换(Dynamic Translations)。

静态转换是最简单的一种转换方式,它在NAT表中为每一个需要转换的内部地址创建了固定的转换条目,映射了唯一的全局地址。内部地址与全局地址一一对应。每当内部节点与外界通信时,内部地址就会转化为对应的全局地址。

动态转换,增加了网络管理的复杂性,但也提供了很大的灵活性。它将可用的全局地址地址集定义成NAT池(NAT pool)。对于要与外界进行通信的内部节点,如果还没有建立转换映射,边缘路由器或者防火墙将会动态的从NAT池中选择全局地址对内部地址进行转化。每个转换条目在连接建立时动态建立,而在连接终止时会被回收。这样,网络的灵活性大大增强了,所需要的全局地址进一步的减少。值得注意的是,当NAT池中的全局地址被全部占用以后,以后的地址转换的申请会被拒绝。这样会造成网络连通性的问题。所以应该使用超时操作选项来回收NAT池的全局地址。另外,由于每次的地址转换是动态的,所以同一个节点在不同的连接中的全局地址是不同的,这会使snmp的操作复杂化。

图1

端口地址转换(NAPT—Network address port translatin),是动态转换的一种变形。它可以使多个内部节点共享一个全局IP地址,而使用源和目的的TCP/UDP的端口号来区分NAT表中的转换条目及内部地址。这样,就更节省了地址空间。比如说,假设内部节点10.1.1.3,10.1.1.2都用源端口1723向外发送数据包。NAPT路由器把这两个内部地址都转换成全局地址192.168.2.2,而使用不同的源端口号:1492,1723。当接收方收到的源端口号为1492,则返回的数据包在边缘网关处,目的地址和端口被转换为10.1.1.3:1723;而接收到的源端口号为1723的,目的被映射到10.1.1.2:1723。

图2

• 应用数据被分割成T C P认为最适合发送的数据块。这和U D P完全不同,应用程序产生的

数据报长度将保持不变。由T C P传递给I P的信息单位称为报文段或段( s e g m e n t)(参见

图1 - 7)。在1 8 . 4节我们将看到T C P如何确定报文段的长度。netfilter

• 当T C P发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能

及时收到一个确认,将重发这个报文段。在第2 1章我们将了解T C P协议中自适应的超时

及重传策略。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-36628-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...