linux下的nat服务器架设实战(上)

linux下的nat服务器架设实战(上)

ID:22376358

大小:56.50 KB

页数:5页

时间:2018-10-28

linux下的nat服务器架设实战(上)_第1页
linux下的nat服务器架设实战(上)_第2页
linux下的nat服务器架设实战(上)_第3页
linux下的nat服务器架设实战(上)_第4页
linux下的nat服务器架设实战(上)_第5页
资源描述:

《linux下的nat服务器架设实战(上)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Linux下的NAT服务器架设实战(上)  NAT英文全称是Netasquerade),FreeBSD中的NATD或Windoangle不经常使用还在开发当中。我们下面主要介绍Nat表来实现NAT功能。    (1)用户使用iptables命令在用户空间设置NAT规则,通过使用用户空间iptables命令,可以构建用户自己的定制NAT规则。所有规则存储在内核空间的nat表中。根据规则所处理的信息包类型,将规则分组在链中。要做SNAT的信息包被添加到POSTROUTING链中。要做DNAT的信息包被添加到PREROUTI

2、NG链中。直接从本地出站的信息包的规则被添加到OUTPUT链中。  (2)内核空间接管NAT工作  图3是数据包穿越nat表的流程图    图3数据包穿越nat表的流程图  做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。属于一个流的包只会经过这12下一页....,。个表一次。如果第一个包被允许做NAT或Masqueraded,那么余下的包都会自动地被做相同的操作。也就是说,余下的包不会再通过这个表,一个一个的被NAT,而是自动地完成。这就是我们为什么不应该在这个表中做任何过滤的主要原因。P

3、REROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。图4是数据包穿越整个filter/iptables的流程图。      图4数据包穿越整个filter/iptables的流程图   图5是filter钩子函数在NAT模式(module)下的使用情况示意图。      图5filter钩子函数在NAT模式(module)下的使用情况示意图  (3)NAT工作步骤:  DNAT:若包是被送往PREROUTING链的,并且匹配了规则,则

4、执行DNAT或REDIRECT目标。为了使数据包得到正确路由,必须在路由之前进行DNAT。  路由:内核检查信息包的头信息,尤其是信息包的目的地。  处理本地进程产生的包:对nat表OUTPUT链中的规则实施规则检查,对匹配的包执行目标动作。  SNAT:若包是被送往POSTROUTING链的,并且匹配了规则,则执行SNAT或MASQUERADE目标。系统在决定了数据包的路由之后才执行该链中的规则。  3.与NAT相关的iptables命令格式  (1)命令格式:  ip

5、tables[-tnat]CMD[chain][rule-matcher][-jtarget]  -tnat:表示操作nat表  CMD:为操作命令  chain:为链名  rule-matcher:为规则匹配器  target:为目标动作  说明:iptables的语法非常复杂,要查看该工具的完整语法,应该查看其手册页。iptables中的指令,均需严格区分大小写。  (2)指定操作命令:  -A:在所选链的链尾加入一条规则;  -D:从所选链中删除一条匹配的规则;  -R:在所选链中替换一条匹配的规则;  -I:在

6、链内某个位置插入一条新规则;  -L:列出指定链的所有规则。  (3)规则匹配器  指定规则匹配器  匹配源地址  使用--source或--src或-s参数  匹配目的地址  使用--destination或--dst或-s参数  匹配网络接口  对于PREROUTING链,只能用-i参数匹配进来的网络接口  对于POSTROUTING链和OUTPUT链,只能用-o参数匹配出去的网络接口  匹配协议及端口  使用-p选项来匹配协议  对于udp和tcp协议,还可以用--sport和--dport选项来分别匹配源端口和

7、目的端口。  (4)动作目标  指定与NAT有关的目标动作:  用于设置IP伪装:  -jMASQUERADE  用于设置端口转发:  -jREDIRECT--to-portport-number  Linux网络地址转换(NAT)也可以使用iptables进行配置。从根本上来说,NAT是一种使用连接将来自本地子网地址的封装报文在发送(在OUTPUT链上)之前作为外部WAN地址进行跟踪的方法。执行NAT的网关/路由器需要记住哪台本地机器连接到了哪台远程机器上,当报文从远程机器上返回时,它需要对这种地址转换反向进行解析。

8、  尽管从过滤器的角度来看,我们可以简单地认为NAT并不存在。我们指定的规则应该使用真正的本地地址,而不必关心NAT如何封装它之后将其呈现给外部世界。  总结:本文介绍了NAT原理以及NAT在Linux应用环境下的实现,下篇文章笔者将结合具体应用情况构建Linux下的NAT服务器,敬请关注!上一页12....,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。