Ubuntu中pgAdmin网络设置指南
在配置pgAdmin网络前,需确保Ubuntu系统本身网络正常,可通过以下步骤设置静态IP或验证动态IP:
使用ip addr命令查看网络接口(如enp0s3、eth0)及当前IP配置,确认接口已启用且分配了有效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的配置文件路径通常为:
/etc/pgadmin/pgadmin4.conf(推荐)~/.config/pgadmin/pgadmin.conf(仅当前用户生效)用文本编辑器(如nano)打开配置文件,修改以下参数:
listen_address = 0.0.0.0 # 允许所有IP访问(生产环境建议限制为特定IP,如192.168.1.100) port = 5050 # 默认端口,可根据需求修改(如8080) 若参数前有#,需删除注释符号。
修改完成后,重启服务使配置生效:
sudo systemctl restart pgadmin4 # 如果通过systemd安装 或根据安装方式使用对应命令(如sudo service pgadmin4 restart)。
开放网络访问会带来安全风险,需通过以下措施降低风险:
使用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网段访问 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密码认证连接 sudo systemctl restart postgresql 为避免数据传输被窃听,可启用SSL加密:
ssl_cert_file = '/path/to/server.crt' ssl_key_file = '/path/to/server.key' ssl = on http://<服务器IP>:5050(若修改了端口,替换为对应端口),使用管理员账号登录。sudo systemctl status pgadmin4)、防火墙是否放行端口、配置文件是否正确。postgresql.conf的listen_addresses是否设置为*、pg_hba.conf是否允许远程IP、PostgreSQL服务是否重启。ping测试网络连通性,ip addr show检查IP配置,sudo ufw status验证防火墙规则。