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

查看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。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值