나만의 도메인은 잘 만드셨나요? 이제는 복잡한 IP 주소를 외우지 않더라도 언제든 내 서버로 향할 수 있는 도메인 주소가 생기게 됐어요.
하지만 가정용 인터넷의 공인 IP 주소는 중간에 변경될 수 있다는 큰 문제가 있어요. 통신사는 가정용 인터넷에 고정적이지 않은 유동 IP 만을 할당해 주거든요. 그래서 시간이 지나 IP 주소가 변하게 되면 도메인과 서버의 연결이 끊어져 접속되지 않게 될 거예요.
이런 문제가 생길 때 가장 빠른 해결책은 공유기의 변경된 IP 주소를 확인하고 도메인 서비스에 등록된 정보를 업데이트하는 것이에요. 그런데 언제 바뀔지도 모르는 공인 IP 주소를 매번 확인하고 있기는 너무 번거롭겠죠?
DDNS
하지만 다행히도 대부분의 도메인 서비스들은 이 문제를 해결할 수 있는 기능을 제공하고 있어요. 이는 DDNS(Dynamic DNS, 동적 도메인 이름 시스템)라 부르는데요. 이를 활용하면 공인 IP가 변경될 때 자동으로 도메인에 연결된 공인 IP 정보를 업데이트할 수 있게 돼요.
graph LR;
domain-service["도메인 서비스"]
subgraph server["서버"];
ddns["DDNS 클라이언트"]
end;
ddns --[공인IP 주소]--> domain-service
이를 사용하려면 그림처럼 DDNS Client 라는 소프트웨어가 하나 필요해요. 이 소프트웨어는 공유기의 공인 IP 주소를 관찰하다가 변경이 감지되면 도메인 서비스에 전달해 정보를 업데이트 하게 될 거예요.
이런 소프트웨어는 여러 종류가 있지만 이번에는 ddclient 라는 것을 소개해 드리려 해요. ddclient는 다른 소프트웨어 대비 쉽게 설치할 수 있으면서도 가장 많은 도메인 서비스를 지원한다는 장점을 가지고 있어요.
API 키 발급받기
이 소프트웨어를 사용해보기 전에, 먼저 사용하는 도메인 서비스에서 API 키 라는 것을 발급받아야 해요. 이 키는 여러분의 서버 컴퓨터에서 도메인 서비스의 정보를 수정할 수 있는 열쇠를 의미해요.
DuckDNS
DuckDNS 의 경우 로그인만 하면 상단에 token 이라는 항목이 바로 보이실 거예요. 이곳의 텍스트가 여러분의 API 키에요. 이를 안전한 곳에 잘 복사해 주세요.
Cloudflare
Cloudflare 에서 도메인을 구입한 경우 먼저 대시보드에 로그인 해주세요.
로그인 이후 오른쪽 상단의 메뉴에서 Profile 에 진입해 주세요.
이후 이동된 프로필 화면에서 API Token 탭을 선택하고 Create Token 버튼을 눌러 주세요.
여기서는 Edit zone DNS 라는 항목을 찾아 우측의 Use Template 을 선택해 주세요. 이는 DNS 정보를 수정할 권한이 있는 키를 생성하겠다는 의미에요.
다음 화면의 Zone Resource 의 우측 항목에서 구매한 도메인을 선택해 주세요. 이는 선택한 도메인의 수정 권한을 가진 API 키를 생성하겠다는 의미에요.
그 다음엔 Continue to summary 버튼을 클릭해 주세요.
이제 최종 확인 안내가 나올 거예요. 선택한 도메인이 맞는지 확인하고 Create Token 을 눌러 주세요.
그러면 발급된 토큰이 나오게 돼요. 이를 안전한 곳에 잘 복사해 주세요.
API 키는 여러분 계정의 비밀번호와 같아요. 외부에 공개하지 않도록 주의해 주세요.
DDClient 설치하기
이제 ddclient 를 설치할 차례에요. 이는 우분투의 apt 를 사용해서 간편하게 설치할 수 있어요. 다음의 명령어를 실행해 주세요.
sudo apt install ddclient
그러면 이렇게 ddclient 의 설정 관리자로 진입되게 돼요. 먼저 사용하는 도메인 서비스를 선택해 주세요. Cloudflare를 사용하시는 경우는 other 를 선택해 주세요.
other 를 선택하면 이렇게 cloudflare 를 선택하는 화면이 나올 거예요.
Cloudflare 인 경우 이렇게 별도의 DDNS 서버를 사용할 것인지 묻는 화면이 나오게 돼요. 기본 값을 사용해도 충분하기 때문에 빈 채로 두고 다음으로 넘어가 주세요.
다음은 필요한 경우 프록시 서버를 지정하라는 안내가 나오는데, 이것도 지정할 필요가 없기 때문에 빈 채로 두고 다음으로 이동해 주세요.
다음은 사용하는 도메인 서비스의 계정 이름을 입력하라는 안내가 나와요.
DuckDNS 의 경우 메인 화면의 상단에서 계정 이름을 확인할 수 있어요. 이를 복사해 넣어 주세요.
Cloudflare 의 경우는 프로필 화면 상단에서 계정 이름을 확인할 수 있어요. 이를 복사해 넣어 주세요.
다음은 비밀번호를 입력하란 화면이 두 번 나올 거예요. 아까 생성했던 API 키 를 입력하고 다음으로 이동해 주세요.
계정의 비밀번호가 아닌 API 키를 입력해야만 정상적으로 동작해요.
이번에는 어떤 방식으로 IP 변화를 감지할 것인지 물어보는 화면이에요.
기본 값인 Web-based IP discovery service 를 선택하고 다음으로 이동해 주세요. 이는 다른 서버에 요청을 보내서 그 서버가 감지한 내 IP 주소로 변화를 확인하는 방식이에요.
Web-based IP discovery service 를 선택하면 어떤 웹 서버를 통해 IP 주소를 확인할 것인지 묻는 화면이 나와요.
기본값인 noip 를 사용하셔도 되고 다른 것을 선택하셔도 잘 동작할 거예요. 원하는 것을 선택하고 다음으로 넘어가 주세요.
다음은 얼마의 시간마다 IP 주소 변화를 확인할 것인지 묻는 화면이에요.
기본값인 5분 정도면 충분히 잘 동작하니 그대로 사용하셔도 되고, 원하는 주기가 있다면 이를 바꾸셔도 좋아요. 원하는 시간을 입력하고 다음으로 이동해 주세요.
이제 다 왔어요! 마지막으로 도메인 서비스에서 어떤 도메인의 IP 주소 정보를 업데이트 할 것인지 입력하는 화면이에요.
사용하고 있는 도메인 주소를 입력하고 다음으로 이동해 주세요.
다시 터미널 화면으로 빠져나온다면 설정은 끝이에요.
검증하기
이제 ddclient 가 제대로 동작하고 있는지 확인할 차례에요. 다음의 명령어를 실행해 보세요.
sudo journalctl -u ddclient
journalctl 은 시스템에 설치된 소프트웨어의 실행 로그를 확인할 수 있는 소프트웨어에요. 이를 통해 ddclient가 잘 동작하고 있는지 확인할 수 있어요.
여기서 다음의 텍스트가 보인다면 잘 동작하고 있는 거예요.
Starting ddclient.service - Update dynamic domain name service entries...
Started ddclient.service - Update dynamic domain name service entries.
Stopping ddclient.service - Update dynamic domain name service entries...
ddclient.service: Deactivated successfully.
이번엔 도메인 서비스에 들어가서 도메인에 할당된 IP 주소를 이상한 것으로 바꿔보세요.
몇 분 정도 지나고 나면 ddclient 에 의해 다시 정상적으로 IP가 복원되는 걸 확인하실 수 있을 거예요.
다시 시도하기
만약 제대로 동작하지 않고 있다면 언제든 다음의 명령어를 통해 설치 관리자를 다시 실행할 수 있어요. 다시 천천히 진행해보며 잘못된 부분을 확인해 보시길 바래요.
sudo dpkg-reconfigure ddclient























