温馨提示×

ubuntu pgadmin如何进行网络配置

小樊
38
2025-12-29 19:00:46
栏目: 智能运维

Ubuntu 上 pgAdmin 网络配置实操指南

一 场景与总体思路

  • 区分两端配置:
    • pgAdmin 4 Web 服务(浏览器访问的 pgAdmin 本体):需要让其监听外网或指定网段,并开放相应端口(常见为 5050,若你改动过则以实际为准)。
    • PostgreSQL 数据库(被 pgAdmin 管理的目标库):需要允许远程连接(监听地址与客户端认证),并开放数据库端口(默认 5432)。
  • 基本流程:配置监听与端口 → 配置访问控制(pg_hba / 防火墙)→ 重启服务 → 在 pgAdmin 中添加服务器连接。

二 配置 pgAdmin 4 Web 服务监听与端口

  • 定位配置文件:常见路径为 /etc/pgadmin/pgadmin.conf;若通过桌面应用安装,可能在用户目录如 ~/.config/pgadmin/pgadmin.conf
  • 开启远程访问与端口:
    • listen_addresses 设为 0.0.0.0(或指定内网 IP,如 192.168.1.100),以允许来自其他主机的访问。
    • 如需更改端口,设置 port = 5050(示例;确保该端口未被占用)。
  • 使配置生效:
    • 若以服务运行:执行 sudo systemctl restart pgadmin4
    • 若以 WSGI/容器运行:重启对应服务或容器
  • 注意:将 pgAdmin 暴露在公网前务必配合防火墙与反向代理/HTTPS。

三 配置 PostgreSQL 允许远程连接

  • 编辑数据库配置:
    • 打开 /etc/postgresql//main/postgresql.conf,将 listen_addresses = ‘*’(或指定服务器 IP),允许数据库监听外部接口。
    • 在同一目录编辑 pg_hba.conf,添加允许规则(示例为允许所有 IPv4 以密码方式连接,生产环境请收紧网段):
      • host all all 0.0.0.0/0 md5
  • 重启数据库使配置生效:
    • sudo systemctl restart postgresql
  • 说明:上述为最常见的远程访问基线配置,务必结合网段限制与强口令策略。

四 防火墙与端口开放

  • UFW(Ubuntu 常用):
    • 开放数据库端口:sudo ufw allow 5432/tcp
    • 开放 pgAdmin Web 端口(示例):sudo ufw allow 5050/tcp
    • 查看状态:sudo ufw status verbose
  • firewalld(如系统使用 firewalld):
    • 开放端口:sudo firewall-cmd --permanent --zone=public --add-port=5432/tcp
    • 重载:sudo firewall-cmd --reload
  • 建议:仅对受信任网段/IP 开放,减少攻击面。

五 在 pgAdmin 中添加服务器连接与连通性排查

  • 添加服务器连接:
    • 打开 pgAdmin → 右键“服务器”→“创建”→“服务器”
    • 在“连接”页填写:
      • 主机名/IP:数据库服务器地址
      • 端口5432(或你的自定义端口)
      • 维护数据库:如 postgres
      • 用户名/密码:具有访问权限的数据库账户
  • 连通性快速排查:
    • 网络可达:ping <数据库IP>
    • 端口可达:telnet <数据库IP> 5432nc -zv <数据库IP> 5432
    • 服务状态:数据库侧 sudo systemctl status postgresql;pgAdmin 侧 sudo systemctl status pgadmin4
    • 虚拟机场景:确认 NAT/桥接网络模式与端口转发配置正确。

六 安全加固建议

  • 限制来源 IP:在 UFW/Firewalld 中仅放行可信网段/IP 访问 5432/5050
  • 启用 HTTPS 与反向代理:用 Nginx/Apache 终止 TLS,证书可用 Let’s Encrypt,将 pgAdmin 运行在 443 并隐藏实际端口。
  • 启用 SSL/TLS:为 pgAdmin 配置 SSL(证书与密钥),并在 pgAdmin 连接 PostgreSQL 时勾选 Use SSL
  • 强化认证与权限:为 postgres 与 pgAdmin 管理员设置强密码,遵循最小权限原则,定期更新系统与软件。

0