Linux系统中包括多个发行版本,如CentOS、Ubuntu、Debian等。虽然CentOS 7、8系统已经停止维护,但仍有部分用户在使用本系统。本文将介绍在CentOS系统中如何开放防火墙端口,希望能对大家有所帮助。
一、检查防火墙类型
在 CentOS 7 中,”firewalld” 防火墙取代了早期的 “iptables” 防火墙,因此在操作之前,我们需要确认正在使用的是哪种防火墙。
首先,尝试执行以下命令来检查防火墙状态:
firewall-cmd --state
如果出现如下错误:
-bash: firewall-cmd: command not found
则说明该系统没有安装 “firewalld”。
然后,可以执行以下命令检查 “iptables” 的状态:
service iptables status
若输出结果为:
Redirecting to /bin/systemctl status iptables.service Unit iptables.service could not be found.
则表明系统没有安装 “iptables” 防火墙。
为了更好地演示,我们将在拥有 “firewalld” 和 “iptables” 的环境中进行过滤器的操作。
二、Firewall防火墙命令
1、查看防火墙状态
检查防火墙状态的命令为:
firewall-cmd --state
如果输出为 “running”,表示防火墙已启动;如果为 “not running”,则表示防火墙已安装但处于关闭状态(如显示其他错误,则可能是没有安装 “firewalld”)。
2、查看已开放端口
要查看当前已开放的端口,可以使用以下命令:
firewall-cmd --zone=public --list-ports
执行结果将显示开放的端口列表,例如:
已开放端口:TCP 20、TCP 21、TCP 22、TCP 80、TCP 8888、TCP 39000到40000
3、添加端口
若需要新增放行一个端口,可以执行:
firewall-cmd --zone=public --add-port=443/tcp --permanent
以上命令表示放行 TCP 443 端口(用于 HTTPS 协议),”–permanent” 参数表示设置永久生效,即使重启系统后也会继续生效。
4、移除端口
如需取消某个已放行的端口,可以输入以下命令:
firewall-cmd --zone=public --remove-port=443/tcp --permanent
5、重载防火墙服务
添加或移除端口设置可能不会立即生效,可以通过重载防火墙服务来刷新配置:
firewall-cmd --reload
三、iptables防火墙命令
1、查看防火墙状态
获取 “iptables” 状态的命令为:
service iptables status
如果结果为 “iptables: Firewall is not running.”,则表示 “iptables” 已安装但未开启。
2、开启 “iptables” 防火墙
要开启 “iptables”,执行:
service iptables start
如果成功,会显示 “Applying firewall rules: [ OK ]”。
3、查看已开放端口
要查看已经开放的端口,可以使用以下命令:
iptables -L -n
4、开放端口
要开放80端口(用于 HTTP 协议),可以使用此命令:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
5、删除端口
若要删除某个已开放端口的规则,首先查看现有规则及其编号:
iptables -L -n --line-number
根据显示结果,找出对应规则的编号(如规则编号为3),可以使用以下命令进行删除:
iptables -D INPUT 3
完成后,记得保存更改:
service iptables save
四、开启ping
1、检查是否开启ping
使用以下命令检查系统是否开启 ping:
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
若结果为 0,则表示已开启;若为 1,则表示未开启。
2、开启ping
如需开启 ping,可以执行:
echo "0" >/proc/sys/net/ipv4/icmp_echo_ignore_all
注意:除了系统中开启 ping 外,安全组设置也需要放行 ICMP/IPv4 协议,这样公网 IP 才能 ping 通。
-
广告合作
-
QQ群号:707632017