우분투 12.04 클라우드 서버의 기본 포트 5432에서 실행되는 postgres 9.1 서버가 있습니다.
포트를 열고 싶어서 원격 쿼리를 할 수 있지만 IP 테이블에서 포트를 열어야하는데 프로토콜을 지정해야합니다. 이 문서 에는 TCP / UDP 등이 언급되어 있지 않습니다.
IP 테이블에서 어떤 프로토콜을 허용해야합니까?
우분투 12.04 클라우드 서버의 기본 포트 5432에서 실행되는 postgres 9.1 서버가 있습니다.
포트를 열고 싶어서 원격 쿼리를 할 수 있지만 IP 테이블에서 포트를 열어야하는데 프로토콜을 지정해야합니다. 이 문서 에는 TCP / UDP 등이 언급되어 있지 않습니다.
IP 테이블에서 어떤 프로토콜을 허용해야합니까?
답변:
프로토콜은 일반 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).