가이드 목표
- 인터넷에 대해 알아봐요.
- 공유기에 대해 알아봐요.
- 고정 사설 IP를 할당하는 방법을 익혀요.
- 포트 포워딩을 설정하는 방법을 익혀요.
- 인터넷에 서버를 공개하는 방법을 익혀요.
필요한 것들
- 공유기
- 우분투가 설치된 서버
- 서버와
ssh
로 연결된 메인 컴퓨터
가이드 내용은 iptime 공유기를 기준으로 작성되어 있어요.
하지만 시중의 공유기 대부분은 본문에서 다루는 기능을 제공하고 있어요.
다른 모델/제조사의 경우 사용하시는 공유기 매뉴얼을 함께 참고해 진행해 주세요.
인터넷
인터넷은 전 세계 컴퓨터와 기기들이 서로 연결되어 정보를 주고받는 거대한 네트워크를 의미해요. 인터넷 세상의 컴퓨터들은 공인 IP 주소
로 서로를 찾고 정보를 주고 받을 수 있어요. 그래서 여러분이 인터넷에 접속한다는 것은 다음을 의미해요.
- 통신사로부터
공인 IP 주소
를 발급 받아요. - 통신사의 중계기(게이트웨이)를 통해 전세계의 IP 주소로 접근해요.
여기서 공인 IP 주소는 인터넷 세상 어디서든 나에게 접근 가능한 고유한 주소를 의미해요. 우리 집 주소는 오직 우리 집 주소만을 의미하는 것과 같아요.
이런 원리를 통해서 인터넷에서 접속 가능한 서버를 만든 다는 건, 통신사로부터 발급 받은 공인 IP 주소로 접속했을 때 내 서버로 연결되게 만든다는 것을 의미해요.
자 그러면 내 서버 컴퓨터에 공인 IP를 할당하고 그 주소로 접속하면 되겠네? 라고 생각할 수 있겠지만 이게 생각보다는 쉬운 문제가 아니에요.
공인 IP 주소 체계는 아주 오래 전 인터넷의 태동기에 고안된 방식이에요. 그러다 보니 지금처럼 엄청난 수의 장치들이 인터넷에 연결될 것이라고는 예상하지 못했어요. 그러다 결국은 공인 IP의 고갈 사태에 빠지게 되어 공인 IP 발급을 제한하기 시작했고, 이 문제를 해결하기 위해서 공유기와 사설 IP 개념이 도입되게 돼요.
공유기
아마 여러분 중 대부분은 집에 이러한 공유기를 하나 이상은 가지고 계실 거예요.
공유기에는 수많은 기능이 있지만 기본적인 역할은 다음과 같아요.
- 통신사와 직접 연결되어 공인 IP 주소를 할당 받아요.
- 자신에게 연결된 장치들에게 사설 IP 주소를 할당해요.
- 중계기(게이트웨이) 되어 연결된 장치들이 같은 공인 IP로 인터넷을 사용 가능하도록 만들어요.
위에서 본 통신사의 역할과 비슷하죠? 여기서 사설 IP 주소는 공유기 내에서만 유효하고 인터넷 세상에서는 사용되지 않는 주소를 의미해요. '내 방’이 의미하는 장소가 모든 사람에게 다른 것과 같아요.
이 사설 IP 개념
을 사용하면 가정마다 공인 IP 할당을 최소화 할 수 있다는 장점이 생겨요. 그러면 하나의 공인 IP 만을 가지고도 우리 집의 많은 장치들에게 인터넷을 제공할 수 있겠죠? 하지만 이 방식이 장점만 있는 것은 아니에요. 특히 서버를 만들 때는 불편한 점이 생기게 돼요.
graph BT;
Router[📶 공유기] --> I[🌐 인터넷];
Phone[📱 스마트폰] --> Router;
Computer[🖳 컴퓨터] --> Router;
Server[🖥 서버] --> Router;
여러분들의 네트워크 구성도를 그림으로 그려보면 위와 같은 모습일 거예요. 여기서 공유기는 우리 집에서 인터넷 세상으로 나갈 수 있는 유일한 창구이면서, 동시에 우리 집에서 유일하게 공인 IP를 가지고 있는 장치가 돼요.
그러다 보니 우리가 만든 서버는 공인 IP를 가질 수 없는 구조에요. 그러면 당연히 인터넷에서 제 서버로 접근할 방법도 없다는 거겠죠?
하지만 다행히도, 대부분의 공유기에는 이 문제를 극복하기 위한 기능들이 들어있어요. 그러니 이제부터는 공유기를 만져보며 우리 서버를 인터넷 세상으로 보내보도록 해요.