本文最后更新于 2024-02-10,文章内容可能已经过时。

CentOS6/7

查看防火墙状态

systemctl status firewalld.service

运行上述命令后,如果看到有绿色字样标注的“active(running)”,说明防火墙是开启状态。

开启防火墙

systemctl start firewalld.service

关闭防火墙

systemctl stop firewalld.service

关闭后,可查看防火墙状态,当显示disavtive(dead)的字样,说明CentOS 7防火墙已经关闭。
但要注意的是,上面的命令只是临时关闭了CentOS 7防火墙,当重启操作系统后,防火墙服务还是会再次启动。如果想要永久关闭防火墙则还需要禁用防火墙服务。

禁用防火墙服务

systemctl disable firewalld.service

查看防火墙规则

firewall-cmd –list-all

查询端口是否开放

firewall-cmd –query-port=8080/tcp

重启防火墙

firewall-cmd –reload

开放指定(如8080)端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

(修改配置后需要重启防火墙)

移除某个防火墙开启的端口

firewall-cmd --zone=public --remove-port=5000-6000/tcp --permanent1.

(修改配置后需要重启防火墙)

CentOS Stream 8/9

查看防火墙状态

systemctl status firewalld

firewall-cmd --state

开启/关闭/重启防火墙

systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld

放行指定端口

firewall-cmd --zone=public --add-port=端口号/tcp --permanent

firewall-cmd --zone=public --add-port=80/tcp --permanent # http
firewall-cmd --zone=public --add-port=443/tcp --permanent #https

放行范围端口

firewall-cmd --zone=public --add-port=5000-6000/tcp --permanent1.

删除防火墙端口

firewall-cmd --zone=public --remove-port=5000-6000/tcp --permanent1.

修改防火墙后,都要对防火墙进行刷新

firewall-cmd --reload

查看防火墙某个端口是否开放与开放哪些端口

firewall-cmd --query-port=端口号/tcp
firewall-cmd --zone=public --list-ports

Ubuntu

Ubuntu 中,可以使用 ufw(Uncomplicated Firewall)来管理防火墙。以下是在 Ubuntu 中查看、开启、关闭和永久关闭防火墙的方法:

查看防火墙状态:

要查看 Ubuntu 中 ufw 防火墙的状态,可以执行以下命令:

sudo ufw status

这将显示当前防火墙规则的状态,包括是否启用和允许的规则。

开启防火墙:

如果防火墙没有启用,可以使用以下命令来启用 ufw 防火墙:

sudo ufw enable

启用防火墙后,它将按照默认规则开始工作,通常会拒绝所有传入连接,但允许所有传出连接。

关闭防火墙:

要关闭 ufw 防火墙,可以执行以下命令:

sudo ufw disable

关闭防火墙后,所有传入和传出的连接将被允许,不再受到防火墙的限制。

永久关闭防火墙:

如果想永久关闭 ufw 防火墙,可以执行以下步骤:

  • 停止 ufw 服务:

    sudo systemctl stop ufw

  • 禁用 ufw 服务的自动启动:

    sudo systemctl disable ufw

  • 重启系统,以确保防火墙不会在系统启动时重新启用。