服务器检查防火墙状态 sudo ufw status
输出 Status: inactive
表示 服务当前处于 未激活 状态 可以输入 sudo ufw enable
来开启防火墙
输出 Status: active
表示 服务当前处于 激活 状态 可以输入 sudo ufw disable
来关闭防火墙
添加防火墙规则 sudo ufw allow from 127.0.0.1 to any port 3306 proto tcp
-
sudo :这部分意味着以超级用户(管理员)权限运行命令。在修改防火墙配置时,需要管理员权限。
-
ufw :这是 Uncomplicated Firewall 的命令行工具。它是 Ubuntu 和其他 Linux 发行版中常用的防火墙管理工具,用于配置
iptables
防火墙规则。 -
allow :表示允许来自某个源的流量通过防火墙。这条命令允许从某个特定 IP 地址(
192.168.3.101
)访问服务器的端口。 -
from 192.168.3.101 :这部分表示防火墙规则仅允许来自 IP 地址
192.168.3.101
的流量。只有此 IP 地址才能尝试连接到目标服务器的端口。 -
to any :这里的
to any
指定该规则应用于 所有 服务器上的网络接口或 IP 地址(如果服务器有多个网卡或绑定多个 IP 地址)。实际上,这意味着从192.168.3.101
来的流量可以访问服务器上的所有 IP 地址。 -
port 3306 :这表示该规则仅适用于 3306 端口。
3306
是 MySQL 数据库的默认端口,意味着这个规则允许来自192.168.3.101
的流量通过 MySQL 服务的端口。 -
proto tcp :指定协议为 TCP。TCP 是一种可靠的、连接导向的协议,常用于数据库连接和其他服务(如 HTTP 和 HTTPS)。在这个规则中,指明仅允许使用 TCP 协议的流量访问 MySQL 服务的端口。
注:如果是Docker容器中启动的服务,容器的网络规则会跳过上述防火墙规则,需要特殊处理