Docker 安装Postgres 限定IP用户登入

最近公司要求需要对测试环境的增加数据安全验证,通过查阅资料总结了一下:

归纳起来也就下面几个操作:

配置 pg_hba.conf 允许远程访问

Docker 安装的数据库:

复制:sudo docker cp postgre:/var/lib/postgresql/data/pg_hba.conf /home
修改:sudo vim pg_hba.conf
host all all 127.0.0.1/32 trust
host all all 192.168.1.58/32 trust
host all all 192.168.1.134/32 trust
host all all 172.17.0.1/32 trust
host all postgres 192.168.1.155/32 trust
还原:sudo docker cp /home/pg_hba.conf postgre:/var/lib/postgresql/data/pg_hba.conf
重启:sudo docker restart postgre

sudo docker cp postgre:/var/lib/postgresql/data/postgresql.conf /home
改成监听*
sudo docker cp /home/postgresql.conf postgre:/var/lib/postgresql/data/postgresql.conf

 

 

# 将默认的 * 替换成本机的内网IP地址。

vim /var/lib/pgsql/11/data/postgresql.conf

listen_addresses = "*" # 默认的配置

listen_addresses = '172.26.114.87' # 修改成本机IP

# 将目标机器添加到控制规则里面,允许使用md5加密的方式进行远程访问。

vim /var/lib/pgsql/11/data/pg_hba.conf

host all all 172.26.114.88/32 md5# 允许单个机器登录,使用md5密码。

host all all 0.0.0.0/0 md5 # 允许所有机器登录,使用md5密码。

host all all 127.0.0.1/32 trust # 允许本地机器登录,不使用密码。

# 验证端口开放情况

[root@loandb /]# netstat -tunlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3504/sshd

tcp 0 0 172.26.114.87:5432 0.0.0.0:* LISTEN 17512/postmaster

udp 0 0 0.0.0.0:68 0.0.0.0:* 3014/dhclient

udp 0 0 127.0.0.1:323 0.0.0.0:* 2021/chronyd

udp6 0 0 ::1:323 :::* 2021/chronyd

# 重启服务

systemctl restart postgresql-11.service

# 在其他机器上链接即可

psql -h 172.26.114.87 -U postgres

 

posted @   搭车去柏林  阅读(665)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示