포트포워딩의 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해
포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏
공유기(public ip Address) 59.6.66.238이라고 했을 때, 서버가 192.168.0.4에 있다고 가정합니다.
여기서 59.6.66.238이라는 주소는 외부 주소, 192.168.0.4는 공유기 내의 주소이기 때문에 같은 공유기 망 내에서만 접속이 가능합니다.
서버에 접속하기 위해서는 192.168.0.4을 바로 알려주면 주소에 동, 호수만 알려주고, 아파트로 접근하기 위한 주소 서울시 강남구 같은 외부 주소를 알려주지 않은 것과 비슷합니다.
외부에서 내부로 접근하기 위해서는 외부 ip주소를 알아야 하는데 서울시 강남구 같은 외부 ip 주소를 알기 위해, ip주소를 알아내야 합니다.
IP 주소 알아내기 - 외부주소
외부에 접근하는 ip주소를 알아내기 위해서는 네이버에 'ip주소 확인'이나 구글에 'myip' 등의 검색을 통해 쉽게 알아낼 수 있습니다.
생활코딩 강의에서는 위 ip주소를 59.6.66.238로 가정하고, 이 ip주소를 통해 공유기에 접근하면, 공유기는 지정된 주소와 포트로 내부주소 192.168.0.4로 접속하게 만들면 되게됩니다.
포트포워딩의 개념
통신 기기들은 여러개의 포트를 가지고 있습니다.
통신 기기들이 '가게', 포트를 '문'이라고 비유할 수 있을 것 같습니다.
이 때, 가게에서 어떤 행동을 하느냐에 따라 문이 달라진다고 생각하면 편할 것 같습니다.
외부에서 어떤 고객이 어떤 행동을 할 때 어디 문으로 들어가게 할지 결정하는 것
즉, 외부의 고객이 '공유기'라는 장소에 도착하였을 때, 공유기는 어느 주소, 어느 문으로 가게 할지 결정하는 것을
포트포워딩이라고 이해하면 편할 것 같습니다.
- 외부 포트 : 외부에서 어떤 포트로 접속하였을 때 어떤 라우터로 연결할 것인지 설정
- 내부 포트 : 외부 포트에서 연결해주었을 때, 내부에서는 어떤 포트를 사용할 것인지 설정
다시 예시로 돌아와서, 공유기에 포트 포워딩 설정을 통해 누군가 8081포트로 접속이 들어오면, 접속은 내부 네트워크에 있는 192.168.0.4: 80 으로 보내버립니다.
또 다른 예시로 포트 포워딩 설정을 통해 누군가 8080포트로 접속을 하게 되먄, 접속은 내부 네트워크에 있는 192.168.0.3: 80 으로 보내버립니다.
이 때, 공유기는 일종의 라우터 역할을 수행함으로써 길을 forwarding 할 때, 안내자 역할을 하게 됩니다.
안내자 역할을 하기 위해서는, 포트포워딩이 필요합니다.
포트포워딩 설정을 통해 위와 같이 설정을 하게 되면,
public ip에 8081 포트로 들어오면 내부의 192.168.0.4에 해당하는 컴퓨터의 80번 포트로 들어온다는 뜻이 되게 됩니다.
외부에서 접속하기 위해, 공유기 ip주소를 조회하고, 포트번호 8081로 접속을 하게되면, 내부포트의 80번 페이지가 나오게 됩니다.
포트포워드 설정을 완료하면 http://[외부 ip]: [외부 포트 번호] 로 서버에 접속할 수 있게 됩니다.
포트포워딩 접속 확인 방법
www.yougetsignal.com/tools/open-ports/
외부 ip와 port 번호를 입력하면 아래 결과를 알 수 있습니다.
빨간깃발 - 연결 X
초록깃발 - 연결 O
그 후, 와이파이를 해제한 핸드폰 인터넷에 외부ip를 입력하시면 로컬 서버를 접속할 수 있는 것을 알 수 있습니다.
추가적으로, 내부적으로 서버를 돌리고있는데, 웹브라우저에서 [외부 ip]: [외부 포트 번호] 로 접속을 하게 되면,
이 홍길동이 자신 한명인데 다른곳에서 홍길동을 요청하고 있는 형태임으로 같은 localhost 취급을 하게 되어 접속이 되지 않는다..(이 문제를 해결하기 위해 2시간이 소요되었다..)
- 참고
생활코딩 - 포트포워딩
'Network > Server' 카테고리의 다른 글
[Swagger] Swagger Hub를 이용한 Swagger 사용하기 (0) | 2021.05.04 |
---|---|
[Server] src 폴더 구성 (0) | 2021.01.22 |
[Server] connection Pool 이용하기 (0) | 2021.01.22 |
[Server] Rest API config 파일 설명 (0) | 2021.01.22 |
[Server] AWS ec2 우분투 18.04에 Nginx phpMyAdmin 설치하기 (0) | 2021.01.08 |
댓글