>

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

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

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

  • 답변 # 1

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

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

    와이즈 비즈

    iptables와 관련하여

    PostgreSQL uses a message-based protocol for communication between frontends and backends (clients and servers). The protocol is supported overTCP/IPand also over Unix-domain sockets.Port number 5432has been registered with IANA as the customary TCP port number for servers supporting this protocol, but in practice any non-privileged port number can be used.

    를 사용하십시오.  프로토콜은 유닉스 도메인 소켓이 네트워크를 통해 사용되도록되어 있지 않습니다.

    iptables예 :

    tcp
    
    

    참고:

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

  • 답변 # 2

    기본 PostgreSQLt는 기본적으로 TCP 포트 5432를 수신합니다. 다음 iptables를 사용하십시오. 규칙은 들어오는 클라이언트 요청을 허용합니다 (오픈 포트 5432).

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

    어디에서 xxx.xxx.xxx.xxx는 연결중인 서버의 IP이므로 postgres를 전 세계에 열지 않습니다.

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

관련 자료

  • 이전 solaris - 프로필을 제거하는 방법?
  • 다음 터미널 색상 이스케이프 시퀀스는 bash의 어디에나 정의되어 있습니까?