DataBase/PostgreSQL

PostgreSQL 외부 IP에서 연결 설정 방법

검은고양이개발자 2025. 1. 11. 01:30
반응형

PostgreSQL은 기본적으로 보안을 위해 **로컬 연결(localhost)**만 허용하도록 설정되어 있습니다. 외부 IP에서 PostgreSQL 데이터베이스에 연결하려면 다음 설정을 추가해야 합니다.


1. pg_hba.conf 파일 수정

pg_hba.conf는 PostgreSQL의 인증 방식을 정의하는 설정 파일입니다. 외부 IP에서 접근을 허용하려면 아래와 같은 설정을 추가해야 합니다.

  • pg_hba.conf 경로: PostgreSQL 설정 디렉터리에서 확인할 수 있습니다. 예:
C:\Program Files\PostgreSQL\17\data\pg_hba.conf
  • 설정 추가:
# 모든 IPv4 주소 허용 (보안상 비추천)
host    all             all             0.0.0.0/0               md5

# 특정 네트워크 대역만 허용 (추천)
host    all             all             192.168.0.0/24          md5

설명:

  • 0.0.0.0/0: 모든 IPv4 주소 허용 (주의: 보안상 비추천).
  • 192.168.0.0/24: 192.168.0.0부터 192.168.0.255까지의 내부 네트워크 대역만 허용.
  • md5: 비밀번호 기반 인증 방식.

주의:

  • trust 인증 방식을 사용하지 않는 것이 좋습니다. 반드시 PostgreSQL 사용자 계정에 비밀번호를 설정하세요.

2. postgresql.conf 파일 수정

postgresql.conf는 PostgreSQL의 네트워크 관련 설정을 정의하는 파일입니다.

  • postgresql.conf 경로: PostgreSQL 설정 디렉토리에서 확인할 수 있습니다. 예:
C:\Program Files\PostgreSQL\17\data\postgresql.conf
  • listen_addresses 수정:
listen_addresses = '*'
  • 또는 특정 IP만 허용하려면:
listen_addresses = '127.0.0.1,192.168.0.205'

설명:

  • *: 모든 IP에서 접근 허용.
  • 특정 IP를 지정하면 그 IP에서만 PostgreSQL이 요청을 수락합니다.

3. 방화벽 설정 확인

PostgreSQL이 사용하는 기본 포트 5432가 방화벽에 의해 차단되어 있지 않은지 확인해야 합니다.

  • 방화벽 설정 확인 및 열기 (Ubuntu):
sudo ufw allow 5432/tcp

Windows 방화벽에서 포트 열기:

  1. Windows 검색에서 "고급 보안이 포함된 Windows Defender 방화벽" 실행.
  2. 인바운드 규칙새 규칙포트 선택.
  3. TCP5432 입력 후 허용.

 

반응형