본문 바로가기
ETC/개발환경 설정

내 컴퓨터 데이터베이스 외부에서 접속하기(오라클DB, 방화벽 설정)

by heekng 2021. 1. 20.
반응형

갓 개발공부를 시작한 초보 개발자입니다.

부족한 부분이 있을 수 있으니 참고만 부탁드립니다.


 

데이터베이스를 공부하기 시작하면서 내가 만든 프로그램을 외부에서 이용할 때 내 컴퓨터의 데이터베이스에 접속해야하는 경우가 있습니다.

저같은 경우 실 생활에서 써볼까? 하는 JAVA프로그램을 만들고 집이 아닌 장소에 설치해서 사용하려 했습니다.

문제는 항상 공부하던 내용에서 JDBC URL 설정을 Localhost로 설정한다는 점이였고, 이를 데이터베이스가 설치되어있는 제 컴퓨터의 IP주소로 바꾸더라도 외부에서는 접속이 안된다는 것이였습니다.

때문에 제가 설정해서 성공한 방법을 공유하려 합니다.


1. 내 데이터베이스 (오라클DB) 포트 확인하기

제가 사용하는 데이터베이스는 Oracle 11g xe버전이며 제 기준으로 설명하겠습니다.

먼저 C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN (경로는 사용자의 컴퓨터에 따라 다를 수 있습니다.) 에 들어가 listener.ora파일을 열어줍니다.

다음으로 LISTENER에 있는 포트번호를 확인해줍니다.

오라클 기본폰트는 1521이며 따로 변경하지 않는 이상 동일합니다.


2. 공유기 포트포워딩 하기

윈도우 컴퓨터 기준 외부에서 내 컴퓨터에 접속하는 경로는 다음과 같습니다

외부에서 접속할 때 클라이언트는 내 인터넷과 연결된공유기를 먼저 지나와야 합니다.

iptime기준 cmd - ipconfig 명령어로 현재 연결된 공유기의 기본 게이트웨이를 확인합니다.

크롬 주소창에 기본 게이트웨이를 입력하고 공유기 관리페이지로 접속하고,

공유기 관리 페이지에서 포트포워드 설정에 들어갑니다.

내부 IP주소를 현재 접속된 PC의 IP주소로 설정, 규칙이름을 정하고 프로토콜은 TCP로 설정합니다.

외부포트와 내부포트는 모두 오라클 포트인 1521로 설정하고 추가합니다.

*외부포트: 외부에서 접근할때 이용하는 포트

*내부포트: 외부포트로 들어왔을 때 넘겨줄(연결시켜줄) 내부의 포트

여기까지 하면 공유기 포트포워드는 끝납니다.


3. 컴퓨터 방화벽 설정

외부에서 집에 있는 공유기까지 접속이 되었다면 컴퓨터로 접근할 때 윈도우 방화벽을 열어줘야합니다.

방화벽을 검색해 접속합니다.

인바운드 규칙 - 새 규칙을 선택합니다.

규칙종류: 포트

 

특정 로컬 포트 - 원하는 포트 입력 (지금의 경우 원하던 내부 포트인 1521포트)

연결 허용

모두 선택한 후 다음을 누르겠습니다 (선택사항)

이름을 정하고 마침을 누릅니다.

추가된 인바운드 규칙 더블클릭 - 고급 탭 선택 - 에지통과에서 에지 통과 허용

까지 진행되었다면 방화벽 설정은 완료됩니다.


모든 과정을 끝내셨다면 cme - ipconfig로 확인한 내 ip주소와 개방한 포트번호를 통해 어느 곳에서든 JDBC, SQLDebeloper, DBeaver등에서 내 DB에 접속할 수 있게 됩니다.

반응형