정확히는 설연휴 지나고 였던 것 같네요..ㅎ
일본에서 구매했고 비행기 타고 왔습니다...-_-
요녀석인데요.
개인용 NAS 겸 사용하기 위해 PC에 hyper-v를 통해 centos7을 올려서 사용하고 있습니다.
그런데, 아무래도 유동IP다 보니 IP가 언제 바뀔지 모르는... 문제가 있지요..!
공유기를 사용하면 웬만해선 바뀌진 않지만 ISP업체에서 강제재할당을 한다거나 라우터를 리붓하면 바뀌는 경우가 있습니다.
음, 그래서 저는 클라우드 플레어 API를 이용하여 centos에서 매시간 마다, 서버를 처음 부팅했을 때 IP를 갱신하도록 처리하고 있습니다.
물론, 기존 IP와 동일했을 경우 변환 처리를 하지 않고 종료하게 해놨지요.
그렇지만 1시간이라는 텀과, PC를 종료했을 때는 IP 동기화를 할 수 없는 문제가 있습니다.
그래서 꼼수로 ASUS 공유기에서 제공하는 DDNS를 이용하고, 클플에서 C NAME을 통하여 동기화(?)하도록 했습니다.
한 번 거치는 과정이 있지만, 어쨌든 문제 없이 잘 작동하니 만족하고 있습니다.
그런데, 가끔씩 DDNS 연결이 끊기는 문제가 있더라구요... (정확히 어떤 원인에서 발생하는 지 모름..)
그래서 이래저래 찾아보니 아뿔싸... 이런 좋은 것이 있을 줄이야...
아직 해보진 않지만, 멀린 펌웨어라고 해서 ASUS 공유기의 커스텀 펌웨어 입니다.
이 곳에서 제공하는 기능 중 커스텀 DDNS인데요, 말그대로 DDNS를 커스텀할 수 있습니다.
그래서 클라우드 플레어를 해봐야겠구나! 했는데, 할 필요가 없더라구요...
이미 샘플 코드로 제공하고 있었거든요...-_-;; ㅎㄷㄷㄷ (역시 클플..?!)
CloudFlare
If you use CloudFlare for your domains, this script can update any A record on your account.
#!/bin/sh EMAIL= # Your CloudFlare E-mail address ZONE= # The zone where your desired A record resides RECORDID= # ID of the A record RECORDNAME= # Name of the A record API= # Your CloudFlare API Key IP=${1} curl -fs -o /dev/null -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE/dns_records/$RECORDID" \ -H "X-Auth-Email: $EMAIL" \ -H "X-Auth-Key: $API" \ -H "Content-Type: application/json" \ --data '{"id":"'$RECORDID'","type":"A","name":"'$RECORDNAME'","content":"'$IP'"}' if [ $? -eq 0 ]; then /sbin/ddns_custom_updated 1 else /sbin/ddns_custom_updated 0 fi
네.. 그냥 이 코드를 이용하여 추가만 해주면 됩니다...하하핫
https://github.com/RMerl/asuswrt-merlin/wiki/Custom-DDNS
그럼 서버 단에서가 아닌 공유기 단에서 IP를 갱신처리를 하게 됩니다.
가장 확실한 방법이 아닐까 싶네요..!
아직회사라 시도는 안해봤지만,
집에가서 해봐야겠습니다.
그나저나 처음에 이 글을 어디에 쓸까 많이 고민했습니다.
분수광장에 할까 하다가.. 뭔가 적합하지 않은 듯 하고,
운영이야기로 하자니, 운영은 아니고.....
그래서 가장 만만한(?) 개발이야기에 작성해보았습니다. 어떻게 보면.. 이것도 개발...(?)일지 모르니까요...흐흐
그런데 웬 안테나가 저렇게 많나요 ㅋㅋ 4개짜리까지는 봤는데 무려 6개라니 ㅎㄷㄷㄷ