1. 设置内网 IP 开放所有端口
假设内网 IP 地址是 192.168.0.0/16(包括所有 192.168.x.x 地址),可以将其添加到防火墙的 internal 区域,并允许所有端口:
sudo firewall-cmd --permanent --zone=internal --add-source=192.168.0.0/16
sudo firewall-cmd --permanent --zone=internal --add-port=0-65535/tcp
sudo firewall-cmd --permanent --zone=internal --add-port=0-65535/udp
--add-port=0-65535/tcp 和 --add-port=0-65535/udp:这两个命令将所有 TCP 和 UDP 端口开放给 internal 区域中的 IP 地址
# 创建并配置一个名为 trusted 的区域
sudo firewall-cmd --permanent --new-zone=trusted
# 将外网 IP 地址添加到 trusted 区域
sudo firewall-cmd --permanent --zone=trusted --add-source=203.0.113.5
# 为 trusted 区域开放所有端口
sudo firewall-cmd --permanent --zone=trusted --add-port=0-65535/tcp
sudo firewall-cmd --permanent --zone=trusted --add-port=0-65535/udp
3. 拒绝其他外网 IP 访问
为了确保其他外网 IP 无法访问,默认情况下,可以设置 public 区域(或者其他适用的外网区域)拒绝其他所有连接,除非它们已经在白名单中:
# 将 public 区域的默认行为设置为拒绝
sudo firewall-cmd --permanent --zone=public --set-target=DROP
4. 重新加载防火墙配置
最后,执行以下命令使所有更改生效:
sudo firewall-cmd --reload