实例解析iptables在防火墙的应用

来源:互联网 发布:淘宝海外全球站注册 编辑:程序博客网 时间:2024/05/17 01:09

查看iptables表中链的命令,如查看filter表:

iptables -t filter -L

介绍iptables命令

iptables -t table 命令 chain rules -j targettable可以是filter nat mangle 默认为filter命令-P 定义默认策略-A 在规则列表的最后增加一条规则-I 在指定的位置插入一条规则-D 删除一条规则-R 替换规则列表中的某个规则-F 删除表中所有的规则

这里写图片描述
以上规则从上往下匹配,匹配到合适的规则数据包则不继续往下匹配,如上图,filter表中匹配到INPUT链的icmp,则下面的规则不走。反之,如果INPUT链下面的规则都不匹配,则匹配默认策略(pollicy ACCEPT)
修改默认策略命令:

iptables -t filter -P FORWARD DROP//将上图的ACCEPT修改为DROP

这里写图片描述

以下内容请结合上图查看,否则内容可能看不懂

实例:

添加一条命令不允许ping通路由器本身,根据上一篇Netfilter框架可以知道Ping包通过链路层走INPUT链。
规则添加如下:

iptables -t filter -I INPUT -p icmp -j DROP//-I INPUT表示将该规则插入到INPUT链的第一条规则iptables -t filter -LChain INPUT (policy ACCEPT)target     prot opt source               destinationDROP       icmp --  anywhere             anywhereREJECT     all  --  anywhere             anywhere            //删除该规则iptables -t filter -D INPUT 1

iptables 匹配选项

-i 指定数据包从那个网络接口进入,如ppp0,eth0和eth1等
-o 指定数据包从哪个网络接口输出,如ppp0,eth0和eth1等
-p 协议类型 指定数据包匹配的协议,如TCP,UDP,和ICMP等
-s 指定数据包匹配的源地址
-d 指定数据包的目标地址
–sport 指定数据包匹配的源端口,可以使用“起始端口号:结束端口号”的格式指定一个范围的端口
– dport 目标端口号:指定数据包匹配的目标端口号,可以使用”起始端口号:结束端口号“的格式指定一个范围的端口

实例

/*初始环境路由器LA口网络接口为br0,默认IP为192.168.0.3.WAN口为eth2.2,上层路由器默认IP为192.168.5.1.默认路由走eth2.2*/# ip route192.168.5.1 via 192.168.5.1 dev eth2.2  metric 1255.255.255.255 dev br0  scope link192.168.5.0/24 dev eth2.2  proto kernel  scope link  src 192.168.5.105  metric 11192.168.0.0/24 dev br0  proto kernel  scope link  src 192.168.0.3default via 192.168.5.1 dev eth2.2 equalize//1.设置路由器网络接口禁止电脑Ping路由器iptables -t filter -I INPUT -i eth2.1 -p icmp -j DROP//因为:电脑ping路由器走的是INPUT链//2.设置路由器网络接口禁止电脑ping通上层路由器192.168.5.1,但是能ping通路由器本身192.168.0.3iptables -t filter -I FORWARD -o eth2.2 -p icmp -j DROP//因为:电脑ping上层路由器,需要192.168.0.3的路由器做路由转发,走的是FORWARD链,然后通过eth2.2接口出去,查找上层路由192.168.5.1,禁止出去的网络接口转发数据即可//禁止电脑访问192.168.0.3路由器的界面iptables -t filter -I INPUT -p tcp --dport 80 -j DROP//因为:http界面的目的端口是80

参考:

http://www.zsythink.net/archives/1764

注意:


只做SNAT时,我们并不用手动进行DNAT设置,iptables会自动维护NAT表,并将响应报文的目标地址转换回来。
配置DNAT时,并不能正常的DNAT,经过测试发现,将相应的SNAT同时配置后,即可正常DNAT。

原创粉丝点击