关闭端口是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