定义:
第一种防火墙:
第二种防火墙: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 DNAT POSTROUTING修改源ip Source NAT SNAT 先看SNAT 发包
再看收包:
注:收包用到了perrouting
前面说的是SNAT,主要是为了让LAN中的用户使用外面的服务。那么要是在LAN里面架设服务器,使得 外面的可以使用LAN中的服务呢? 那就要用到DNAT了
2 DNAT
小结: ------------> 请求外面的服务 ,用到POSTRUTING链 SNAT <------------ 向外面提供服务, 用到PRERUTING链 DNAT 例子1:设定POSTRUTING链。------------> 请求外面的服务 ,用到POSTRUTING链 SNAT 先看看网络架构,如图:
参数设定:LAN 为192.168.100.0/24
linux NAT服务器有两个接口,左边的为eth1,192.168.100.254, 和LAN在同一私有网 右边的为eth0,公共IP
那么怎么设定NAT,使LAN访问外面的世界。 首先,接受从LAN到eth1的包 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就设置为NAT的eth1 192.168.0.254 例子2:设定PRERUTING链。<------------ 向外面提供服务,用到PRERUTING链 DNAT![]()
基本上这个图就说明了怎样设置DNAT。