防火牆iptables 應用

iptables基本語法格式
iptables -t表名 命令選項 鏈名 條件匹配 -j目標動作或跳轉
-A 在指定鏈的末尾添加一條規則
-D 刪除指定鏈中某一條規則,按規則號或內容確定要刪除的規則
-I 在指定鏈中插入一條新規則,若未指定插入位置,默認在鏈的開頭
-R 修改、替換指定鏈中的一條規則,按規則號或內容確定要替換的規則
-L 列出指定鏈中所有規則進行查看,未指定鏈名,列出所有鏈
-F 清空指定鏈中所有規則,若未指定鏈名,則清空表中所有鏈內容
-N 新建一條用戶自定義規則鏈
-X 刪除表中用戶自定義規則鏈
-P 設置指定鏈的默認策略
-n 使用數字形式顯示輸出信息,如顯示IP非主機名
-v 查看規則列表時顯示的詳細信息
-V 查看版本信息
-h 查看命令幫助信息
--line-numbers 查看規則列表時,顯示規則在鏈中的順序號

具體應用
A.刪除、清空規則
1.刪除filter表INPUT鏈的第二條規則
iptables -D INPUT 2
2.不指定表名,默認清空filter表
iptables -F
3.清空nat/mangle表所有規則
iptables -t nat -F
iptables -t mangle -F
4.刪除filter中使用者自定義的規則鏈
iptables -X

B.設置規則鏈的默認策略
1.將filter表中FORWARD規則的默認策略設定爲DROP
iptables -t filter -P FORWARD DROP
2.將filter表中OUTPUT規則默認策略設置爲ACCEPT
iptables -P OUTPUT ACCEPT

C.查看、替換規則
1.將INPUT鏈中原來編號爲3的規則內容替換爲 -j ACCEPT。注意編號3規則需要存在,否則報錯
iptables -R INPUT 3 -j ACCEPT


2.查看filter表中INPUT鏈中的所有規則,同時顯示各規則順序號
iptables -L INPUT --line-numbers


3.-L需要放在最後,以數字形式顯示地址和端口號
iptables -nvL

D.具體的規則匹配
1.丟棄從外網接口eth1進入防火牆本機的源地址爲私網地址的數據(默認通過)
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
2.某個網段掃描主機,希望封堵IP地址段,兩小時後解封
iptables -I INPUT -s 10.20.30.0/24 -j DROP
iptables -I FORWARD -s 10.20.30.0/24 -j DROP
#at now +2 hours
at>iptables -D INPUT 1
at>iptables -D FORWARD 1
at>EOF
3.拒絕轉發來自192.168.1.11主機的數據
iptables -A FORWARD -s 192.168.1.11 -j REJECT
4.允許轉發來自192.168.0.0/24網段的數據
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
5.允許或拒絕ipcp 數據包   協議匹配
iptables -I INPUT -p icmp -j REJECT/ACCEPT
6.允許轉發除icmp以外所有數據包 !取反
iptables -I INPUT -p !icmp -j ACCEPT
7.允許202.13.0.0/16用SSH遠程登陸防火牆主機 端口匹配
iptables -A INPUT -p tcp--dport 22 -s 202.13.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp--dport 22 -j DROP
8.允許本機開放從TCP端口20-1024提供的服務 端口匹配
iptables -A INPUT -p TCP --dport 20:1024  -j ACCEPT
iptables -A OUTPUT -p TCP --sport 20:1024  -j ACCEPT
9.允許轉發來自192.168.0.0/24網絡的DNS解析 端口匹配
iptables -A FORWARD -p udp -s 192.168.0.0/24 --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.0.0/24 --sport 53 -j ACCEPT
10.拒絕從外網接口eth1直接訪問防火牆本機數據包,但是允許相應防火牆TCP請求的數據包進入 TCP標記匹配
iptables -P INPUT DROP
iptables -I INPUT -i eth1 -p tcp--tcp-flags SYN,RST,ACK SYN -j ACCEPT
iptables -I INPUT -i eth1 -p tcp--tcp-flags!--syn -j ACCEPT
11.禁止其它主機ping防火牆主機,但是允許從防火牆上ping其它主機,允許接收ICMP迴應數據 ICMP類型匹配
iptables -A INPUT -p icmp--icmp-type Echo-Request -j DROP
iptables -A INPUT -p icmp--icmp-type Echo-Replay -j ACCEPT
iptables -A INPUT -p icpm--icmp-type destination-Unreachable -j ACCEPT
Echo-Request 數字代碼爲8 ,請求
Echo-Replay 數字代碼爲0.回顯
destination-Unreachable .3  目標不可到達
 

 導出、導入防火牆規則
1.iptables-save  
把當前設置的防火牆規則信息輸出到終端  將當前調試好的 iptables規則保存到配置文件,並通過 iptables服務腳本自動加載
# iptables-save > /etc/sysconfig/iptables  或  service iptables save
# service iptables restart
# chkconfig - -level 35 iptables on 
 
2.iptalbes-restore  
從已保存的配置文件中導入 iptables規則
# iptables-retore < /etc/sysconfig/iptables

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章