在CentOS系统中,外网端口的管理和配置是确保系统能够正常与外部网络通信的关键,以下是关于CentOS外网端口的详细解答:
一、查看系统防火墙状态
使用firewallcmd state
命令可以查看系统防火墙的当前状态,如果返回“running”代表防火墙启动正常。
二、开启端口外网访问
1. 添加单个端口
使用firewallcmd zone=public addport=[端口号]/tcp permanent
命令可以永久添加一个TCP端口到公共区域,添加80端口:firewallcmd zone=public addport=80/tcp permanent
,同理,使用firewallcmd zone=public addport=[端口号]/udp permanent
命令可以添加UDP端口。
2. 开放多个端口
使用firewallcmd zone=public addport=[起始端口][结束端口]/tcp permanent
命令可以添加多个连续的TCP端口,开放80到85端口:firewallcmd zone=public addport=8085/tcp permanent
,UDP端口同理。
3. 重新载入防火墙规则
添加或修改端口后,需要重新载入防火墙规则以使更改生效,使用firewallcmd reload
命令可以重新载入防火墙规则。
三、关闭端口外网访问
1. 删除单个端口
使用firewallcmd zone=public removeport=[端口号]/tcp permanent
命令可以永久删除一个TCP端口,删除80端口:firewallcmd zone=public removeport=80/tcp permanent
,同理,使用firewallcmd zone=public removeport=[端口号]/udp permanent
命令可以删除UDP端口。
2. 重新载入防火墙规则
删除端口后,同样需要重新载入防火墙规则以使更改生效,使用firewallcmd reload
命令可以重新载入防火墙规则。
四、查看已开放的端口
使用firewallcmd zone=public listports
命令可以列出公共区域中所有已开放的端口。
五、其他相关操作
1. 启动、停止和重启服务
启动服务:systemctl start firewalld.service
停止服务:systemctl stop firewalld.service
重启服务:systemctl restart firewalld.service
2. 显示服务的状态
使用systemctl status firewalld.service
命令可以查看防火墙服务的当前状态。
3. 开机自动启动
使用systemctl enable firewalld.service
命令可以将防火墙服务设置为开机自动启动。
4. 禁用开机自动启动
使用systemctl disable firewalld.service
命令可以取消防火墙服务的开机自动启动。
六、FAQs
问题1:如何在CentOS中永久开放多个连续的TCP端口?
答:在CentOS中,可以通过执行以下命令来永久开放多个连续的TCP端口:
firewallcmd zone=public addport=起始端口结束端口/tcp permanent
要永久开放80到85端口,可以执行:
firewallcmd zone=public addport=8085/tcp permanent
然后重新载入防火墙规则以使更改生效:
firewallcmd reload
问题2:如何查看CentOS中防火墙是否已经开放某个特定端口?
答:可以使用firewallcmd zone=public queryport=[端口号]/[协议]
命令来查询特定端口是否已经开放,要查询80端口的TCP协议是否已经开放,可以执行:
firewallcmd zone=public queryport=80/tcp
如果返回“yes”,则表示该端口已经开放;如果返回“no”,则表示该端口未开放。