ubuntu postgresql 防火墙配置
Ubuntu PostgreSQL 防火墙配置指南
在 Ubuntu 系统上配置 PostgreSQL 的防火墙设置主要涉及到 UFW (Uncomplicated Firewall) 的配置。以下是详细步骤:
1. 检查防火墙状态
首先,检查当前的防火墙状态:
sudo ufw status
2. 启用防火墙(如果尚未启用)
sudo ufw enable
3. 允许 PostgreSQL 端口访问
PostgreSQL 默认使用 5432 端口。根据您的需求,可以选择以下配置方式:
允许特定 IP 地址访问 PostgreSQL
sudo ufw allow from 192.168.1.100 to any port 5432
允许特定子网访问 PostgreSQL
sudo ufw allow from 192.168.1.0/24 to any port 5432
允许所有 IP 访问 PostgreSQL(不建议在生产环境使用)
sudo ufw allow 5432/tcp
4. 验证规则已添加
sudo ufw status
5. PostgreSQL 配置文件修改
除了防火墙设置外,您还需要确保 PostgreSQL 被配置为接受远程连接:
- 编辑 PostgreSQL 配置文件:
sudo nano /etc/postgresql/{version}/main/postgresql.conf
修改 listen_addresses
参数:
listen_addresses = '*' # 允许所有 IP 连接,或指定特定 IP
- 编辑客户端认证配置文件:
sudo nano /etc/postgresql/{version}/main/pg_hba.conf
添加适当的访问控制条目,例如:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
- 重启 PostgreSQL 服务:
sudo systemctl restart postgresql
6. 安全建议
- 总是使用强密码保护数据库用户
- 尽可能限制特定 IP 或子网的访问,而不是开放给所有 IP
- 考虑使用 SSL 连接增加安全性
- 定期检查和更新防火墙规则
这样配置后,PostgreSQL 应该能够根据您设置的防火墙规则接受远程连接了。