Iptables小記

清空防火牆操作:

# 清除所有規則
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

NAT例子
(1)把訪問外網IP及端口的請求映射到內網某個服務的IP端口上

iptables -t nat -A PREROUTING -d 10.10.10.25 -p tcp --dport 80 -j DNAT --to-destination 192.168.56.136:8080
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章