본문 바로가기

LINUX

[LINUX]포트포워딩을 통한 외부접속 허용

LINUX 터미널을 계속 사용해도 되지만, putty나 xshell을 사용해 ssh원격 접속을 하여 작업하면 더욱 편할 것 같다.

그럴때는 포트포워딩을 하여 외부에서도 접속을 허용하면 된다.

 

포트포워딩(Port Forwarding)

“포트를 전달하는 것”

특정한 포트로 들어오는 데이터 패킷을 다른 포트로 변경하여 전송하는 작업.

수신 데이터가 방화벽을 우회하도록 하여 인터넷 연결 속도를 개선한다.

특정한 방식으로 라우팅을 설정하여 데이터를 이동시키는 방법으로써 기본적으로 라우터에 일부 데이터를 네트워크 내의 특정 기기로 전송하라고 명령한다.

 

Virtual Box에서 포트포워딩이란?

우리가 배우고 있는 Virtual Box 내 포트포워딩

virtual box 의 기능 중 포트포워딩 기능을 사용하면, ip에 라우터의 고정 ip를, 포트에 외부에서 이용하려는 서비스 포트를 적고 게스트 ip에는 가상머신의 고정 ip를 게스트 포트는 내가 지정해 놓은 서비스의 포트를 적어 설정한다.

포트포워딩을 설정하면 Putty(외부 SSH)연결을 통해 게스트 ip와 포트를 지정해 가상 머신의 os에 들어갈 수 있게 된다.

 

 

시작해보자.

 

일단 우리의 기본 네트워크 어댑터 ip를 확인해보자.

ip addr

이 명령어를 사용하면 ip가 쭉 출력된다.

그 중 우리는 2번째 네트워크의 ip를 사용할 것이다. 잘 기억해 두어야 한다.

 

LINUX를 종료하고, Linux 설정 → 네트워크 → 포트포워딩을 클릭한다.

그러면 이러한 창이 뜰텐데

오른쪽의 +버튼을 클릭해 새로운 규칙을 생성한다.

이름은 자유롭게 적고, 프로토콜은 TCP, 호스트IP는 원격 작업을 할 IP를 적어주면 되는데, 현재 우리는 local에서 작업중이니 아무곳에서 원격 접속을 허용할 수 있게 하는 0.0.0.0을 입력해 주었다. 그리고 우리가 사용하는 포트인 22를 적어주고, 게스트 IP는 아까 기억해 두었던 IP, 게스트 포트도 마찬가지고 22로 설정해 주었다.

  • 이름 : 자유
  • 프로토콜 : TCP
  • 호스트 IP : 0.0.0.0
  • 호스트 포트 : 22
  • 게스트 IP : 2번째 IP
  • 게스트 포트 : 22

그리고 게스트 IP와 게스트 포트를 통해 접속해보면...

실패한다.. 왜일까?

 

바로 포트포워딩을 하면 나 자신에게 열어주기 때문에 localhost인 127.0.0.1로 접속을 해야 한다.

그러면 접속을 해보자

접속 해보면

외부에서도 잘 접속된다!