linux的iptables設置


添加規則 -A 在鏈末尾追加一條規則
-I 在鏈開頭或某序號前插入一條規則
查看規則 -L 列出所有規則
-n 數字顯示地址和端口信息
-v 詳細信息
-line-numbers 顯示規則序號
刪除規則 -D 刪除某個序號的規則
-F 清空規則
默認規則 -P 指定默認規則

 

 

 

 

 

 

 

 

 

 

 

 

1.查看規則
iptables -L -n
以數字形式查看filter表INPUT鏈的所有規則
iptables -nL INPUT
查看filter表INPUT鏈的所有規則,並顯示規則序號
iptables -L INPUT --line-numbers

2.增加規則
iptables -A INPUT -p tcp -j ACCEPT //在filter表INPUT鏈的末尾添加一條規則,允許TCP協議的數據包通過
iptables -I INPUT -p udp -j ACCEPT //在filter表INPUT鏈的首行添加一條規則,允許UDP協議的數據包通過
iptables -I INPUT 2 -p icmp -j ACCEPT //在filter表INPUT鏈的第二行添加一條規則,允許icmp協議的數據包通過

3.清除原規則
iptables -F 清除預設表filter中的所有規則鏈的規則
iptables -X 清除預設表filter中使用者自定鏈中的規則
iptables -D INPUT 2 刪除filter表INPUT鏈的第二條規則

4.設置規則
iptables -P FORWARD DROP //將filter表FORWARD鏈的默認策略設為丟棄
iptables -P OUTPUT ACCEPT //將filter表OUTPUT鏈的默認策略設為允許

設置ssh訪問
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -I INPUT -p icmp -j DROP //丟棄通過icmp協議訪問本機的數據包
iptables -A FORWARD ! -p icmp -j ACCEPT //允許轉發除了icmp協議之外的數據包
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP //防止Xmas掃描
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP //防止TCP Null掃描
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP //拒絕TCP標記為SYN/ACK,但連接狀態為NEW的數據包,防止ACK欺騙
iptables -A INPUT -p icmp --icmp-type 8 -j DROP //禁止從其他主機ping本機,但允許本機ping其他主機
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
iptables -p icmp -h //查看可用的ICMP協議類型

允許loopback!(不然會導致DNS無法正常關閉等問題)
iptables -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)
iptables -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)

iptables -P INPUT DROP //開放相關端口,對發給本機的TCP應答數據包予以放行,其他入站數據包都丟棄
iptables -I INPUT -p tcp -m multiport --dport 80,20,21,53 -j ACCEPT
iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 31337 -j DROP //減少不安全的端口連接
iptables -A OUTPUT -p tcp --dport 31337 -j DROP //減少不安全的端口連接


service iptables save //保存
systemctl restart iptables.service //重啟
systemctl enable iptables.service //開機啟動

5.其他用法
iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT //允許本機開放25、80、110、143端口,以便提供電子郵件服務
iptables -A INPUT -s 192.168.10.1 -p tcp --dport 22 -j ACCEPT //設置只允許某個ip的端口訪問
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.10.1-192.168.10.100 -j ACCEPT //允許轉發192.168.10.1-192.168.10.100之間的TCP數據包
iptables -A INPUT -m mac --mac-source 00:50:2e:cf:44:3f -j DROP //禁止其MAC地址訪問本機的任何應用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM