[Server] 포트포워딩이란? 포트포워딩 하는 법
카테고리: Server
태그: IIS Port Forwarding Server
포트포워딩이란?
서버와 네트워크를 공부하다 보면, 포트(Port)라는 용어를 많이 듣게 됩니다. 현실세계에서 포트라고 하면 입력단자를 꽂는 연결통로 정도로 알고 있었습니다.
그렇다면 소프트웨어에서의 포트란 무엇을 뜻하는걸까요?
포트는 논리적인 접속장소 이며, 특히 인터넷 프로토콜인 TCP/IP를 사용할 때에는 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용된다.
즉, 네트워크 상에서 통신을 할 때 IP를 토대로 접근을 하게 되지만, 해당 IP로만 접근해서 모든 기능에 접근할 수 있게 된다면 잘못된 것이겠죠. 그래서 해당 IP로 접속하게 되면 접근을 원하는 서버의 경로를 알려주게 되는데, 그것이 포트(Port)
의 개념 입니다.
그러면, 포트번호는 어떻게 설정되어 있을까요?
포트번호는 16비트의 논리적 할당으로 -~65536번이 존재 합니다.
이중에, 0~1023
번까지는 이미 어떤 통신이 해당 포트를 사용할 것인지 정해져 있습니다.
예를들면, http 통신은 80포트, FTP 통신은 21포트 가있습니다.
그래서 이렇게 정해져 있는 포트를 Well-Known Port
라고 합니다.
자 그럼 이제 해당 IP의 Well-Known Port
로만 접근하면 해당 기능을 무조건 사용할 수 있는 걸까요?
아닙니다. 이렇게 되면, 누구나 IP만을 알게 된다면 해당 서버에 접근이 가능합니다. 이것은 보안상 좋지 않은 방법입니다.
그렇기 때문에, 외부에서 들어오는 포트를 지정하고, 그 포트를 해당 Well-Known Port
로 연결해서 사용하게 합니다. 이것을 하게 해주는 것이 바로 Port Forwrading
입니다.
즉, 정리하면
포트포워딩이란 간단히 말해서 포트를 전달해 주는 것이라고 생각하면 됩니다. 특정한 포트로 들어오는 데이터 패킷을 다른 포트로 바꿔서 다시 전송해주는 작업 입니다.
포트포워딩 하는 방법
저는 이번에 공유기를 통해서 서로 연결되어 있는 상태에서 포트포워딩을 진행했습니다.
컴퓨터 1에서 VMWare로 가상환경을 구축하여, 거기에 IIS 웹서버를 깔아놨습니다.
ip주소 확인하는 방법
이제 연결을 하기 위해서는 각 컴퓨터의 IP주소를 알아야 합니다.
IP는 Public IP
, Private IP
이렇게 구성되어 있습니다.
Public IP
는 외부에서 나의 LAN으로 접속하기 위한 IP 입니다.
Pirvate IP
는 각 기기마다 할당된 IP를 말합니다.
저는 이번에 외부에서 접근하는 포트포워딩이 아닌 내부망에서의 포트포워딩을 구현하였습니다.
우선 Private IP
를 알아야 합니다. Pirvate IP
는 CMD
창에 다음과같은 명령어를 입력해서 볼 수 있습니다.
ipconfig
밑줄친IPv4 주소옆에 있는 숫자가 Private IP
입니다.
그렇다면 노트북1에서 접근하는 시퀀스는 어떻게 될까요?
노트북1 -> 컴퓨터1 -> IIS 웹서버
의 순서 입니다.
따라서 노트북 1에서는 컴퓨터1로 통할 수 있도록 포트포워딩을 해야 합니다.
기본 GateWay
위의 사진에서 기본 게이트웨이 주소를 브라우저 주소창에 치게 되면, 공유기 설정으로 들어갈 수 있습니다.
공유기 설정에서 포트포워딩을 설정할 수 있습니다. 저는 ASUS 공유기를 사용하고 있습니다.
첫번째 칸부터 통신규약 이름
, 외부에서 접속할 포트
, 내부로 연결할 포트
, 접속하고싶은 Private IP
, 통신 프로토콜
입니다.
저는 컴퓨터1로 접속하고싶기에 컴퓨터1의 Private IP
를 입력해 줍니다.
포트는 8888번에서 8888번으로 설정하였습니다.
방화벽 설정
컴퓨터에는 보안을 위해 방화벽을 기본적으로 활성화 해놓습니다. 이 방화벽에서도 8888번 포트를 열어줘야 접근이 가능합니다.
윈도우 검색에서 방화벽 상태 확인 -> 고급설정으로 들어가 줍니다.
인바운드 규칙에서 오른쪽에 새 규칙
을 눌러 8888번 포트를 열어 줍니다.
컴퓨터1에서 VMWare로 포트포워딩
컴퓨터 1에서 포트가 열려있는지 또는 접속이 되었는지 확인하는 방법은 CMD
에 다음 명령어를 기입하면 됩니다.
netstat -ano
해당 명령어를 치고 위로올리면 8888번 포트가 Listening 중이라는 문구를 볼 수 있습니다.
이제 VMWare 통해 8888 -> 80 포트로 포트포워딩을 해줍시다.
방법은 VMWare Pro를 설치해야만 가능합니다.
Eidt->Virtual Network Editor 로 들어가시면 VMnet8
이라는 속성이 있습니다. 아래의 Nat Setting
을 열어줍니다.
Add
를 눌러 VMWare 안의 운영체제의 포트번호를 넣고, 80포트로 설정해주면됩니다.
이렇게하면 외부에서 접근이 가능합니다.
댓글 남기기