查看防火墙规则:
iptables -nvL –line-number
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
-n 不对ip地址进行查,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
添加一条规则到尾部
iptables -A INPUT -s 192.168.1.5 -j DROP
添加一条规则到第三行
iptables -A INPUT 3 -s 192.168.1.5 -j DROP
删除防火墙规则,把前面添加的规则,-A改成-D就可以删除该防火墙的规则了
iptables -D INPUT -s 192.168.1.5 -j DROP
命令规则比较长,则使用行号进行删除
先查看行号:iptables -nvL –line-number
再删除对应的规则:iptables -D input num l例如:iptables -D input 3
命令规则:
黑名单方式:
屏蔽某一个IP:iptables -I INPUT -s 123.45.6.7 -j DROP
iptables -A INPUT -i eth0 -p tcp -s IP -j DROP
屏蔽IP段:封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
将发往某一个IP的数据包丢掉:
iptables -I OUTPUT -s 123.45.6.7 -j DROP
白名单方式
只允许指定机器ssh连接本机
iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 –dport 22 -m state –state NEW,ESTABLESHED -j ACCEPT
模拟随机丢包率
iptables -A FORWARD -p icmp -m statistic –mode random –probability 0.31 -j REJECT //表示31%的丢包率或者-m random –average 5 -j DROP 表示模拟丢掉5%比例的包
模拟网络延时,这个需要linux下载和安装一个工具tc,tc还有很多其他的网络控制方法,tc 全名为 traffic control(流量控制)
tc qdisc add dev eth0 root netem delay 3000ms
可以在 3000ms 后面在加上一个延时,比如 ’3000ms 200ms‘表示 3000ms ± 200ms ,延时范围 2800 – 3200 之间.
其他常使用的命令
1.删除已有规则
在新设定iptables规则时,可以先用以下命令清除旧规则:
iptables -F
(or iptables –flush)
2.网口转发配置
对于用作防火墙或网关的服务器,一个网口连接到公网,其他网口的包转发到该网口实现内网向公网通信,假设eth0连接内网,eth1连接公网,配置规则如下:
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
3.端口转发配置
对于端口,我们也可以运用iptables完成转发配置:
iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 –dport 422 -j DNAT –to 192.168.102.37:22
以上命令将422端口的包转发到22端口,因而通过422端口也可进行SSH连接,当然对于422端口,我们也需要像以上“4.配置服务项”一节一样,配置其支持连接建立的规则。
4 DoS攻击防范
利用扩展模块limit,我们还可以配置iptables规则,实现DoS攻击防范:
iptables -A INPUT -p tcp –dport 80 -m limit –limit 25/minute –limit-burst 100 -j ACCEPT
–litmit 25/minute 指示每分钟限制最大连接数为25
–litmit-burst 100 指示当总连接数超过100时,启动 litmit/minute 限制
5.将丢弃包情况记入日志(没有尝试过)
使用LOG目标和syslog服务,我们可以记录某协议某端口下的收发包情况。拿记录丢包情况举例,可以通过以下方式实现。
首先自定义一个chain:
iptables -N LOGGING
其次将所有接收包导入LOGGING chain中:
iptables -A INPUT -j LOGGING
然后设置日志前缀、日志级别:
iptables -A LOGGING -m limit –limit 2/min -j LOG –log-prefix “IPTables Packet Dropped: ” –log-level 7
最后将包倒向DROP,将包丢弃:
iptables -A LOGGING -j DROP
另可以配置syslog.conf文件,指定iptables的日志输出。修改 修改使用-R参数
将第三行规则改为ACCEPT先看下当前规则:
[root@test ~]# iptables -nL –line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all – 192.168.1.1 0.0.0.0/0
2 DROP all – 192.168.1.2 0.0.0.0/0
3 DROP all – 192.168.1.5 0.0.0.0/0
修改:
[root@test ~]# iptables -R INPUT 3 -j ACCEPT
再查看下:
[root@test ~]# iptables -nL –line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP all – 192.168.1.1 0.0.0.0/0
2 DROP all – 192.168.1.2 0.0.0.0/0
3 ACCEPT all – 0.0.0.0/0 0.0.0.0/0
- 防火墙生效
防火墙修改后要先保存
再重新启动才会生效
保存:service iptables save
重启:service iptables restart
iptables 状态检测防火墙 iptables查看防火墙规则
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
IPtables 防火墙 FORWARD链 NAT
iptables filter中的三条链 iptables操作 配置forward链 配置SNAT
NAT iptables forward -
【Linux】防火墙| iptables | 查看防火墙状态 | 开放端口
linux | 防火墙 ,iptables
linux tcp/ip 重启 其他