홈서버/홈랩의 개념, 오버뷰 알아보기
✔️Tech Tips

홈서버/홈랩의 개념, 오버뷰 알아보기

언레이드 홈서버 구축 가이드를 포스팅해두었다.

이 글은 해당 가이드가 조금 어려운 이제 막 입문한 독자들을 위한 짤막한 포스팅이다.

 

서버는 간단하게라면 10분 뚝딱 이지만, 전문적으로는 엔터프라이즈급도 가능한 분야이다.

그래서 경험해볼 분야가 컴퓨터 하드웨어, 운영체제, 네트워크, 가상화 등 엄청 넓다.

이런 넓은 바다에 PC 한대와 흥미를 가지고 나만의 서버구축에 뛰어든 독자를 위해

필자도 부족하지만, 홈서버의 개념과 구조, 전체적인 느낌을 알려주고자 한다.


 

홈서버 왜 필요하지?

있으면 좋타..!

실제 운영중인 구글포토(비스무리한것)

구글드라이브, 구글포토, 넷플릭스, 멜론 까지... 조금더 여유롭게 살기위해 매달 나가는 돈이 얼마인가?

전기세로 천원짜리 두세장만 더 얹으면 앞선 서비스들을 내가 직접 만들수 있다.

예매을 위해 컴퓨터를 계속 켜둬야한다면? 홈서버가 24시간 가상컴퓨터를 제공한다.

무언가 은밀한... 작업을 위해 바이러스도 감수할만한 컴퓨터가 필요하다면?

홈서버가 별도로 만든 VM을 제공한다.

이렇게 홈서버는 다양한 서비스를 직접 운영하고 가상컴퓨터를 사용하는데 사용된다.

혹자는 AI를 학습하거나, 블로그 호스팅, 마크등 게임서버 운영을 하기도한다.

이 모든게 홈서버라는 컴퓨터 한대만 있으면 된다.

 

 

홈서버는 어떤 컴퓨터인가 ?

그냥 컴퓨터이다.

홈서버라고 뭔가 다르고 비싸지 않다.

일반적으로 사용하는 PC를 서버로 쓴다면 서버 컴퓨터가 되는것이다.

 

사실 차이점이 하나 있다.

서버 컴퓨터를 맞출땐 전력 소모량을 신경 쓴다.

정확히는 전기세를 신경쓴다.

모습만큼이나 전기요금도 위풍당당하다.

전기세 걱정이 없다면 과거의 필자처럼 3900X에 3개의 그래픽 카드를 단 본체를 사용하겠지만

24시간 돌아가는 전자제품이라면 전력소모량이 적은 제품이 분명 매력적일것이다.

 

독자의 유형에 따라 사용할 컴퓨터를 추천해보자면...

A. 완전 처음 시작한다, 잠깐 경험만 해보고 싶다면

    그냥 남는 PC, 당근에서 10~20만원 남짓 저렴한 PC

B. 계속 쓸 예정이다. 저장용량은 많이 필요하지 않다면

    알리 등에서 미니PC, Deskmini와 저렴한 CPU의 조합

C. 한번할때 제대로, 많은 용량도 필요하다면

    알리 등에서 사타포트가 여러개 달린 NAS보드, DCtoDC + ITX PC 등 조립PC

 

 

공인IP? 사설IP?

서버를 맞춘다면 위 두개의 IP를 구분할 줄 알아야한다.

내부망에서 쓰는 IP인지 인터넷에서 쓰는 IP인지 구분할 수 있어야 네트워크를 구성할 수 있다.

 

먼저 내 IP를 확인해보자!

인터넷에 접속하기 위해 사용하는 IP를 확인하는 법은 정말 쉽다.

구글이든 네이버든 내 ip로 검색하면 바로 알려준다.

그런데 PC에서 명령어를 통해 사용중인 IP를 보면 위 IP와는 다른 IP가 나온다.

 

어라 내 PC는 자기가 192라고 하는데 인터넷은 나더러 175라고 한다.

처음 확인한 IP가 공인IP, 두번째 IP가 사설 IP이다.

유무선 공유기를 사용중이라면 대부분 위와 같은 상황일 것이다.

 

 

공인, 사설 뭐가 다를까?

이렇게 PC에서 사용하는 IP와 인터넷에서 인식하는 공인 IP가 다른 이유는

인터넷에서 사람들이 쓸 수 있는 IP의 개수가 제한적이기 때문이다.

 

비유를 하자면.. 모종의 이유로 모든 이름을 3자 이상으로 만들지 못하는 온라인 게임이 있다면,

머지않아 서버엔 계정을 만들기 위해 온갖 난해한 닉네임들이 창궐할것이다.

해서 게임사는 길드 시스템을 만들어(물론 3자 제한 이지만) 같은 길드에서만 중복을 체크하기로 변경했다.

유저들은 다른길드라면 같은 이름을 쓸 수 있었고 유저수보다 길드수가 적으니 길드 이름도 짓기도 보다 수월해졌다.

위와같은 상황이 바로 현재 인터넷에서 IP를 할당하는 방법이다.

길드이름이 공인IP, 유저명이 사설IP이다.

70억인구가 자신의 PC, 휴대폰, 노트북에 IP를 다 주기엔 IP가 부족하니

공유기가 하나의 길드가 되어 공유기에 소속된 기기에는 사설IP를, 공유기 자체는 공인IP를 할당하는것이다.

이로써 여러 기기는 고유한 IP를 가지지만 공유기별로 구분되어 문제가 없게된다..!

이런 상황에서 생각해보면 타길드원하고 대화를 할땐 자신의 닉네임으로는 누군지 알수가 없다.

난 절정미인이야! 라고 자기소개를 한다면 상대방은 자신이 아는 미인이란 미인을 다 생각할것이다.

따라서 길드간 대화에는 자신의 이름은 쓰지 않고 무조건 길드 이름으로만 대화한다.

 

여기까지 오면 왜 위 확인단계에서 보여진 IP가 달랐는지 이해했을것이다.

명령어로 확인한 IP는 PC가 가진 자신의 닉네임이고,

사이트에서 확인한 IP는 해당 웹서버와 (길드간)통신할때 사용한 공인IP이기 때문이다.

 

여담1.

사설IP는 10.~ 172.~ 192.~로 시작한다. 아니라면 공인IP로 보면 된다.

 

여담2.

사실 이런 문제를 해결하기 위해 게임사에선 닉네임에 특수문자까지 포함시킨 새로운 체계를 업데이트했다.

하지만 국내 서버에선 잘 쓰진 않는다. (IPv6)

 

 

폰에서 홈서버로 접속하는법, 구조

홈서버에 이런저런 서비스를 올린다면

어떻게 휴대폰, 사무실 PC 같은 환경에서 접속할 수 있을까?

물론 인터넷이겠지만..!

인터넷을 통한 요청이 서버까지 가는 경로를 이해하고 있어야한다.

아래는 본 블로그의 주소 'blog.notepads.cc'와 같은 '도메인'을 사용하는것을 가정한 경로이다.

 

1.DNS서버

DNS서버는 문자로된 주소를 ip로 바꿔주는 역할을 한다.

이건 인터넷상에서 공용으로 사용되는 서버이다.

브라우저 주소창에 a.com을 입력하면 DNS서버에 a.com을 사용하는 서버의 실제 IP를 요청 후 가져온다.

서버의 관리자가 DNS서버에 자신의 도메인과 IP를 입력해두었기 때문에 가능하다.

이렇게 IP를 확보하면 해당IP로 요청이 간다.

 

2. 모뎀

이 장비는 가구의 환경에따라 없을수도 있다. 만약 없다면 3번으로 넘어가자.

모뎀이 있는 환경이라면 이 모뎀이 공인IP를 갖고있게 된다.

이 경우 요청을 우리의 홈서버까지 갈수 있도록 설정을 해두어야 한다.

아니면 '난 못하겠소 뭘 원하걸랑 저 공유기한테 가보쇼' 설정을 할수도 있다.

위 설정은 모뎀으로 오는 모든 요청, 심지어 공인IP마저 공유기한테 위임하는 설정이다.

아무튼 설정이 되어있다고 가정하고 다음으로 넘어간다.

 

3. 유무선 공유기

우리의 스마트폰, 메인 컴퓨터, 서버컴퓨터, 동생의 노트북, 누나의 IoT 플러그..

모든 유무선 기기가 이 공유기에 연결되어 있을 것이다.

2번에서와 마찬가지로 요청이 서버까지 갈 수 있도록 설정해두어야한다.

정상적이라면 4번으로 넘어간다.

 

4.홈서버

마침내 요청이 타고타고 홈서버까지 왔다.

홈서버에는 요청을 처리해줄 프록시 서버가 있다.

프록시 서버는 모든 요청을 받아서 주소에따라 알맞은 서비스로 연결해준다.

물론 그 연결 정보는 우리가 직접 설정해둔다.

 

마치 쪽지하나를 들고 관공서를 방문해

'이거... 어디로가야해요..?' 라고 물어보면

3층 무슨부로 가시면 됩니다~ 하는것과 같다.

프록시서버는 일종의 안내데스크라고 보면된다.

실제로 이렇게 설정한다(NPM)

예시로 cloud.my.domain이라는 요청이 클라우드로 가야하고 클라우드 웹서버가 3000번 포트에서 동작한다면 

프록시서버에서 그 두개를 연결해준다.

주로 NPM(Nginx Proxy Manager), Traefik을 사용한다.

 

5.원하는 서비스

마침내 동작하고 있는 서비스로 도착했다!

이로써 브라우저에 입력한 주소가 DNS서버와, 공유기와, 리버스프록시에 설정된 경로를 따라 웹페이지로 연결된다.

 

 

마무리

여기까지 왔다면 홈서버가 뭔지, 어떻게 내 스마트폰과 연결되는지 갈피를 잡았을것 같다.

이런 장르가 처음이라면 생소한 개념이겠지만, 이 내용은 잘 짚고 넘어가야 하는 토대이다.

소개한 개념들을 활용해서 멋있는 홈서버 완성하시길 바란다.