Máy chủ cơ sở dữ liệu Postgres sử dụng giao thức mạng nào?


14

Tôi có một máy chủ postgres 9.1 chạy trên cổng mặc định 5432 trên máy chủ đám mây Ubuntu 12.04.

Tôi muốn mở cổng, vì vậy tôi có thể thực hiện các truy vấn từ xa - nhưng tôi phải mở cổng trên các bảng IP, yêu cầu tôi chỉ định một giao thức. Doc này không đề cập đến giao thức TCP / UDP, vv

Tôi nên cho phép giao thức nào trong các bảng IP?


Câu trả lời:


14

Giao thức là TCP / IP đơn giản.

Từ tài liệu posgresql về giao thức "frontends" và "backends" :

PostgreSQL sử dụng giao thức dựa trên thông báo để liên lạc giữa frontend và backends (máy khách và máy chủ). Giao thức được hỗ trợ qua TCP / IP và cả trên các ổ cắm tên miền Unix. Số cổng 5432 đã được đăng ký với IANA làm số cổng TCP thông thường cho các máy chủ hỗ trợ giao thức này, nhưng trong thực tế, bất kỳ số cổng không đặc quyền nào cũng có thể được sử dụng.

Vì vậy, liên quan đến iptables sử dụng tcpgiao thức, vì ổ cắm tên miền Unix không có nghĩa là được sử dụng qua mạng.

ví dụ iptables :

iptables <other_options> -p tcp -dport 5432 -j ACCEPT

Lưu ý :

Như Lekensteyn đã chỉ ra , điều đặc biệt khôn ngoan là xem xét kích hoạt SSL qua kết nối mạng đó (xem tài liệu postgresql về việc sử dụng TCP-over-SSL ). Các iptables rule sẽ không thay đổi trong trường hợp đó: cùng một cổng (5432), cùng một giao thức (tcp).


1

Theo mặc định, PostgreSQLt lắng nghe trên cổng TCP 5432. Sử dụng các quy tắc iptables sau đây cho phép yêu cầu máy khách đến (cổng mở 5432).

-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT

Trong đó xxx.xxx.xxx.xxx là IP của máy chủ mà bạn đang kết nối từ đó nên bạn không mở các postgres ra thế giới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.