关闭端口是CentOS系统管理中的一个重要任务,它涉及到防火墙配置和系统安全,下面将详细介绍如何在CentOS 6和CentOS 7上关闭端口。
CentOS 6 关闭端口
1. 使用iptables命令

在CentOS 6中,可以使用iptables命令来关闭端口,以下是具体步骤:
查看当前规则:首先查看当前的iptables规则,确保没有误操作。
iptables L n v
添加禁用规则:使用以下命令添加一个禁用特定端口的规则,例如关闭端口22(SSH)。
iptables A INPUT p tcp dport 22 j DROP
保存规则:保存当前iptables规则,以便重启后依然生效。
service iptables save
重启iptables服务:重启iptables服务使新规则生效。
service iptables restart
2. 编辑iptables配置文件

另一种方法是直接编辑iptables的配置文件,这样可以更直观地管理规则。
编辑文件:使用vim或其他文本编辑器打开iptables配置文件。
vim /etc/sysconfig/iptables
修改配置:在文件中添加或修改相应的规则,添加以下行来关闭端口22。
A INPUT p tcp m state state NEW m tcp dport 22 j DROP
重启iptables服务:保存文件并重启iptables服务。
service iptables restart
CentOS 7 关闭端口
1. 使用firewalld命令
CentOS 7默认使用firewalld作为防火墙管理工具,以下是关闭端口的步骤:

查看firewall状态:首先检查firewalld的状态。
systemctl status firewalld
关闭端口:使用firewallcmd命令关闭特定端口,例如关闭端口80。
firewallcmd permanent removeport=80/tcp
重新加载firewalld:修改配置后需要重新加载firewalld服务。
firewallcmd reload
2. 查看和修改firewalld配置
可以通过查看和修改firewalld的配置文件来管理端口。
查看当前配置:查看当前firewalld的配置。
firewallcmd listall
修改配置:直接编辑firewalld的配置文件。
vim /etc/firewalld/zones/public.xml
在文件中添加或修改相应的规则,添加以下内容来关闭端口22。
<service name="ssh" port="22"/>
<rule family="ipv4">
<source address="any"/>
<destination port="22" protocol="tcp"/>
<deny/>
</rule>重新加载firewalld:保存文件并重新加载firewalld服务。
firewallcmd reload
无论是CentOS 6还是CentOS 7,关闭端口都是通过防火墙配置来实现的,在CentOS 6中使用iptables,而在CentOS 7中使用firewalld,以下是两种系统的关闭端口方法的对比:
| 操作系统 | 命令工具 | 关闭端口示例 | 保存配置方法 |
| CentOS 6 | iptables | iptables A INPUT p tcp dport 22 j DROP | service iptables save |
| CentOS 7 | firewalld | firewallcmd permanent removeport=22/tcp | firewallcmd reload |
相关问答FAQs
1、如何在CentOS 7中永久关闭一个端口?
答:在CentOS 7中,可以使用firewallcmd命令永久关闭一个端口,要永久关闭端口80,可以执行以下命令:
firewallcmd permanent removeport=80/tcp firewallcmd reload
2、如何在CentOS 6中查看当前iptables规则?
答:在CentOS 6中,可以使用以下命令查看当前的iptables规则:
iptables L n v
