포트포워딩이란
포트포워딩이란 무엇인가?
옛날 포트포워딩이란 개념을 처음으로 본인이 사용 했던 것이, 스타크래프트를 집에서 베틀넷으로 즐기기
위해서였던 것 같다. 그 당시는 아무래도 98년정도 였던 것 같은데, 포트라는 개념에 대해서도 명확히
서지 않았고, 더 나아가 포트 포워딩이란 말은 더욱더 생소하기 그지 없었다. 그저 인터넷에 떠도는 방법대로
하기만 하면 문제 없었기 때문이다.
그렇다면 포트포워딩은 무엇이고 왜 필요한것일까? 그 질문에 답하기전에 일단 IP와 포트에 대해서 알필요가 있다.
IP는 왠만한 컴퓨터를 사용할 줄 아는 사람이라면 모르는 사람이 없을 거라 생각한다.
여러분이 아는 것 처럼 IP는 집주소라고 생각하면 된다. 집주소를 알아야 집을 찾아갈 것이 아닌가?
그럼 포트번호는 무엇인가? 어디에 비교하면 좋을까 생각하다 고민한 끝에 IP를 집주소라고 했다면
포트번호는 집에 있는 방이라고 생각하면 될까? 왜냐하면 한 IP 주소에는 수많은 포트들이 존재하기때문이다
예를 들어 집에 비교하자면 잠을 잘때는 안방을 이용하고, 밥을 먹을때는 부엌을 이용하고, TV를 볼때는
거실을 이용한다. 마찬가지로 인터넷을 할때는 80 포트번호를, FTP는 21번 , 텔넷은 23번 등과 같이
통상적으로 약속된 포트를 사용하여 통신을 한다. 물론 송신자와 수신자가 약속을 하면 포트번호는 얼마든지
바꿀 수 있다. 즉 다시 말해 포트는 해당 IP에 물려있는 PC의 프로그램들이 사용하는 통로라고 보면 될 것 같다.
우리가 흔히 방화벽이야기 할때 포트랑 떼놓고 이야기 할 수 없는 것이, 방화벽을 막는다 연다 할때
해당 포트를 열어 주는 것을 의미하기 때문이다. (물론 IP 자체를 차단하는 방법도 있지만..)
위 그림을 보면 IPTIME 공유기를 예로 하고 있는데, 다른 공유기도 거의 비슷한 구성을 가지고 있다.
일단 왼쪽 메뉴에서 NAT/라우터 관리-> 포트포워딩 설정으로 들어간다.
그럼 오른쪽 화면에 설정 화면이 뜨는데, 내부 IP 주소에 위 그림에 있는 A,B,C,D 장치의 IP를 입력하고
열어줄 포트를 설정한다. 여기서 외부 포트랑 내부 포트가 있는데, 예를 들어 외부에서 1000 포트로 들어오는경우
B PC로 패킷을 건네줄때는 21번 포트인 것처럼 동작하게 할려면 외부는 1000을 입력 내부는 21번을 입력하면
된다. 물론 외부 21 내부 21입력하면 별다른 신경없이 쓸 수가 있다.
그런데 이렇게 외부,내부를 분리한 이유는 다음과 같은 경우를 생각해볼 수 있다. B,C,D모두 FTP를 사용하고
싶을때 해당 각 PC들에 설치한 FTP서버는 21번 포트만 인식을 하지만, 외부에서 포트 포워딩 해줄수 있는 내부,
외부 포트 설정 기능이 없다면 한대밖에 불가능 할 것이다.
B컴퓨터 내부 IP주소 192.168.0.2 , 외부 : 1000 - 내부 : 21
C컴퓨터 내부 IP주소 192.168.0.3 , 외부 : 1001 - 내부 : 21
D컴퓨터 내부 IP주소 192.168.0.4 , 외부 : 1002 - 내부 : 21
위 처럼 설정을 하면 외부에서 접속시 포트번호만 다르게 하여 내부 B,C,D 컴퓨터 모두에 접근을 할 수 있는
것이다. 이처럼 포트포워딩을 잘만 활용하면 그 활용도는 그야말로 엄청나다고 할 수있겠다.