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
验证防火墙规则。