Я использую MikroTik в качестве основного роутера для домашней сети в отличной связке с changeip уже долгое время, но с примерно 28.11.2015 changeip перестал обновляться. Я использую этот скрипт: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_ChangeIP.com. Он долго работал без проблем, но последние 10 дней в логе появляются ошибки: «DDNS: sendig update; connect error; script error: connect error». Я вижу, что MikroTik пытается подключиться к серверу changeip по IP 204.16.170.40, но теперь это не работает. Есть ли кто-то, кто сейчас успешно пользуется changeip? Я также обратился в поддержку changeip, и, судя по их ответу, IP 204.16.170.40 больше не работает, и, похоже, этот адрес жестко прописан в MikroTik. Я прав? Похоже, что теперь у changeip новый IP: 170.178.190.165, результаты dig: nic.changeip.com. 299 IN A 170.178.190.165 www.changeip.com. 299 IN A 170.178.190.165 Кто-нибудь может помочь? Не знаю, как это решить, а хотелось бы, потому что changeip прекрасно работал с MikroTik годами. Заранее спасибо!
Привет! Если скрипт не обновляет твой changeip, а в логе появляются ошибки: «connect error» или «script error: connect error», значит проблема с DNS, точнее, твой роутер MikroTik не может найти адрес changeip.com и выкидывает ошибку. Так как в фаерволе я заблокировал DNS, чтобы боты не использовали его для DDoS, я решил прописать статический DNS на роутере MikroTik и добавил:
Всем привет! Извиняюсь, что воскресил старую ветку, но я пытаюсь настроить свой RB3011 для обновления адреса ChangeIP, вместо того чтобы использовать приложение Homing Beacon на моём ПК. При запуске скрипта появляется ошибка «Authentication Failure». Я перепроверил имя пользователя и пароль и могу подтвердить, что учётные данные для ddnsuser и ddnspass введены правильно. [ИЗМЕНЕНИЕ] Использую RouterOS v6.41.2. Может, я что-то делаю не так?
Вот текущий скрипт, который я пытаюсь использовать: local ddnsuser "xxx@xxxxx.xxx" :local ddnspass "xxxxxxx" :local ddnshost "xxxxxxxx" :local ddnsinterface "pppoe_out1" :global ddnslastip :global ddnsip [ /ip address get [find interface=$ddnsinterface disabled=no] address ] :if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip 0.0.0.0/0 } :if ([ :typeof $ddnsip ] = nil ) do={ :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.") } else={ :if ($ddnsip != $ddnslastip) do={ :log info "DDNS: Sending UPDATE!" :log info [ /tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] :global ddnslastip $ddnsip } else={ :log info "DDNS: No change" } }
Неважно, я все исправил Похоже, RouterOS не понравился пароль, который я использовал. После того как я сменил пароль для ChangeIP, скрипт заработал как надо.