공유기 포트포워딩으로 외부 네트워크에서 TCP/IP 구현

2019. 7. 26. 16:51드론

개발환경 : ipTIME A8004T, VM VirtualBox ubuntu 18.04 LTS

 

1. 먼저 VM VirtualBox에서 네트워크를 NAT가 아닌 무선 네트워크 어댑터에서 바로 받아오도록 설정한다. NAT은 Host PC에서 IP를 할당받고, 어댑터에 브리지는 공유기에서 직접 IP를 할당받게 된다

 

 

2. 그러면 직접 공유기에서 IP를 할당받음을 확인할 수 있다

 

 

3. 그리고 ipTIME에 접속해서 포트포워딩 설정을 하도록 한다

 

 

다음과 같이 작성하되, 현재 접속된 IP주소로 클릭한다면 아마 호스트 운영체제에 할당된 IP가 잡히게 되니 반드시 ifconfig에 나온 VM에서 잡힌 IP로 설정하도록 한다

 

그리고 외부 포트, 내부 포트는 똑같이 설정하도록 한다. 외부 포트는 외부 IP에서 접속하는 포트. 내부 포트는 192.168.0.xx에서 접속하는 포트를 말한다. 헷갈리지 않도록 번호를 똑같이 할당하도록 한다

 

규칙 이름은 알아볼 수 있게 설정하면 되고, 작성이 완료되었다면 등록을 한다. 등록이 정상적으로 되었다면 위와 같이 규칙이 새로 생성되었음을 볼 수 있다

 

4. 그리고 마지막으로 방화벽에 외부 포트에 대해선 접근을 허용하도록 설정을 한다. 윈도우에서 Window Defender 방화벽을 열도록 한다

 

인바운드 규칙을 클릭한 후

 

 

새 규칙을 만들어준다

 

 

포트로 설정한 후

 

 

특정 로컬 포트를 위의 포트포워딩에서 설정한 외부 포트 번호를 쓰도록 한다. 만일 범위로 지정했다면 아래 설명과 같이 -로 구분지을 수 있다

 

 

그리고 이후는 디폴트로 계속 다음을 누르면 된다

 

 

그러면 설정이 완료되었다. 공유기 IP 주소는 시스템 요약 정보에 가면 확인할 수 있다

 

 

소스코드는 https://noel-embedded.tistory.com/737에서 확인할 수 있다

먼저 내부 네트워크에서 접속하는 것을 보면 정상적으로 연결됨을 확인할 수 있다

 

 

그리고 외부 컴퓨터에서 공유기 외부 IP로 접속한 후 메세지를 다음과 같이 날려준다. 아래 화면 다른 컴퓨터 화면이다

 

 

그러면 현재 컴퓨터에는 다음과 같이 뜨게 된다