iptables防火墙基本配置操作
iptables是CentOS 6以及更早版本Linux系统中使用的防火墙组件,它能很大程度的保护服务器的安全。CentOS 7及已更换为Firewall防火墙,关于Firewalld可以参考《Firewall 防火墙的基本操作》。
iptables有两种配置方式,一种是使用命令增加、删除和修改防火墙配置,一种是直接改写iptables配置文件。这里我比较推荐改配置文件,因为更加直观啦。以下目前只讲ipv4防火墙配置,ipv6我自己研究的也不是很深,以后再总结...
配置iptables
①编辑防火墙配置文件:vi /etc/sysconfig/iptables
②修改配置文件内容,以下给出一个范例,仅供参考,请按照自己的需求编写:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:50000 -j ACCEPT
-A INPUT -p udp --dport 50000:65535 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
③保存文件、退出vi
④重启防火墙:service iptables restart
范例的一些简单的说明和解释
*filter
iptables的filter表,记住必须要写在配置的最前面就行了。
:INPUT ACCEPT [0:0]
、:FORWARD ACCEPT [0:0]
、:OUTPUT ACCEPT [0:0]
跟在*filter的下一行即可。负责INPUT(入方向)、FORWARD(转发)、OUTPUT(出方向)的默认策略。ACCEPT默认放行、DROP默认丢弃。后面的数字仅仅用来统计数据包,对配置没有意义,配置时写0即可。
-A INPUT -i lo -j ACCEPT
入方向允许环回。这一句必须要有。
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
入方向允许22端口的TCP通信。(这里是允许SSH通信,必须要有。)
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
入方向允许80端口的TCP通信。(这里是允许访问WEB前端,如果服务器作为WEB服务器,需要开放80端口)
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
入方向允许21端口的TCP通信。(这里是允许FTP默认端口通信)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:50000 -j ACCEPT
入方向允许30000到50000端口的第一个数据包通过TCP协议通信,需要配合下面的“--state RELATED,ESTABLISHED”一起工作。一般-m state --state NEW配给需要用来通信但不需要一直开放的端口,例如FTP进行数据传输时使用的随机端口。
-A INPUT -p udp --dport 50000:65535 -j ACCEPT
入方向允许50000到65535端口的UDP通信。
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
入方向允许PING数据包。如果没有这条规则,PING服务器会超时,也就是“禁PING”。
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
入方向允许已经建立连接的端口通信。配合上面的“--state NEW”一起工作。
-A INPUT -j REJECT --reject-with icmp-port-unreachable
入方向拒绝所有没有允许的请求。也就是上面规则没有允许的端口的访问都会被拒绝。这一条一定要放在所有INPUT(入方向)规则的最后一行。
COMMIT
提交之前的所有规则。COMMIT在所有规则之后,一般在最后一行即可。
一般仅配置INPUT(入方向)的防火墙策略,FORWARD(转发)和OUTPUT(出方向)默认允许就好。
相关推荐:《一些常用端口和对应协议参考》
扫描二维码,在手机上阅读!