내 서버는 동적 DNS 공급자에게 알리기 위해 IP 변경을 어떻게 감지합니까?

내 서버는 동적 DNS 공급자에게 알리기 위해 IP 변경을 어떻게 감지합니까?

우분투 서버를 설정하면 동적 IP가 있습니다. DNS 서버를 최신 상태로 유지하는 방법을 찾고 있습니다. 저는 Entrydns를 사용하여 이 작업을 수행하고 서버를 업데이트하기 위해 다음 명령을 제공합니다.

curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN

나에게 필요한 것은 DNS 서버를 업데이트할 수 있도록 IP가 변경되었는지 확인하는 방법입니다.

답변1

네트워크 구성이 변경될 때 트리거되는 스크립트를 만들고 해당 스크립트가 무조건 DNS를 업데이트하도록 하는 것이 더 좋습니다. 네트워크 관리자를 사용하는 경우 다음과 같은 스크립트를 입력할 수 있습니다 /etc/NetworkManager/dispatcher.d.네트워크 관리자(8)더 알아보기.

네트워크 관리자를 사용하지 않는 경우 /etc/dhcp/dhclient-enter-hooks.d이것이 더 적절할 수 있습니다.

그러면 아무것도 투표할 필요가 없습니다.

답변2

다음과 같은 작업이 수행됩니다.

#!/bin/bash

# "${0%.sh}.myip" transforms /path/to/script.sh to /path/to/script.myip
if [[ ! -s "${0%.sh}.myip" ]]; then echo "0.0.0.0" > "${0%.sh}.myip"

newip=$(curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN)

read oldip < "${0%.sh}.myip"
echo $newip > "${0%.sh}.myip"

if [[ $newip != $oldip]]; echo "IP changed"; fi

답변3

IP 업데이트의 짧은 지연을 견딜 수 있고, Entrydns.net에서 기록을 업데이트하는 빈도에 제한이 없다면 더 쉬운 방법이 있을 수 있습니다.

이 명령이 Entrydns.net을 업데이트하기 위한 것이라면 이를 crontab에 넣고 설정된 간격으로 실행되도록 구성하면 됩니다.

curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN

관련 정보