CentOS上的基本iptables

我想要做下面的事情,但是我在CentOS中使用iptables很难:

  1. 我想接受端口80,443,22,snmp,3306到我的服务器
  2. 我希望能够允许所有出站端口
  3. 我想所有其他入站连接被删除

打开你的iptables(/ etc / sysconfig / iptables)并添加下面几行( -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT )line:

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 161 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT 

重新启动iptables:

 service iptables restart 

默认情况下,你的iptables允许所有出站端口。

lokkit会给你一个简单的界面来configurationiptables。

  1. 我想只接受端口80,443,22,snmp,3306到我的服务器。
  2. 我希望能够允许所有出站端口
  3. 我想所有其他入站连接被删除。

把这个规则放在一个shell脚本中….

 #!/bin/bash 

# 3

iptables -P INPUT DROP

iptables -P FORWARD DROP

# 2

iptables -P OUTPUT ACCEPT

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED

# 1 (change eth0 for your interface)

iptables -A INPUT -j ACCEPT -i eth0 -p tcp -m multiport --dport 80,443,22,161,3306

给出的答案已经肯定会做你所需要的。 但是,实际上,如果要pipe理防火墙,您应该了解防火墙的工作原理。 令人惊讶的是,用于设置IPTABLES的CentOS文档很容易理解,并为build立IPTABLES提供了一个很好的基础。 所以,不要只是把这些家伙的话,并坚持这些防火墙规则,读一下,找出他们在做什么。

http://wiki.centos.org/HowTos/Network/IPTables