인터넷 상의 컴퓨터를 내 컴퓨터로 연결하도록 설정해주는 포트포워딩에 대해 알아본다.
인터넷을 사용하기 위해서는 IP 주소가 있어야 한다. 현재 우리가 대부분 사용하고 있는 IPv4 아이피 체계는 0~255까지의 숫자 4개로 구성되며, 2의 32제곱인 약 42억개의 주소만 할당할 수 있다. 전 세계적으로 폭발적으로 IP 주소에 대한 수요가 증가하게 되면서 IP 주소 또한 부족해졌고, 따라서 별도의 공용 네트워크가 아닌 사설 네트워크를 구축하여 하나의 공용 IP를 여러개의 장비들에서 나눠 사용할수 있도록 하는 공유기를 보편적으로 사용하게 되었다. 공유기는 NAT(Network Address Translation)을 통해 공용 네트워크와 사설 네트워크를 연결해주게 된다.
공용 네트워크 (WAN): Wide Area Network의 줄임말로, 전세계적으로 네트워크에 접속할 수 있는 네트워크를 말함. 공용 IP 주소(Public IP Address)가 할당됨.
사설 네트워크 (LAN): Local Area Network의 줄임말로, 한정된 지역에서 개인이 사용하는 장치들이 연결된 내부 네트워크를 말함. 사설 IP 주소(Private IP Address)가 할당됨.
공유기를 사용하는 경우, 외부에서 공유기까지는 공용 IP 주소로 쉽게 접근 가능하지만, 공유기에 연결된 디바이스까지 접속하기 위해서는 사설 IP 주소와 포트가 필요한데, 이를 전달해주는 역할을 하는 것이 포트포워딩이다.
간단하게 말하면 외부에서 공용 IP 주소 외부 포트로 신호를 보내면, 공유기가 해당 신호를 사설 IP 주소 내부 포트로 전달해 주는것을 포트포워딩이라고 한다.
대부분의 가정에서 사용하는 ipTime을 예로 들면, 고급설정 - NAT/라우터 관리 - 포트포워드 설정에서 서비스하고자 하는 컴퓨터의 IP 주소를 내부 IP 주소로 설정하고, 외부 포트와 내부 포트 또한 알맞게 설정해주면 간단하게 홈서버를 배포할 수 있다.
하지만 네트워크 - SK 모뎀 - ipTime 공유기 - 디바이스의 순서로 서비스되는 우리집에서는 공유기의 포트포워딩 설정만으로는 서비스가 불가능했다. ipTime 공유기의 사설 네트워크 안에서는 포트포워딩이 정상적으로 이루어졌지만, 공용 네트워크에서 접속할때에는 SK 모뎀에서 신호를 잃어버리게 된다.
따라서 해결방법은 SK 모뎀에서 ipTime 공유기로 포트포워딩을 해서 2중으로 포트포워딩을 하는 방법과 SK 모뎀의 설정값을 브릿지로 변경하여 주는 방법이 있었다.
첫번째 방법은 따로 설명할 필요 없이 포트포워딩을 2번 해주는 방식이고, 두번째 방법은 SK 모뎀의 공유기 기능을 삭제하고 ip를 분배해주는 역할로써 존재하게 하는 것이다.
무슨 말이냐면 SK 모뎀은 초기 설정상 NAT, 즉 사설 네트워크를 한번 만들고 ipTime 공유기를 통해 다시 한번 사설 네트워크를 만들도록 되어있는데, 그렇게 되면 포트포워딩이 2번 필요해진다.
따라서 SK 모뎀의 NAT 기능을 브릿지로 변경해주어, 공유기가 아닌 공용 IP 주소를 전달만 해주는 방식으로 변경해주면 사설 네트워크를 ipTime 한번만 거치게 되어 포트포워딩이 1번만 필요하게 된다.
처음에는 왜 안되지 하고 애를 많이 먹었지만, 알고보면 사실 복잡한 문제는 아니었다. 포트포워딩을 통해 손쉽게 내 프로젝트를 배포할 수 있었고, 내가 서버를 켜놓는 동안에는 친구들이나 가족들이 댓글을 달 수 있어서 매우 뿌듯했다.