Tunnels, Port Forwarding
from
1.
Tunnels, Port Forwarding
putty 에서는 Tunnels Secure CRT 에서는 Port Forwarding 이라
한다.
이름을 보면 알 수 있듯이 최종목적지로의 우회경로를 제공한다.
기존의 유저 – 타겟 의
1:1 관계가 아닌 유저 – 우회 – 타겟 의
관계를 가진다.
telnet protocol 에서는 제공되지 않는다. ssh 에서 제공되는 기능이다.
2.
사용하는
경우
A,B,C 환경이
있고 B는 C의 입장에서 신뢰받는 이용자이다. 즉 접근권한을 가지고 있다. A의 경우 B로의 접근권한을 가지지만 C로의 접근권한은 가지고 있지 않다. 이러한 경우 A가 C로의
접근을 하기 위한 방법으로 사용된다.
3.
Test 환경구성
A.
사용자 컴퓨터에 구성된 두개의 가상머신을
이용했다.
B.
각 머신의 내용은 아래와 같다.
유저 : 현재사용하는
컴퓨터, oracle client 설치되어있는 상태
(C:\Windows\System32\drivers\etc\hosts
- 위치가 다를 수도 있음 – 에
127.0.0.1 추가)
우회 : 192.168.100.100 (ssh)
타겟 : 192.168.100.101 (oracle open 상태, listener start 되 있는 상태)
4.
Tunnels
A.
PUTTY 설정
192.168.100.100 에 ssh 로 접속한 후 화면상에서 우클릭으로 change setting 항목을 연 화면이다.
Source port 에 Local Machine 에서 포워딩에 사용할 포트를 입력하고 Destination 에 타겟이 되는 서버의 ip 와 포트를 입력한다. 그 후 add를 누른 다음 apply 한다.
B.
사용예제
우선 기존에 정의되어 있던 로컬 PC 의 tnsnames.ora 는 아래와 같다.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.100.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
이 상태에서 ORCL 과
커넥션을 맺고 192.168.100.101 에서 NETSTAT으로
조회하면
다음과 같은 결과를 볼 수 있다.
ocp@orcl
: /home/oracle> netstat -a | grep 1521
tcp 0
0 *:1521
*:* LISTEN
tcp 0
0 ocp.mycorpdomain.com:37854
ocp.mycorpdomain.com:1521
ESTABLISHED
tcp 0
0 192.168.100.101:1521 192.168.100.1:57555
ESTABLISHED
tcp 0
0 ocp.mycorpdomain.com:1521
ocp.mycorpdomain.com:37854
ESTABLISHED
ocp@orcl
: /home/oracle>
192.168.100.1 은 필자 PC 에 정의한 GATEWAY 주소이다.
간단히 표현하면
아래와 같다.
ORACLE CLIENT (LOCAL) – LOCAL GATEWAY –
VMWARE(192.168.100.101:1521 – ORCL)
다음은 위에서
만든 터널을 가지고 접근해 보겠다.
수정한 TNSNAMES.ORA 는 아래와 같다.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL
= TCP)(HOST = 127.0.0.1)(PORT = 8888))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME =
ORCL)
)
)
이 상태에서 ORCL 과 커넥션을 맺고 192.168.100.101 에서 NETSTAT으로 조회하면
아래와 같은
결과를 볼 수 있다.
ocp@orcl
: /home/oracle> netstat -a | grep 1521
tcp 0
0 *:1521
*:* LISTEN
tcp 0
0 192.168.100.101:1521 192.168.100.100:34319
ESTABLISHED
tcp 0
0 ocp.mycorpdomain.com:37854
ocp.mycorpdomain.com:1521
ESTABLISHED
tcp 0
0 ocp.mycorpdomain.com:1521
ocp.mycorpdomain.com:37854
ESTABLISHED
ocp@orcl
: /home/oracle>
결과를 보면 192.168.100.100 으로부터의 커넥션으로 조회된다.
5.
Port Forwarding
A.
SECURE
CRT 설정
PUTTY의 경우와
동일
B.
사용예제
PUTTY 와 동일한 과정을 밟으며 PUTTY의 CHANGE SETTING 과정 대신 아래의 과정을
밟는다. 터널로 이용할 세션을 열고 해당 세션에서 우클릭 하면 SESSION
OPTIONS 라는
메뉴가 나온다. 아래의 그림은 그 메뉴를 선택했을 때 팝업되는 화면이다.
CONNECTION 카테고리를 보면 PORT FORWARDING 이란 항목이 있고 ADD 를 클릭하면
포트포워딩
이름을 지정할 수 있고 어떤 포트를 사용할지 그리고 REMOTE 연결내용을
입력 할
수 있다. 이 과정을 마치고 PUTTY 에서의 과정을 밟으면
우회접근이 가능하다.
6.
유의사항
사용시 터널로 이용되는 세션이 살아있어야 한다. TIMEOUT 이
존재하는 연결의 경우 topas 나 top 과 같은 명령어를
이용해 연결을 유지하기도 한다.