У меня возникло желание иметь постоянный доступ к своей домашней сетке с любой точки мира. Домашний интернет я получаю по wifi через роутер друга к которому у меня нет полного доступа. На этом роутере динамический ip, а также настроен проброс портов под мои нужды. Вот и озадачился настройкой службы dyndns на своем dir-320 минуя роутер друга. Может кто-то скажет, что давно все разжевано, но не для моего случая. Итак приступим...
Устанавливаем службы dyndns
opkg install luci-app-ddns
Заходим в web интерфейс и наблюдаем следующую вкладку, заполняем нужные нам поля.
Я настраивал определение интерфейса через URL, т.к. мои сетевые интерфейсы не выходят прямо в интернет и по ним я не могу определить внешний ip.
После этого я перезагрузил свой dir-320 и как должен был уже получить доступ из-вне на роутер, но не тут-то было.
Путем копания в скриптах openwrt я понял, что запуск службы ddns в устройстве запускается скриптом /etc/hotplag.d/iface/25-ddns, который срабатывает в случае события ifup интерфейса. Для wan порта - это идеально, но для интернета по wifi в моем случае не работает,т.к. этот обновление ip происходит на роутере друга. Поэтому я начал искать решение.
Оказалось все довольно просто, хотя пришел я к этому не сразу, поначалу изобретал велосипед со скриптами и cron-ом.
Всего лишь надо указать нужный нам интерфейс в файле /etc/config/ddns
Я исправил wan, который я не использую на мой интерфейс wwan, который я присвоил wifi.
config 'service' 'myddns'
option 'interface' 'wwan'
option 'service_name' 'dyndns.org'
option 'force_interval' '72'
option 'force_unit' 'hours'
option 'check_interval' '10'
option 'check_unit' 'minutes'
option 'enabled' '1'
option 'domain' 'mysite.dyndns.org'
option 'username' 'login_name'
option 'password' 'dyndns'
option 'ip_source' 'web'
option 'ip_url' 'http://checkip.dyndns.org/'
Плохо что данная опция не выведена в веб интерфейс, было бы более прозрачно.
на всякий случай проверяем, появился ли скрипт ddns в процессах, потому как до проведения исправлений он просто не запускался
Вывод должен быть таким
15835 root 1372 S grep dynamic_dns_updater.sh