PostgreSQL - 모든 IP 원격 접속 허용
PostgreSQL은 IP를 기반으로 한 접근 제어를 통해 보안 증대 효과를 보고있습니다.
최초 설치시 localhost에서만 접근만을 허용하기 때문에 어떠한 원격 접속이 불가합니다.
때문에 우리가 사용하고 있는 IP를 허용해주는 설정이 필요합니다.
이 설정을 수행하지 않고 접속을 시도할 경우 아래와 같은 Error가 발생합니다.
1. pg_hba.conf file 수정
■ 하나의 IP / IP 대역 허용
위 설정은, 192.168.0.X/24 대역의 모든 User가 모든 DB에 접근이 가능하며, 192.168.1.50/24 IP의 모든 User가 모든 DB에 접근이 가능하다는 설정입니다.
참고로 /24는 Subnetmask 255.255.255.0을 의미합니다.
(255.255.255.0은 11111111.11111111.11111111.00000000이므로 24bit이기 때문입니다.)
■ 모든 IP / IP 대역 허용
위와 같이 설정할 경우, Access할 수 있는 IP를 일일히 입력해줘야 된다는 번거로움이 있습니다.
모든 IP를 허용하고자 할 경우, 아래 내용을 /etc/postgresql/9.1/main/pg_hba.conf에 추가해주시면 됩니다.
3. postgres.conf 수정
/etc/postgresql/9.1/main/postgresql.conf file을 열어, 'listen_address' 값을 변경합니다.
이제 원격을 통한 DB 접속이 가능해졌습니다.
최초 설치시 localhost에서만 접근만을 허용하기 때문에 어떠한 원격 접속이 불가합니다.
때문에 우리가 사용하고 있는 IP를 허용해주는 설정이 필요합니다.
이 설정을 수행하지 않고 접속을 시도할 경우 아래와 같은 Error가 발생합니다.
1. pg_hba.conf file 수정
■ 하나의 IP / IP 대역 허용
<root@linux># vi /etc/postgresql/9.1/main/pg_hba.conf
host all all 192.168.0.0/24 md5
host all all 192.168.1.50/24 md5
host all all 192.168.0.0/24 md5
host all all 192.168.1.50/24 md5
위 설정은, 192.168.0.X/24 대역의 모든 User가 모든 DB에 접근이 가능하며, 192.168.1.50/24 IP의 모든 User가 모든 DB에 접근이 가능하다는 설정입니다.
참고로 /24는 Subnetmask 255.255.255.0을 의미합니다.
(255.255.255.0은 11111111.11111111.11111111.00000000이므로 24bit이기 때문입니다.)
■ 모든 IP / IP 대역 허용
위와 같이 설정할 경우, Access할 수 있는 IP를 일일히 입력해줘야 된다는 번거로움이 있습니다.
모든 IP를 허용하고자 할 경우, 아래 내용을 /etc/postgresql/9.1/main/pg_hba.conf에 추가해주시면 됩니다.
host all all 0.0.0.0/0 md5
2. Service restart
설정 값 변경을 적용시키기 위해 Service를 재시작합니다.
설정 값 변경을 적용시키기 위해 Service를 재시작합니다.
<root@linux># /etc/init.d/posgresql restart
* Restarting PostgreSQL 9.1 database server [ OK ]
* Restarting PostgreSQL 9.1 database server [ OK ]
3. postgres.conf 수정
/etc/postgresql/9.1/main/postgresql.conf file을 열어, 'listen_address' 값을 변경합니다.
<root@linux># vi /etc/postgresql/9.1/main/postgresql.conf
listen_addresses = '*'
listen_addresses = '*'
4. PostgreSQL 원격지 접속
이제 원격을 통한 DB 접속이 가능해졌습니다.
0 comments:
Post a Comment