iptables学习总结2--模拟丢包

有时候我们需要模拟网络丢包,可以用一台Linux 作为网络通信的一方或网关, 在Linux上用 iptables 创建防火墙规则, 阻止某些包,而规则的有效时间可用sleep来设置,到了预期时间,把规则删除。 如此循环。用shell语言实现如下

iptables -A OUTPUT -p tcp --dst 111.111.11.1 --dport 8739 -j DROP
sleep 5
iptables -D OUTPUT -p tcp --dst 111.111.11.1 --dport 8739 -j DROP

常用规则解析

查看

iptables -nvL --line-number

  • -L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
  • -n 不对ip地址进行查,加上这个参数显示速度会快很多
  • -v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
  • --line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
添加

添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部 ,例如:添加一条规则到第2行

iptables -I INPUT 2 -s 111.111.11.1 -j DROP

删除

删除用参数: -D

iptables -D INPUT -s 111.111.11.1 -j DROP

有时候有些规则太长,删除时要写一大串,既浪费时间又容易写错,这时我们可以先使用–line-numbers查看出该条规则的行号,再通过行号删除

iptables -D INPUT 2

修改

修改使用R参数 ,将第三行改为accept

iptables -R INPUT 3 -j ACCEPT

你可能感兴趣的:(iptables学习总结2--模拟丢包)