맥북 로컬 호스트 외부 접속하기

dropKick·2020년 10월 14일
1

운영 서버가 따로 있지만 클라이언트와 함께 로컬에서 바로바로 테스트 하는 경우가 필요해서
로컬 서버를 돌리는데 포트가 열려있음에도 접속이 안되는 문제가 발생
왜 그런지 알아보았다.


사설 IP, 로컬 호스트, 공인 IP

  • 사설 IP
    일단 우리는 모든 기기에서 사설 IP를 사용한다
    ifconfig를 쳐서 나오는 192.x.x.x는 모두 Class C의 사설 IP로 외부에서 접근이 불가능
    사설 IP는 동일 IP 대역을 공유하기 때문에 내부에서는 모두 접근이 가능

  • 로컬 호스트
    127.0.0.1:4040 을 기준으로 하는 자기 자신을 가리키는 Loop Back IP
    보통 이미 hosts와 같은 파일에 설정이 기록되어 DNS로 나가지 않고 바로 호스트로 접속이 가능한 것

  • 공인 IP
    외부에서 볼 수 있고, 외부에서 접속이 가능한 유일한 IP
    어 그럼 나는 공인 IP가 뭔지 모르는데 왜 인터넷과 통신이 가능하죠? 한다면
    고것은 우리 패킷이 ISP를 통해 공인 IP로 변환되기 때문
    따라서 패킷이 나가는 공유기, ISP 등을 통해서만 공인 IP가 사용

그래서 어떻게 접속해

  • 포트 포워딩
    공인 IP로 들어오는 패킷을 호스트 IP로 가로채는 방법
    그럼 공인 IP인 x.x.x.x 로 들어오더라도 실제 패킷은 호스트 IP로 간다

  • 도메인 연결
    퍼블릭 DNS 서버에 호스트 자체를 등록시키는 방법
    공인 IP를 사는 것과 마찬가지기 때문에 돈이 든다

ngrok

포트 포워딩은 귀찮고 도메인 연결은 돈이 들기때문에
ngrok이라는 오픈소스 소프트웨어를 사용

사용법도 무지 간단하다
1. 로컬 서버를 올린다.
2. 로컬 서버 주소를 통해 ngrok을 킨다.
3. ngrok이 가지고 있는 퍼블릭 DNS와 매핑된다 끝

그런데 보안적으로 안전한지는 모르기때문에 간단한 테스트에만 사용하는 걸 추천

0개의 댓글