10월 중순의 블로그 업데이트

10월 중순의 블로그 업데이트

기술적인 내용이 싫으면 맨 밑으로 내려가세요!

글에 들어가기 앞서서, 비전공자를 위한 간략화된 설명을 쪼금만 할게요.

인터넷에 연결된 모든 기기(PC, 스마트폰, 서버)는 IP 주소를 가지고 있어요.
인터넷에서 데이터(글, 사진, 동영상 등등 모든 형태)를 주고 받을 때,
IP 주소에 따라서 데이터가 어디로 오가는지가 정해져요.

예시로 유튜브를 들게요.
유튜브는 우리가 사용하는 PC/스마트폰에 영상을 보내주는 서버를 가지고 있어요.
그라고 유튜브의 서버도, 당연한 소리지만, IP 주소를 가지고 있어요.

PC/스마트폰이 유튜브 서버의 IP 주소에다 영상을 보내달라는 요청을 보내면,
그 IP 주소를 가지고 있는 유튜브 서버에서,
요청에 대한 응답으로 영상을 우리가 사용하는 기기에 보내줌으로써,
유튜브를 통해 비디오를 시청할 수 있는 거에요.

그런데, 우리는 유튜브 서버의 IP 주소를 몰라요.
64.233.170.190 같이 긴 IP 주소 외우는 건 쉽지 않은 일이겠죠?
게다가 유튜브는 서버가 한 대만 있는 것도 아니고,
전 세계에 서버가 분배되어 있어서 IP 주소가 여러 개가 있어요.

대신 우리는 youtube.com이라는 주소, 정확히 말하자면 "도메인"만 알고 있어요.
앞으로 "주소" 라는 단어 말고 "도메인" 이라고 말할게요.
그런데 IP 주소를 모르는데 도메인만을 가지고서
어떻게 유튜브에서 영상을 볼 수 있을까요?

우리가 크롬에서 유튜브의 도메인인 youtube.com를 입력하고 엔터를 누르면,
크롬이 "youtube.com? 유튜브네?" 하고 바로 유튜브로 들어가는게 아니에요.

크롬은 DNS라는 곳에 "youtube.com의 IP 주소가 뭐야?" 라고 물어봐요.
그러면 DNS가 youtube.com의 IP 주소를 크롬한테 다시 알려주고,
크롬은 다시 그 IP 주소에 접속을 해서 유튜브에 들어가지는 거에요.

수능 국어 기출 중에 DNS에 관련되어 있는 지문이 있던 걸로 기억하는데,
관심이 있으면 읽어보셔도 좋을 것 같아요.


지금 보시는 이 블로그는 네이버/티스토리가 아니라,
제 집에 있는 개인 서버에서 구동 중이에요.
당연하게도, 이 블로그를 구동하고 있는 서버도 IP 주소를 가지고 있어요.

그런데 앞서 말했듯이, 이 블로그에 들어오기 위해서
블로그가 구동 중인 서버의 IP 주소를 외울 사람은 한 명도 없을 거에요.

그래서 저는 DuckDNS라는 무료 Dynamic DNS Provider 서비스를 사용해서,
piscisaustrinus.duckdns.org라는 도메인을 제 서버의 IP 주소와 대응해놓았어요.

그리고 DuckDNS는 Dynamic DNS - 번역하면 동적 DNS라서,
모종의 사유1로 제 서버의 IP 주소가 바뀌어도 이를 자동으로 감지해서,
piscisaustrinus.duckdns.org을 바뀐 IP 주소로 업데이트를 해주어서 편했어요.

하지만 요즘 들어 문제가 계속 생기는데,

  1. DuckDNS 서비스가 불안정해서, piscisaustrinus.duckdns.org 도메인을 크롬에 입력해도 블로그에 접속이 안 되는 경우가 있고,
  2. piscisaustrinus.duckdns.org라는 도메인은 너무 길어서, 저조차도 외우고 싶지 않아요.
    심지어 구글 검색에도 어쩌구.duckdns.org 같은 도메인은 잘 나오지 않아서 접근성이 떨어져요.

그래서 Porkbun이라는 도메인 서비스 회사에서
piscisaustrinus.net이라는 새로운 도메인을 구매했어요.
1년에 약 1만 2천원 정도로, 생각보다 가격이 나쁘지 않아요.

아쉬운 점은 Porkbun은 Dynamic DNS 서비스를 제공하지 않아요.
이 블로그 서버의 IP 주소가 바뀌면, 관리자인 제가
직접 Porkbun 홈페이지의 도메인 설정에 들어가서 바뀐 IP 주소를 입력해주어야 해요.

그래도 Porkbun에서는 API라는 것을 제공하고 있어요.
API를 사용하면, 홈페이지에 들어가서 도메인에 대응되는 IP 주소를 직접 입력할 필요 없이,
프로그래밍 언어를 통해서 Porkbun에 있는 제 도메인에 대한 설정을 바꿀 수 있어요.

그래서 제 계획은 대략적으로 아래와 같아요:

  1. 서버의 IP 주소가 변경되면 이를 자동으로 탐지하고,
  2. 바뀐 IP 주소를 Porkbun의 API를 통해 업데이트하는,

스크립트를 작성해서 사용할 계획이에요.


서버의 IP 주소가 바뀌는 모종의 사유는 여러 가지가 있지만,
공용 및 사설 IP / DHCP / 라우팅 등등 복잡한 내용을 모르시는 분을 위해서
대표적인 이유만 정말 간략화해서 설명할게요.

아시는 분께서는 아래 내용이 조금 틀리다고 생각하실 수도 있을 것 같아요.

우리가 사용하는 PC/스마트폰, 그리고 제 서버도 통신사(KT, SKT, LG 등)를 통해
인터넷에 연결되어 있어요.
그리고 통신사가 연결된 기기에 IP 주소를 부여해줘요.

그런데, 기기에 부여된 이 IP 주소는 고정된 IP 주소가 아니에요.
첨언하자면, 기업 같은 특수한 가입자에게는 고정된 IP를 부여해줄 수 있지만,
저한테는 해당이 되지 않아요.

통신사마다 기기에 IP 주소를 부여해주는 정책이 다르긴 하지만,
일반적인 가입자의 기기에는 IP 주소를 일정 기간 대여해주는 방식이 보통이에요.

그리고 IP 주소를 대여해주는 기간이 지나면, 통신사에서 기기에 다시 IP 주소를 대여해주어요.

하지만, 통신사마다 가지고 있는 IP 주소 (기기에 부여해줄 수 있는 IP 주소)의 개수는 한정되어 있기 때문에, 이 한정된 IP 주소를 가입자한테 골고루 배분해야 해요.

이 과정에서, 같은 IP 주소가 다시 같은 기기에 배정될 수도 있지만,
새로운 IP 주소가 기기에 배정될 수도 있어요.


어쨌든, 길고 지루한 설명을 요약하자면,
piscisaustrinus.net으로 블로그 주소가 쉽게 바뀌었어요.

기존 piscisaustrinus.duckdns.org도 일단은 남겨놓을 계획이기는 한데,
계속해서 정상적으로 작동할지는 모르겠어요.

그리고, 지금 댓글 시스템이 Ghost CMS에 내장되어 있는 회원용 댓글 시스템이라서 가입을 해야지만 댓글을 달 수 있는 불편한 방식이라 아무도 안 사용하고 있어요.

추후에 Disqus를 사용해서 가입 없이 댓글을 달 수 있게 만들어 볼 예정이에요.

cpu-z