文章

firewalld-cmd的使用

firewalld-cmd的使用

命令使用

开放TCP/UDP的17端口
1
2
3
4
5
6
7
8
# 开放TCP的17端口(通常用于SMTP协议)
sudo firewall-cmd --permanent --add-port=17/tcp

# 开放UDP的17端口(通常用于QOTD协议)
sudo firewall-cmd --permanent --add-port=17/udp

# 重载防火墙使配置生效
sudo firewall-cmd --reload
关闭TCP/UDP的22端口
1
2
3
4
5
6
7
8
# 移除TCP的22端口(SSH协议默认端口)
sudo firewall-cmd --permanent --remove-port=22/tcp

# 移除UDP的22端口(如果有开放)
sudo firewall-cmd --permanent --remove-port=22/udp

# 重载防火墙使配置生效
sudo firewall-cmd --reload
查看端口开放状态
1
2
3
4
5
6
7
8
9
10
# 查看所有开放的端口
sudo firewall-cmd --list-ports

# 查看指定端口是否开放(示例:检查17端口)
sudo firewall-cmd --query-port=17/tcp
sudo firewall-cmd --query-port=17/udp

# 查看指定端口是否开放(示例:检查22端口)
sudo firewall-cmd --query-port=22/tcp
sudo firewall-cmd --query-port=22/udp

区域概念

区域是防火墙所使用的配置文件,在/etc/firewalld/zones/文件夹下,默认为public.xml配置文件。

使用非默认区域
1
sudo firewall-cmd --get-active-zones
查看指定区域的端口
1
sudo firewall-cmd --zone=public --list-ports

Selinux

selinux可能也会影响端口访问情况,如果不懂的话直接关闭,查看我的这篇文章

本文由作者按照 CC BY 4.0 进行授权