iptables使用示例
- 1.系統的INPUT和OUTPUT默認策略為DROP;
iptables -P INPUT DROP iptables -P OUTPUT DROP
- 2.限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字段的頁面不允許訪問;web服務器僅允許響應報文離開本機;
iptables -A INPUT -d x.x.x.x -p tcp --dport 80 -m time --weekdays Mon -j ACCEPT iptables -A INPUT -d x.x.x.x -p tcp --dport 80 -m limit --limit 100/second -j ACCEPT iptables -A OUTPUT -s x.x.x.x -p tcp --sport 80 -m string -algo bm --string "admin" -j REJECT iptables -A OUTPUT -s x.x.x.x -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
- 3.在工作時間,即周一到周五的8:30-18:00,開放本機的ftp服務給172.16.0.0網絡中的主機訪問;數據下載請求的次數每分鐘不得超過5個;
內核加載模塊:modprobe nf_conn_ftp 放行命令連接請求:iptables -A INPUT -s 172.16.0.0 -d x.x.x.x -p tcp --dport 21 -m time ! --weekdays Sat,Sun --timestart 08:30 --timestop 18:00 -m limit --limit 5/minute -j ACCEPT 放行數據連接請求:iptables -A INPUT -s 172.16.0.0 -d x.x.x.x -p tcp -m time ! --weekdays Sat,Sun --timestart 08:30 --timestop 18:00 -m limit --limit 5/minute -m state --state ESTABLISED,RELATED -j ACCEPT 放行響應數據:iptables -A OUTPUT -d 172.16.0.0 -s x.x.x.x -p tcp -m state --state ESTABLISHED -j ACCEPT
- 4.開放本機的ssh服務給172.16.20.1-172.16.20.100中的主機,新請求建立的速率一分鐘不得超過2個;僅允許響應報文通過其服務端口離開本機;
iptables -A INPUT -d x.x.x.x -p tcp --dport 22 -m iprange --src-range 172.16.20.1-172.16.20.100 -m limit --limit 2/minute -j ACCEPT iptables -A OUTPUT -s x.x.x.x -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
- 5.拒絕TCP標志位全部為1及全部為0的報文訪問本機;
iptables -A INPUT -d x.x.x.x -p tcp --tcp-flags ALL ALL -j REJECT iptables -A INPUT -d x.x.x.x -p tcp --tcp-flags ALL ALL -j REJECT
- 6.判斷下述規則的意義
- iptables -N clean_in
自定義名為clean_in的新鏈
- iptables -A clean_in -d 255.255.255.255 -p icmp -j DROP
在自定義鏈上實現過濾,丟棄目標地址是與本機同網段的所有主機且協議類型為icmp的數據包
- iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP
在自定義鏈上實現過濾,丟棄目標地址是172.16.0.0網段的所有主機且協議類型為icmp的數據包
- iptables -A clean_in -p tcp ! –syn -m state –state NEW -j DROP
在自定義鏈上實現過濾,丟棄tcp標志位syn為0而狀態為NEW的數據包
- iptables -A clean_in -p tcp –tcp-flags ALL ALL -j DROP
在自定義鏈上實現過濾,丟棄tcp標志位全為1的數據包
- iptables -A clean_in -p tcp –tcp-flags ALL NONE -j DROP
在自定義鏈上實現過濾,丟棄tcp標志位全為0的數據包
- iptables -A clean_in -p tcp -d 172.16.100.7 -j RETURN
在自定義鏈上實現過濾,對于協議為tcp且目標主機為172.16.100.7的數據包返回主鏈進一步處理
- iptables -A INPUT -d 172.16.100.7 -j clean_in
在INPUT鏈上實現過濾,對于目標主機為172.16.100.7的數據包調用自定義鏈clean_in進一步處理
- iptables -A INPUT -i lo -j ACCEPT
在INPUT鏈上實現過濾,放行流入本地回環接口lo的數據包
- iptables -A OUTPUT -o lo -j ACCEPT
在OUTPUT鏈上實現過濾,放行流出本地回環接口lo的數據包
- iptables -N clean_in
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87806