使用iptables创建防火墙

时间:2015-10-17 15:42:01

标签: 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的新手,所以我感谢任何帮助。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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