iptables规则使用
# 列举所有规则
iptables -L
# 清除规则
iptables -F
# 将链的记数的流量清零
iptables -Z
# 清除链
iptables -X
参数总结
iptables [-t filter/nat] [-A/I] [INPUT/OUTPUT/FORWARD] [-i/o interface] [-p tcp/udp/icmp/all] [-s ip/network] [--sport ports] [-d ip/network] [--dport ports] [-j ACCEPT/DROP]
- -t:不加时默认时filter(nat表:主要用处是网络地址转换、端口映射,fileter表: 主要用于过滤包)
- -A:追加到最后
- -I:第一行插入
- -i/o:指的是数据经过的网卡端口(如eth0、eth1)
- -p:指定协议
- -s:指定IP,可以是单个IP(192.168.1.122),或者是一个IP段(192.168.1.0/24),或者是一个域名(www.baidu.com)
- --sport:来源端口
- -d:指定目标ip
- --dport:目标端口
- -j:有ACCEPT DROP REJECT三个参数(ACCEPT是允许、DROP丢弃、REJECT拒绝。DROP与REJECT的区别在于,DROP直接不能访问,REJECT则先访问后拒绝)
iptables常用策略
删除一条规则:
方法① # 直接命令删除(-D后面接上之前添加时候的命令) iptables -D iptables -I INPUT -s 142.93.118.194 -j DROP 方法② # 先查看规则序号 iptables -L INPUT --line-numbers # 删除对应序号的规则(删除第n条规则) iptables -D INPUT n
封堵IP(142.93.118.194)
iptables -I INPUT -s 142.93.118.194 -j DROP
拒绝转发来自192.168.1.10主机的数据,允许转发来自192.168.0.0/24网段的数据
iptables -A FORWARD -s 192.168.1.11 -j REJECT iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
只允许管理员从125.13.0.0/16网段使用SSH远程登录防火墙主机
iptables -A INPUT -p tcp --dport 22 -s 125.13.0.0/16 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP
禁止BT连接
iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 24
参考文章:常见iptables使用规则场景整理