温馨提示×

Ubuntu中pgAdmin网络设置指南

小樊
40
2025-10-01 07:14:53
栏目: 智能运维

Ubuntu中pgAdmin网络设置指南

一、系统网络基础配置(确保Ubuntu可联网)

在配置pgAdmin网络前,需确保Ubuntu系统本身网络正常,可通过以下步骤设置静态IP或验证动态IP:

1. 查看网络接口信息

使用ip addr命令查看网络接口(如enp0s3eth0)及当前IP配置,确认接口已启用且分配了有效IP。

2. 配置静态IP(可选,推荐生产环境使用)

编辑Netplan配置文件(路径如/etc/netplan/01-netcfg.yaml),修改为静态IP设置:

network: version: 2 renderer: networkd ethernets: enp0s3: # 替换为你的网络接口名 dhcp4: no addresses: ["192.168.1.100/24"] # 静态IP及子网掩码 gateway4: "192.168.1.1" # 网关地址 nameservers: addresses: ["8.8.8.8", "8.8.4.4"] # DNS服务器 

应用配置:sudo netplan apply,并通过ip addr show验证IP是否生效。

二、pgAdmin网络配置(允许远程访问)

pgAdmin的网络配置主要涉及监听地址端口设置,需修改其配置文件并重启服务。

1. 找到pgAdmin配置文件

pgAdmin的配置文件路径通常为:

  • 系统级:/etc/pgadmin/pgadmin4.conf(推荐)
  • 用户级:~/.config/pgadmin/pgadmin.conf(仅当前用户生效)

2. 修改监听设置

用文本编辑器(如nano)打开配置文件,修改以下参数:

listen_address = 0.0.0.0 # 允许所有IP访问(生产环境建议限制为特定IP,如192.168.1.100) port = 5050 # 默认端口,可根据需求修改(如8080) 

若参数前有#,需删除注释符号。

3. 重启pgAdmin服务

修改完成后,重启服务使配置生效:

sudo systemctl restart pgadmin4 # 如果通过systemd安装 

或根据安装方式使用对应命令(如sudo service pgadmin4 restart)。

三、安全加固配置(必做)

开放网络访问会带来安全风险,需通过以下措施降低风险:

1. 配置防火墙

使用ufw(Ubuntu防火墙)允许pgAdmin端口(默认5050)的访问:

sudo ufw allow 5050/tcp # 允许TCP协议访问5050端口 sudo ufw enable # 启用防火墙(若未启用) sudo ufw status # 验证规则是否生效 

生产环境建议限制访问IP(如仅允许公司IP):

sudo ufw allow from 192.168.1.0/24 to any port 5050/tcp # 仅允许192.168.1.0/24网段访问 

2. 配置PostgreSQL允许远程连接

pgAdmin需连接PostgreSQL数据库,需修改PostgreSQL配置文件:

  • 编辑postgresql.conf(路径如/etc/postgresql/<version>/main/postgresql.conf),找到listen_addresses并修改为:
    listen_addresses = '*' # 允许PostgreSQL监听所有接口 
  • 编辑pg_hba.conf(同一目录下),添加远程连接认证规则:
    host all all 0.0.0.0/0 md5 # 允许所有IP通过MD5密码认证连接 
  • 重启PostgreSQL服务:
    sudo systemctl restart postgresql 

3. 启用pgAdmin SSL加密(可选,推荐)

为避免数据传输被窃听,可启用SSL加密:

  • 生成SSL证书(如使用Let’s Encrypt免费证书)。
  • 在pgAdmin配置文件中添加SSL设置:
    ssl_cert_file = '/path/to/server.crt' ssl_key_file = '/path/to/server.key' ssl = on 
  • 重启pgAdmin服务使SSL生效。

四、验证配置

  1. 验证pgAdmin访问:在浏览器中输入http://<服务器IP>:5050(若修改了端口,替换为对应端口),使用管理员账号登录。
  2. 验证PostgreSQL连接:在pgAdmin中添加服务器,输入PostgreSQL服务器的IP、端口(默认5432)、用户名和密码,测试连接是否成功。

五、常见问题排查

  • 无法访问pgAdmin:检查pgAdmin服务是否启动(sudo systemctl status pgadmin4)、防火墙是否放行端口、配置文件是否正确。
  • PostgreSQL拒绝连接:检查postgresql.conflisten_addresses是否设置为*pg_hba.conf是否允许远程IP、PostgreSQL服务是否重启。
  • 网络不通:使用ping测试网络连通性,ip addr show检查IP配置,sudo ufw status验证防火墙规则。

0