- 首页 >
- 问答 >
-
智能运维 >
- Debian PgAdmin如何配置防火墙规则
Debian PgAdmin如何配置防火墙规则
小樊
45
2026-01-03 04:23:43
Debian 上 pgAdmin 防火墙规则配置
一、确认 pgAdmin 监听端口
- 常见安装方式下,pgAdmin 4 的 Web 服务默认监听 TCP 5050;若你修改过端口,请以实际配置为准。常见修改方式包括编辑 /etc/pgadmin4/pgadmin4.conf 的 SERVER_PORT,或在 /etc/pgadmin4/config_local.py 中设置 WEB_PORT。修改后需重启服务生效。示例(若使用 config_local.py):
- 编辑配置:sudo nano /etc/pgadmin4/config_local.py
- 设置端口:WEB_PORT = 5051
- 重启:sudo systemctl restart pgadmin4
以上端口与配置路径为 pgAdmin 在 Debian 的常见做法,请据你的实际环境核对。
二、使用 UFW 放行端口
- 允许 pgAdmin 端口(以 5050 为例;若你改为 5051,将端口号替换即可):
- 放行端口:sudo ufw allow 5050/tcp
- 启用防火墙:sudo ufw enable
- 查看状态:sudo ufw status verbose
- 若 pgAdmin 启用了 HTTPS,通常还需放行 443/tcp(或你自定义的 HTTPS 端口)。UFW 是 Debian 上常用的简易防火墙工具,上述命令可直接使用。
三、使用 nftables 放行端口
- 适用于不使用 UFW、直接管理 nftables 的场景。以下规则仅允许来自 192.168.1.0/24 的管理网段访问 5050/tcp,并放行已建立的连接与回环接口;其余入站默认丢弃。可按需调整网段与端口。
- 创建表与链:
- sudo nft add table inet filter
- sudo nft add chain inet filter input { type filter hook input priority 0 ; }
- 放行规则:
- sudo nft add rule inet filter input iif lo accept
- sudo nft add rule inet filter input ct state established,related accept
- sudo nft add rule inet filter input ip saddr 192.168.1.0/24 tcp dport 5050 accept
- sudo nft add rule inet filter input ip6 saddr 2001:db8:1::/64 tcp dport 5050 accept # 可选:IPv6 网段
- 默认策略(谨慎:确保已通过控制台/带外可恢复访问):
- sudo nft chain inet filter input { policy drop ; }
- 持久化(Debian 10+/nftables 默认使用 nft 持久化机制):
- 保存规则:sudo nft list ruleset > /etc/nftables.conf
- 启用开机加载:sudo systemctl enable --now nftables
- 提示:若你使用 iptables 而非 nftables,思路相同(放行 5050/tcp 及已建立连接),但命令语法不同。
四、验证与常见排错
- 本机验证:
- 本地访问:curl -I http://127.0.0.1:5050
- 远程访问(从另一台主机):curl -I http://服务器IP:5050
- 服务与端口检查:
- 查看 pgAdmin 状态:sudo systemctl status pgadmin4
- 查看端口监听:ss -ltnp | grep :5050
- 防火墙状态检查:
- UFW:sudo ufw status verbose
- nftables:sudo nft list ruleset
- 若访问被拒或超时,优先核对:pgAdmin 实际监听端口、UFW/nftables 是否放行对应端口、云厂商安全组/本机外部防火墙是否限制。