테라텀(TeraTerm) SSH 포트 포워딩(터널링) 하는 방법
예를 들어 서버A서버B는 서로 통신이 가능하고 내 PC에서 서버 A에 접근이 가능하지만 내 PC에서 서버B로의 접근은 불가능한 경우가 있습니다. 다음과 같은 경우입니다.



그런데 내 PC에서 서버A에 접근이 가능하다는 점을 이용하여 서버A를 전달 매개체로 하여 서버B에 접속할 수 있는 방법이 있는데, 이것이 포트포워딩 또는 터널링 기능입니다. 기본적으로 putty로 이러한 기능이 있으나 이번 글에서는 TeraTerm을 이용한 포트포워딩 사용 방법을 알아보도록 하겠습니다.



먼저 위 그림과 같은 시나리오가 있을 수 있습니다. 내PC에서 서버A로 원격 접속이 가능합니다. 서버A와 오라클 DB 서버는 같은 사설 네트워크에 있습니다. 서버A는 방화벽(22번 포트)을 외부인터넷망에 열어주었기 때문에 내PC에서 서버A로 접근이 가능합니다.

 

 

 

 


그러나 오라클서버는 외부 인터넷망으로 자신의 포트인 1521을 개방하지 않았습니다. 따라서 내PC에서는 서버A로의 접근은 가능하나 오라클서버로는 접근이 불가능합니다. 서버A도 사설 네트워크에서 사용하는 내부IP주소가 있겠지만 여기서는 중요하지 않습니다.

먼저 내PC에서 TeraTerm을 통해 서버A로 접속한 후 로그인합니다.

이후에 TeraTerm 상단메뉴의 설정 > SSH 전달...을 클릭합니다.



다음 창에서 추가... 버튼을 클릭합니다.




지역 포트 포워드 부분에 임의로 사용하고 싶은 포트를 적습니다. 실제 오라클 서버의 포트가 아닌 내가 임의로 사용하고 싶은 포트를 적는것입니다. 이후에 원격 컴퓨터로 부분에 실제 오라클의 IP와 포트를 적습니다. 현재 서버A에 접속해 있는 상태이고, 서버A를 기준으로 적어주면 됩니다. 서버A를 기준으로 오라클서버는 사내망에 있고 192.168.0.3:1521이기 때문에 내부IP와 포트번호를 적습니다. 모두 입력헀다면 확인버튼을 눌러줍니다.



이제 내PC에서는 어떤식으로 오라클서버에 접근해야 할까요? 포트포워딩을 사용하면 내 PC에 앞서 임의의 포트(지역포트포워드)에 입력했던 포트번호로 소켓을 열고 서버A를 통해 오라클서버와 통신을 하게 됩니다.

따라서 sqldeveloper같은 DB 클라이언트를 통해 오라클서버로 접근하고자 한다면 IP는 실제 오라클이 아닌 내PC 자신을 가리키는 루프백주소 127.0.0.1이나 localhost를 입력하고 앞서 입력했던 임의의 포트 1522를 입력해 주어야 합니다.



참고로 앞서 설정시에 임의의 포트번호를 실제 오라클 포트번호와 동일한 1521로 설정해도 되지만 간혹 내 PC에도 개발을 위한 오라클 서비스를 띄워놓는 경우가 있는데 이때는 localhost:1521이 포트포워딩과 내PC에 떠있는 오라클서비스와 충돌이 나기때문에 다르게 해주어야 합니다.

블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!