Cấu hình PostgreSQL để cho phép kết nối từ xa
Thịnh Văn Hạnh 01/01/2022 2001 Lượt xem Chia sẻ bài viết
Chuẩn bị một hệ điều hành centos7 đã cài đặt Cơ sở dử liệu PostgreSQL.Nếu chưa có thì tham khoả tại đây.
- Cấu hình tệp postgresql.conf
Tìm đường dẫn chứa file postgresql.conf
#find / -name “postgresql.conf“
Truy cập đường dẫn và chỉnh sửa file như sao
#vi /var/lib/pgsql/11/data/postgresql.conf
tìm đến dòng #listening_addresses=’localhost’ , #port=5432 và chỉnh lại như sao
listening_addresses=’*’
port=5432
‘*’ có nghĩa là nó sẽ lắng nghe trên tất cả các địa chỉ ip nếu các bạn muốn lắng nghe bằng 1 hoặc vài địa chỉ ip các bạn có thể thay dấu * băng địa chỉ ip các bạn mong muốn mỗi ip cách nhau bởi dấu phẩy
- Cấu hình tệp pg_hba.conf
Tìm đường dẫn chưa file pg_hba.conf
#find / -name “pg_hba.conf”
Truy cập đường dẫn và chỉnh sửa file như sao
# vi /var/lib/pgsql/11/data/pg_hba.conf
Thêm dòng sau voà cuối file
host all all 0.0.0.0/0 md5 --> tất cả các địa chỉ ip đều kêt nối vào postgresql được.
(md5 là chế độ xác thực bằng mật khẩu nếu các bạn không muốn xác thực bằng mật khẩu thì thay md5 bằng trust).
host all all 103.121.88.143/24 md5 --> chỉ cho phép các địa chỉ ip thuộc dảy 192.168.3.12/24 kết nối
- Cấu hình tường lửa trên centos7
Mở port 5432 trên tường lửa firewalld của centos7
#firewall-cmd –zone=public –add-port=5432/tcp –permanent
#firewall-cmd –relead
Kiểm tra lại xem port đã mở chưa
firewall-cmd –zone=public –list-port
Allow thêm địa chỉ ip wan trên tường lửa firewalld để cho phép ip kết nối từ xa(lấy địa chị ip wan tại đây).
#firewall-cmd –permanent –zone=public –add-source=192.168.100.1
#firewall-cmd –relead
kiểm tra lại xem đã add chưa
#firewall-cmd –zone=public –list-all - Đăng nhập vào kiểm tra
Ở đây sử dụng 1 vps khác có ip như trong phần cài đặt tệp pg_hba.conf để test việc kết nối đên máy chủ postgresql có do tôi cấu hình trust nên khi đăng nhập vào thì không cần xác nhận mật khẩu.
Chúc các bạn thành công
Thanh Tùng