2015-10-17 83 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