GLiNet社のGL-A1300を導入した際に、DDNSをサポートしていることに気づき、設定を行ったもののなぜかうまく動作しなった。
暫定的であるが対処方法が分かったので、備忘録として記載します。
/etc/init.d/ddnsを開くと下記内容が記述されている。sshで接続後シェルからダイレクトに/usr/lib/ddns/dynamic_dns_updater.shを実行するとうまく動作しているように見える。結果的にbypassvpn=1となっていて、sudo -g nonevpn /usr/lib/ddns/dynamic_dns_updater.shが実行されていることが問題と思われる。
#!/bin/sh /etc/rc.common
START=95
STOP=10
PROG=/usr/lib/ddns/dynamic_dns_updater.sh
bypassvpn=`uci -q get vpnpolicy.global.service_policy`
if [ $bypassvpn = 1 ];then
PROG="sudo -g nonevpn /usr/lib/ddns/dynamic_dns_updater.sh"
else
PROG=/usr/lib/ddns/dynamic_dns_updater.sh
fi
つまり、bypassvpn=1の時でも、/usr/lib/ddns/dynamic_dns_updater.shを実行するようにすればよいので、単純に下記内容に変更した。
#!/bin/sh /etc/rc.common
START=95
STOP=10
PROG=/usr/lib/ddns/dynamic_dns_updater.sh
bypassvpn=`uci -q get vpnpolicy.global.service_policy`
if [ $bypassvpn = 1 ];then
# PROG="sudo -g nonevpn /usr/lib/ddns/dynamic_dns_updater.sh"
PROG=/usr/lib/ddns/dynamic_dns_updater.sh
else
PROG=/usr/lib/ddns/dynamic_dns_updater.sh
fi
GL-A1300を再起動させるとうまく動作している結果となり、luciのService→Dynamic DNSから確認すると、IPアドレスの更新が行われている。根本問題のbypassvpn=1となる条件は理解できていないが、ひとまず動作OKとなっているので、問題なしとする。
家のメインルータにはYAMAHAのRTX810を使用しているが、GL-A1300をルーターモードで使用しており、GL-A1300のWAN側のIPアドレスを登録するのではなく、きちんとGlobalIPをDDNSとして登録してくれるので助かっている。

コメント