首页服务器教程Linux/Centos如何开放防火墙端口

Linux/Centos如何开放防火墙端口

2024-09-19 152

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”)。

Linux/Centos如何开放防火墙端口

2、查看已开放端口

要查看当前已开放的端口,可以使用以下命令:

firewall-cmd --zone=public --list-ports

执行结果将显示开放的端口列表,例如:

Linux/Centos如何开放防火墙端口

已开放端口: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

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章