利用iptables丢弃某ip数据包

利用iptables丢弃某ip数据包

1      背景

测试的时候,有些需要模拟某设备和环境断连的场景(比如设备断连告警、主机代理断连告警),以前普遍的做法是去机房拔设备网线,这个方法真的很原始很暴力,验十六种设备的时候,真的有点崩溃啊,线拔了忘插回去也是有的。每当觉得方法很憋屈的时候,就真的该努力想想怎么“偷懒”了!查阅CSDN、BAIDU后,发现Linux的iptables可以简单的实现丢弃某ip的数据包模拟断连场景。

2      简介

iptables 是与 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。(内容来自百科http://baike.baidu.com/view/504557.htm

3      应用

下面直接介绍怎么增加一条规则,丢弃某个ip的数据包。

 

1)使用  -L  列出所有规则

vmCIE:/ #     iptables     -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination       

 

备注:IP 连通性 通信 测试

vmCIE:/ #  ping 10.71.170.100
PING 10.71.170.100 (10.71.170.100) 56(84) bytes of data.
64 bytes from 10.71.170.100: icmp_seq=1 ttl=61 time=0.704 ms
64 bytes from 10.71.170.100: icmp_seq=2 ttl=61 time=0.802 ms            =========>检查发现能 正常 ping通
^C
--- 10.71.170.100 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.704/0.753/0.802/0.049 ms

 

2)插入一条规则,丢弃此ip 的所有协议请求

vmCIE:/ #  iptables  -I   INPUT   -p   all   -s 10.71.170.100   -j   DROP

vmCIE:/ # iptables  -L                                        ===========>列出所有规则

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       all  --  10.71.170.100        anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

 

3)测试 丢弃规则内的IP 连通性


vmCIE:/ # ping 10.71.170.100
PING 10.71.170.100 (10.71.170.100) 56(84) bytes of data.
^C
--- 10.71.170.100 ping statistics ---
85 packets transmitted, 0 received, 100% packet loss, time 84312ms           =========>
检查发现 无法 ping通

4)清除 规则列表的 限制

vmCIE:/ #  iptables     -F

 

5)使用  -L  列出所有规则

vmCIE:/ #     iptables     -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

    
6)IP 连通性 通信 测试

vmCIE:/ #  ping 10.71.170.100
PING 10.71.170.100 (10.71.170.100) 56(84) bytes of data.
64 bytes from 10.71.170.100: icmp_seq=1 ttl=61 time=0.704 ms
64 bytes from 10.71.170.100: icmp_seq=2 ttl=61 time=0.802 ms            =========>检查发现能 正常 ping通
^C
--- 10.71.170.100 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.704/0.753/0.802/0.049 ms

 

=============> 测试的时候,有些需要模拟某设备和环境断连的场景;就这样完成。无需去实验室机房插拔网线或后插板等繁琐体力操作!!!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值