본문 바로가기

운영체제/Linux/Ubuntu

SSH 터널링을 이용한 방화벽 내부 접속하기(양방향 중계)

1. 연결을 위한 환경
사용자 삽입 이미지
그 림과 같이 접속PC는 접속서버에 접속을 해서 작업을 해야 한다. 하지만 접속 서버는 외부와 완전히 차단된 상태이며, 중계PC만이 서버에 접속 가능하다. 또한 중계PC 역시 외부와의 접속만 허용될 뿐 피씨로 외부에서 접속되는 것은 차단되어 있다.

2. 중계서버 : ssh데몬이 있는 리눅스 서버여야 하며, 포트포워딩이 활성화 되어 있어야 한다. /etc/ssh/sshd_config의 내용 중에서 다음
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
ClientAliveInterval 30
ClientAliveCountMax 9999
대략 위와 같이 설정하면 Clien.... 이 값은 적절히 맞춰서 사용하면 된다. 설정을 하였으면 sshd 데몬을 재실행하면 중계서버 설정은 끝이다.

3. 중계PC : 윈도우용 피씨로 가정하고 Putty에서의 설정은 다음과 같이 하면 된다.
사용자 삽입 이미지
Source port: 20000 <= 접속 컴퓨터에서 접속할 포트 번호이다.
Destination: 10.0.0.1:22 <= 접속을 해야할 접속 서버와 접속 포트 번호
Remote : 반드시 이곳에 체크를 해주어야 한다.
사용자 삽입 이미지
이제 중계PC에서 중계서버로 접속을 하면 된다. Session항목으로 와서 중계서버의 주소와 포트를 입력하고 필요시 Save를 해두고 접속을 하면 된다.
접속이 이루어 졌을때 중계서버에서 포트를 확인하면 '20000'번 포트가 Listen된 것을 확인 할 수 있다.

3. 접속PC : 이제 남은 것은 접속하는 일. 접속할 컴퓨터에서 Putty를 이용해서 중계서버의 20000번 포트로 연결하자!! 그럼 중계서버를 통해.. 그리고 중계PC를 타고 접속서버로 연결이 되어진다.
사용자 삽입 이미지
위의 예제는 SSH를 연결하기 위한 것이다.  웹서버였다면 웹으로 연결을 해야겠죠^^