2015-10-17 80 views
0

我需要創建一個文件來過濾流量。使用iptables創建防火牆

它應該是這樣的:

  • 從192.168.5.0/24輸入流量應該被阻止,除非它是ICMP或192.168.5.200
  • 輸出流量192.168.5.0/24應該阻止,除非它是ICMP或192.168.5.200
  • 應允許剩餘的流量。

這是我的解決方案:

iptables -P INPUT DROP 
iptables -F INPUT 
iptables -A INPUT -i eth0 -p ICMP -s 192.168.5.200 -j ACCEPT 
iptables -A INPUT -i eth0 -s 192.168.5.0 -j DROP 
iptables -A OUTPUT -o eth0 -p ICMP -d 192.168.5.200 -j ACCEPT 
iptables -A OUTPUT -o eth0 -d 192.168.5.0 -j DROP 
iptables -A OUTPUT ACCEPT 
iptables -A INPUT ACCEPT 

我是新來的iptables,所以我感謝所有幫助我能。

回答

1

嘗試規則是這樣的:

iptables -P INPUT ACCEPT 
iptables -A INPUT -s 192.168.5.200 -j ACCEPT 
iptables -A INPUT -s 192.168.5.0/24 -p icmp -j ACCEPT 
iptables -A INPUT -s 192.168.5.0/24 -j DROP 
iptables -P OUTPUT ACCEPT 
iptables -A OUTPUT -d 192.168.5.200 -j ACCEPT 
iptables -A OUTPUT -d 192.168.5.0/24 -p icmp -j ACCEPT 
iptables -A OUTPUT -d 192.168.5.0/24 -j DROP 
1

您需要允許傳入SSH。添加到您的腳本:

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --dport ssh -j ACCEPT 
iptables -A INPUT -i eth0 -p icmp -j ACCEPT 

您也可以到這裏看看這個鏈接:Linux Iptables - Block All Incoming Traffic But Allow SSH