CentOS 7.0关闭默认防火墙启用iptables防火墙的完整攻略
CentOS 7.0默认使用firewalld作为防火墙,但是有些情况下需要使用iptables作为防火墙,本文将介绍如何关闭默认防火墙并启用iptables防火墙。
步骤
1. 关闭默认防火墙
首先需要关闭默认的防火墙firewalld,使用以下命令:
systemctl stop firewalld
systemctl disable firewalld
2. 安装iptables
如果系统中没有安装iptables,需要先安装iptables,使用以下命令:
yum install iptables-services -y
3. 配置iptables
编辑/etc/sysconfig/iptables
文件,添加需要开放的端口和规则,例如:
# 允许所有本地回环接口的数据包通过
-A INPUT -i lo -j ACCEPT
# 允许已经建立的连接的数据包通过
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许SSH连接
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# 允许HTTP连接
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# 允许HTTPS连接
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
# 允许MongoDB连接
-A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
# 允许Ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# 其他数据包全部拒绝
-A INPUT -j REJECT --reject-with icmp-host-prohibited
# 允许所有本地回环接口的数据包通过
-A OUTPUT -o lo -j ACCEPT
# 允许已经建立的连接的数据包通过
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许Ping
-A OUTPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
# 其他数据包全部拒绝
-A OUTPUT -j REJECT --reject-with icmp-host-prohibited
4. 启动iptables
使用以下命令启动iptables:
systemctl start iptables
systemctl enable iptables
示例说明
以下是两个示例,说明如何关闭默认防火墙并启用iptables防火墙:
示例1:关闭默认防火墙并启用iptables防火墙
问题描述:需要关闭默认防火墙并启用iptables防火墙。
解决方案:按照上述步骤进行操作。
示例2:配置iptables规则
问题描述:需要配置iptables规则。
解决方案:编辑/etc/sysconfig/iptables
文件,添加需要开放的端口和规则。例如,需要开放SSH连接和HTTP连接,可以添加以下规则:
# 允许SSH连接
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# 允许HTTP连接
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
然后使用以下命令重启iptables:
systemctl restart iptables
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7.0关闭默认防火墙启用iptables防火墙 - Python技术站