您的位置:首页 > 其它

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

2017-11-25 12:54 387 查看
查看iptables表中链的命令,如查看filter表:

iptables -t filter -L


介绍iptables命令

iptables -t table 命令 chain rules -j target
table可以是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 -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       icmp --  anywhere             anywhere
REJECT     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 route
192.168.5.1 via 192.168.5.1 dev eth2.2  metric 1
255.255.255.255 dev br0  scope link
192.168.5.0/24 dev eth2.2  proto kernel  scope link  src 192.168.5.105  metric 11
192.168.0.0/24 dev br0  proto kernel  scope link  src 192.168.0.3
default 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.3
iptables -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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  防火墙 iptables