Iptables小记
程序员文章站
2022-05-28 12:35:35
...
清空防火墙操作:
iptables -F
iptables -X
iptables -Z
一些例子:
(1)允许指定IP地址访问22端口:
iptables -I INPUT -s 192.168.0.0/24 -d 10.0.0.11 -p tcp --dport 22 -j ACCEPT
(2)全局封22端口:
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
(3)指定位置插入规则链:
iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT
(4)修改默认跳转规则:
iptables -P/--policy INPUT DROP
(5)查看每个规则链的序号:
iptables -L -n --line-numbers
(6)删除指定位置规则链:
iptables -D INPUT 2
(7)指定IP外的所有地址都拒绝:
iptables -I INPUT ! -s 10.0.0.0/24 -p -tcp --dport 22 -j DROP
(8)禁ping:
iptables -I INPUT -p icmp --icmp-type 8/any -j DROP
(9)从eth0网卡流入流出的数据都ACCEPT:
iptables -A INPUT -d 192.168.56.136 -i eth0 -j ACCEPT
iptables -A OUTPUT -s 192.168.56.136 -o eth0 -j ACCEPT
扩展匹配实例:
(1)封端口范围:
iptables -I INPUT -m multiport --dports 22,80,8080 -j DROP
(2)指定IP地址范围访问目的IP的某些端口:
iptables -I INPUT -d 192.168.56.136 -p tcp -m multiport --dports 22,23,80 -m iprange --src-range 192.168.56.1-192.168.56.100 -j ACCEPT
iptables -I OUTPUT -s 192.168.56.136 -p tcp -m multiport --sports 22,23,80 -m iprange --dst-range 192.168.56.1-192.168.56.100 -j ACCEPT
(3)当用户访问本机某个网页时,网页内容包含某些字符串的时候拒绝访问
需要用到string字符串匹配:
--algo {bm|kmp}算法
bm=Boyer-Moore
kmp=knuth-pratt-Morris
[!] --string 'Pattern' 注意需要用单引号,而非双引号
iptables -I INPUT -m string --algo bm --string 'movie' -j REJECT
(4)服务器在14:00-16:00不允许访问
iptables -I INPUT -d 192.168.56.136 -p tcp --dport 80 -m time --timestart 14:00 --timestop 16:00 -j REJECT
下一篇: Linux iptables