Postgres 데이터베이스 서버는 어떤 네트워크 프로토콜을 사용합니까?


16

우분투 12.04 클라우드 서버의 기본 포트 5432에서 실행되는 postgres 9.1 서버가 있습니다.

포트를 열고 싶어서 원격 쿼리를 할 수 있지만 IP 테이블에서 포트를 열어야하는데 프로토콜을 지정해야합니다. 이 문서 에는 TCP / UDP 등이 언급되어 있지 않습니다.

IP 테이블에서 어떤 프로토콜을 허용해야합니까?


4
SSL을 활성화하는 것을 잊지 마십시오 ... postgresql.org/docs/9.1/static/ssl-tcp.html
Lekensteyn

답변:


16

프로토콜은 일반 TCP / IP입니다.

"프론트 엔드"및 "백엔드"프로토콜 에 대한 posgresql 문서에서 :

PostgreSQL은 프론트 엔드와 백엔드 (클라이언트 및 서버) 간의 통신을 위해 메시지 기반 프로토콜을 사용합니다. 이 프로토콜은 TCP / IP 및 유닉스 도메인 소켓을 통해 지원됩니다 . 포트 번호 5432 는 IANA에이 프로토콜을 지원하는 서버의 일반적인 TCP 포트 번호로 등록되었지만 실제로는 권한이없는 포트 번호를 사용할 수 있습니다.

따라서 유닉스 도메인 소켓은 네트워크를 통해 사용되지 않기 때문에 iptables 에 관해서 는 tcp프로토콜을 사용합니다.

iptables 예 :

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

참고 :

Lekensteyn이 지적한 것처럼 , 특히 해당 네트워크 연결을 통해 SSL을 활성화하는 것이 좋습니다 ( TCP-over-SSL 사용 에 관한 postgresql 문서 참조 ). 이 경우 iptables 규칙은 변경되지 않습니다. 동일한 포트 (5432), 동일한 프로토콜 (tcp).


1

기본적으로 PostgreSQLt는 TCP 포트 5432에서 수신 대기합니다. 다음 iptables 규칙을 사용하면 들어오는 클라이언트 요청을 허용합니다 (포트 5432 열기).

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

여기서 xxx.xxx.xxx.xxx는 연결하려는 서버의 IP이므로 postgres를 전세계에 열지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.