CentOS 7及更高版本的操作系统使用firewalld作为默认防火墙,而CentOS 7以下的系统版本则使用iptables。下面分别介绍如何在CentOS 7及以上版本和CentOS 7以下的版本中管理端口。
对于CentOS 7及更高版本
使用firewalld管理端口
1. 检查已打开的端口
sh
firewall-cmd --list-ports
2. 添加端口(以80端口为例)
sh
firewall-cmd --zone=public --add-port=80/tcp --permanent
--permanent 参数表示该规则将在系统重启后仍然生效。
3. 重新加载firewalld配置
sh
firewall-cmd --reload
4. 检查新增的端口
sh
firewall-cmd --zone=public --query-port=80/tcp
5. 关闭端口(以80端口为例)
sh
firewall-cmd --zone=public --remove-port=80/tcp --permanent
6. 重新启动firewalld
sh
firewall-cmd --reload
或者,您可以直接关闭firewalld并安装iptables
1. 关闭firewalld并禁止其启动
sh
systemctl stop firewalld.service
systemctl disable firewalld.service
2. 安装iptables服务
sh
yum -y install iptables-services
3. 使用iptables管理端口,操作方法与CentOS 7以下版本相同。
对于CentOS 7以下版本
使用iptables管理端口
1. 打开端口(以80端口为例)
sh
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
2. 关闭端口(以80端口为例)
sh
iptables -I INPUT -p tcp --dport 80 -j DROP
3. 保存更改
sh
/etc/rc.d/init.d/iptables save
4. 查看打开的端口
sh
iptables -L
注意在CentOS 7及更高版本中,使用firewalld比使用iptables更为推荐,因为firewalld提供了更好的用户界面和更丰富的功能。然而,对于需要兼容旧版系统的脚本或者习惯于iptables的用户,上述的iptables命令仍然适用。