DDNS
DDNS는 Dynamic DNS의 약자입니다. 동적 DNS라고도 불리며, DNS를 주기적으로 갱신하는 방법입니다. 일반적인 가정집에서 서버를 만들 때에는 DDNS가 꼭 필요한데, 이유는 아래와 같습니다.
일반적인 가정집에 할당되는 IP는 고정 IP가 아닌 동적 IP입니다. IP가 주기적으로 바뀐다는 소리이죠. 이 주기는 일반적으로 몇 달 간격이긴 하나, IP가 바뀔 때 마다 cloudflare에 접속하여 IP 주소를 바꿔야 한다는 점은 굉장히 귀찮지요. 더군다나 내부망에 접속할 수 없는 상황이라면 IP 주소를 알아낼 수도 없습니다.
이런 문제를 해결하기 위해 존재하는 것이 DDNS입니다. 이번에는 TrueNAS 서버에 DDNS를 설치해 보도록 하겠습니다.
Jail 만들기
- 이름은 DDNS
- Jail Type은 Basejail
- Auto-start 활성화
으로 설정해 주시고, 네트워크 관련한 부분은 알아서 잘 설정해 주세요.
DDNS 설치하기
iocage console DDNS
DDNS jail에 접속해 줍니다.
pkg update && pkg upgrade
pkg를 업데이트 해 줍니다.
pkg install ddclient
DDclient를 설치해 줍니다. 지금은 3.9.1 버전이네요.
설치는 완료되었습니다. 이제 설정을 해보도록 하겠습니다.
DDclient 설정
vi /usr/local/etc/ddclient.conf
DDclient 설정 파일을 열어줍니다.
(.....) daemon=300 syslog=yes (.....) pid=/var/run/ddclient.pid ssl=no (.....) use=web, web=checkip.dyndns.org/, web-skip='IP Address' (.....) protocol=cloudflare, zone=example.net, ttl=1, login=login@exmaple.net, password=APIKey example.net, www.example.net, blog.example.net (.....)
위와 같이 설정 해 주세요. Cloudflare 설정 부분에서,
- zone에는 사용할 도메인의 루트 도메인
- login에는 cloudflare 로그인에 사용하는 이메일
- password에는 cloudflare의 Global API Key
- 도메인들을 밑부분에 써주시면 되는데, 콤마와 띄어쓰기로 도메인을 구분합니다.
설정을 완료했다면 저장하고 나가 주세요.
chmod 400 /usr/local/etc/ddclient.conf
보안을 위해서 root만 읽을 수 있도록 설정합니다.
DDclient 시작하기
sysrc ddclient_enable="YES"
DDclient 서비스를 등록하고,
service ddclient start
서비스를 시작해 줍니다.
DDclient 작동 확인하기
ddclient -daemon=0 -debug -verbose -noquiet
DDclient 서비스를 디버깅 모드로 실행하는 코드입니다. 해당 코드를 입력하면 DDclient가 정상적으로 작동하는 지 확인할 수 있습니다. Failed 등의 문구가 뜬다면 설정이 잘못된 것이니 제대로 설정하였는지 확인해 주세요.
마치면서
DDNS 설정이 완료되었으니 이제 여러분의 도메인은 항상 서버를 가르키게 됩니다. 따라서 외부에서도 항상 접속할 수 있는 상황이 되지요.
다음에는 VPN을 구축해 보도록 하겠습니다.