OpenWrt のDDNSの管理スクリプトを使って、ドメインをの更新を確認することができる。
openwrt の特定の ドメインを更新するには
設定をテストすることが出来る。
/usr/lib/ddns/dynamic_dns_lucihelper.sh /usr/lib/ddns/dynamic_dns_updater.sh
たとえば、ddnsのためのglobal_ipチェックをするには
/usr/lib/ddns/dynamic_dns_lucihelper.sh -u https://api.ipify.org/ -v 3 get_local_ip 232950 : -----> timeout 3 -- get_current_ip IP 232950 : Detect current IP on 'web' 232950 : #> /usr/bin/curl -RsS -o /var/run/ddns/lucihelper.27334.dat --stderr /var/run/ddns/lucihelper.27334.err --noproxy '*' 'https://api.ipify.org/' 232950 : Current IP 'xxx.80.146.218' detected on web at 'https://api.ipify.org/'
更新のテスト
たとえば、NAME=cloudflare2 のDDNSエントリを更新するテストする (NAME は WEBで指定した名前のこと)
/usr/lib/ddns/dynamic_dns_updater.sh -d -v 2 -S cloudflare2 start
ただし、実態は dynamic_dns_functions.sh なので注意。また、これは本当にメインの常駐プロセス用のDDNSなので、他の常駐プロセスはSTOPするので注意。
再起動して更新する
全部の設定を再起動する
/usr/lib/ddns/dynamic_dns_lucihelper.sh restart
指定した設定を再起動する
/usr/lib/ddns/dynamic_dns_lucihelper.sh -S my_cloudflare2 restart
再起動すれば、設定は更新される。
設定名の調べ方
設定名を出すには
uci -q show ddns # ddns設定を表示 uci -q show ddns | grep -oP '(?<=ddns\.)[^.]+(?=\.)' | sort | uniq # ddns設定から名前を取り出す。
ただし、grep -P
には PCRE対応のgrep( busyboxy ではない)が必要
## インストール済みの grep の確認 root@OpenWrt:~# ll /bin/grep lrwxrwxrwx 1 root root 21 Oct 17 2023 /bin/grep -> /usr/libexec/grep-gnu*