우분투 방화벽 설정과 MongoDB bindIp 설정 ( Mongodb 방화벽 설정 )

2023. 4. 16. 21:42mongodb

반응형

mongodb의 기본 포트 27017 기준으로 설정을 알려주겠다.

방화벽 설정이 되지 않으면 아래와 같은 에러가 난다.

MongoNetworkError: failed to connect to server [서버 IP 주소]:[포트 번호] on first connect [MongoNetworkError: connect ECONNREFUSED [서버 IP 주소]:[포트 번호]]

 

1. 방화벽 상태 - 실행 여후 확인

sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)

- 27017 포트가 없는 것을 확인 할  수 있다. 

 

2. 우분투 방화벽 설정

sudo ufw enable

 

3. 포트 27017 방화벽에 추가

sudo ufw allow 27017/tcp

 

4. mongodb 클라이언트 허용 ip 설정

sudo vi /etc/mongod.conf

/etc/mongod.conf 은 기본 설치 위치이며, 각각의 서버에서 설치한 위치를 찾아 mongod.conf를 찾아서 변경해야 한다. 

 

5. 4번을 열면 아래와 같이 써있다. 

net:
  bindIp: 127.0.0.1 # 로컬 호스트에서만 접속 가능하게 설정합니다.

 

해당 bindIp를 수정해준다. 위 ip는 로컬에서만 접속할 수 있다. ip 범위는 각자 설정한다. 

나는 이번 예제에서 모든 ip를 열겠다.

 

net:
  bindIp: 0.0.0.0 # 모든 IP 주소에서 접속 가능하게 설정합니다.

 

6. Mongodb를 재시작 한다. 

sudo systemctl restart mongod

 

 

그럼 작업이 끝났다. 

 

7. 번외

 

혹시 27017 포트가 마음에 들지 않으면, 아래와 같이 수정하면 된다.

sudo vi /etc/mongod.conf

 

mongod.conf를 열고 아래와 같이 수정한다. 

net:
  port: 27018
  bindIp: 127.0.0.1

 

 

반응형