iptables 防火墙及NAT技术

来源:互联网 发布:真趣网络 编辑:程序博客网 时间:2024/06/07 14:24
定义:



第一种防火墙:

第二种防火墙:proxy





第三种防火墙:TCP wrapper (略)

防火墙的布线:


第一种:单一网络 单一路由器:

第二种:内部网络需要更安全的子网防火墙



3,正式看看netfile的实现iptables封包过滤防火墙(在内核2.6以后支持)首先,规则:

例子


上上图(即9-3-1)的图的规则仅仅是这个图中的某个表格中的一个链。(某个chain)
具体看看有那些表格和每个表格中有哪些链

每个表格各个链之间的关系:


简要分析下ABC三条路径:

由于managle表格很少用到,我们拿掉它之后在看:


三 ,配置各个链表的例子:



第二部分:NAT服务

在前面的NAT介绍中,介绍了其基本框架。见《VPN+NAT》部分。那么NAT的原理是什么了,它是怎样实现的。 

即使用iptables可以用来修改包的头部,这就是NAT原理的核心。前面说过的三张表,现在主要使用NAT表来完成其功能。首先看看,网络架构:


然后看看iptables主要表和和链在NAT环境下的使用:

如果LAN中的任何一台机器在NAT方式下想要发包出去,它在NAT服务器(即那个防火墙路由器)下面是怎样发出去的。。

即路径B这里重点是第1 4 两步。即主要修改包的ip地址PERROUTING修改目标ip  Dest   NAT  DNATPOSTROUTING修改源ip   Source NAT  SNAT先看SNAT发包

再看收包:



注:收包用到了perrouting


前面说的是SNAT,主要是为了让LAN中的用户使用外面的服务。那么要是在LAN里面架设服务器,使得外面的可以使用LAN中的服务呢?那就要用到DNAT
2 DNAT



小结:------------> 请求外面的服务 ,用到POSTRUTINGSNAT<------------ 向外面提供服务, 用到PRERUTINGDNAT例子1:设定POSTRUTING链。------------> 请求外面的服务 ,用到POSTRUTINGSNAT先看看网络架构,如图:


参数设定:LAN 192.168.100.0/24  

linux NAT服务器有两个接口,左边的为eth1192.168.100.254, LAN在同一私有网                        右边的为eth0,公共IP 
那么怎么设定NAT,使LAN访问外面的世界。首先,接受从LANeth1的包iptables -A INPUT -i eth1 -j ACCEPT再次,是NAT具有转发功能。echo “1”  > /proc/sys/net/ipv4/ip_forward最后,添加POSTRUTING链规则。Iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQCERADE(经过上面的练习,这个应该看得懂)LAN中的主机,它们的gateway就设置为NATeth1 192.168.0.254例子2:设定PRERUTING链。<------------ 向外面提供服务,用到PRERUTINGDNAT

基本上这个图就说明了怎样设置DNAT

0 0