본문 바로가기

Backend/서버 구축

[Network] 외부에서 내부 홈 서버 접속(포트포워딩)

AWS의 t2.large 인스턴스 가격을 맛보고 단순 공부용으로는 너무 큰 투자라는 생각이 들었다....

 

물론 실제 서비스를 생각한다면 AWS가 보안, 관리 측면에서 훨씬 낫겠지만,

지금은 그냥 남는 노트북으로 내맘대로 껐다켰다 하며 대충 쓰는것도 괜찮지 않을까..?

 

에서 시작한 홈서버 환경 구축하기(두근..)

 

 

 

처음엔 되게 어렵게 생각했지만 서버에 접속하기까지는 사실 별게 없다.(너무 없다)

ec2에서 탄력적 IP 주소를 사용했듯, 나만의(?) 주소로 설정하기만 하면 외부에서 얼마든지 접속이 가능하기 때문이다.

 

 

정리하자면

1. 외부에서 우리집 공인IP 주소에 접속할 수 있게 만들기

2. 공인IP에 접속 했으면 서버가 돌아가고 있는 내부IP까지 접속하기

 

인데 저 두 과정을 한번에 해결해 주는 것이 바로 포트포워딩 이다.

 

 

그럼 포트포워딩은 어떻게..?

 

공유기 설정만 해주면 된다.

 

 

1. 192.168.0.1 로 공유기 설정, 포트포워드까지 들어간다

고급 설정 - NAT/라우터 관리 - 포트포워드 설정

 

 

2. 아래 칸에 규칙을 추가해주면 된다.

- 규칙이름은 아무렇게나

- 내부 IP주소는 서버가 돌아갈 기기의 IP주소를 입력하면 된다. 

설정을 진행하고 있는 기기로 서버를 돌릴 거라면 현재 접속된 IP 주소 칸을 체크하면 되고,

아니라면 다른 기기의 내부 IP를 알아내 입력하면 된다. (mac 기준  ifconfig | grep inet )

- 프로토콜은 TCP 그대로

- 외부 포트는 말그대로 외부에서 들어올 통로이다. 서로 다른 규칙이 겹치지만 않게 아무렇게나 입력하면 된다.

- 내부 포트는 서버의 포트번호를 입력하면 된다. (내 스프링부트 서버의 경우 8080)

 

 

3. 서버를 키고 공유기의 공인 IP로 접속하면 끝!

서버 공개는 너무 부끄럽다...

서버가 돌아가는 로컬에서는 당연히 접속 되고,

외부 접속이 목적이니까 공인 IP를 확인한다.

여기서 확인 하거나, 구글에 my ip address 검색해도 나온다.

 

<ip주소:외부포트> 입력하면 끝이다.

다른 WIFI로 접속한 화면이고, 모바일 데이터로도 똑같이 접속 가능하다!!

 

 

이 과정에서 자신이 없다면 다른 모르는 설정들은 손대지 않는걸로 하고 이유는 묻지 말자...

 

사실 IP주소 말고 도메인으로도 접속 가능한데 구글링 하면 바로 나오기도 하고 별로 의미 없는 것 같아 생략.

 

 

아무튼 이제 길은 열어놨으니 마음껏 하고싶은 걸 해보자ㅜ

 

 

 

 

 

몇가지 헷갈리는 내용이나, 추가를 덧붙이자면

1. 공인IP는 영구적이지 않다고 알고 있는데, 바뀌면 어떻게 되는거지?

2. 공유기 없이 직접 들어오는 유선 인터넷만으로는 외부접속 가능하게 할 수는 없는 걸까?

3. 윈도우 환경은 방화벽을 여는 작업을 해야 할 수도 있는데, 맥은 이 과정만 끝나면 문제 없다.