Не работает обновление DDNS no-ip

Обсуждение ПО и его настройки
vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vomus писал(а):... запустил "/system script run 1", на консоле "connecting" и больше ничего.

От руки набираю конаду /tool fetch со всеми параметрами - то же самое "connecting" и... ничего, висим. Из обычной шелловской консоли через wget все летает на ура. Совсем беда какая-то.


vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vomus писал(а):
vomus писал(а):... запустил "/system script run 1", на консоле "connecting" и больше ничего.

От руки набираю конаду /tool fetch со всеми параметрами - то же самое "connecting" и... ничего, висим. Из обычной шелловской консоли через wget все летает на ура. Совсем беда какая-то.


Обнаружил, что no-ip.com реально хочет User-Agent выставлять в http-заголовке. Это можно как-то устроить из /tool fetch? На wiki вроде ничего про это не сказано.


vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

simpl3x писал(а):а точно vomus1.no-ip.org существует?

Код: Выделить всё

nslookup: can't resolve 'vomus1.no-ip.org'


Существует vomus.no-ip.biz:

Код: Выделить всё

[serge@yarilo ~]$ nslookup vomus.no-ip.biz
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
Name:   vomus.no-ip.biz
Address: 5.139.69.75

Почему там логин отличается я уже не помню. :-) Я выполнял обновление со всеми этими параметрами из обычной шелловской командной строки и заметил, что если запросу не выставить User-Agent, то сервис возвращает ошибку. Потом в документации к no-ip.com нашел, что они требуют выставления User-Agent.

Соответственно, как это сделать в /tool fetch? И потом, люди ведь как-то обновляют IP в no-ip.com из "Микротиков". Должен ведь быть способ...


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

ну если у вас домен vomus.no-ip.org, то поправьте как бы скриптик:
 
:local NOIPUser "no-ip.com LOGIN"
:local NOIPPass "no-ip.com PASSWORD"
:local WANInter "MikroTik Router WAN Interface Name"

###############################################

:local NOIPDomain "$NOIPUser.no-ip.org"
:local IpCurrent [/ip address get [find interface=$WANInter] address];
:for i from=( [:len $IpCurrent] - 1) to=0 do={
:if ( [:pick $IpCurrent $i] = "/") do={
:local NewIP [:pick $IpCurrent 0 $i];
:if ([:resolve $NOIPDomain] != $NewIP) do={
/tool fetch mode=http user=$NOIPUser password=$NOIPPass url="http://dynupdate.no-ip.com/nic/update\3Fhostname=$NOIPDomain&myip=$NewIP" keep-result=no
:log info "NO-IP Update: $NOIPDomain - $NewIP"
}
}
}


потому что он у вас подставляет туда юзер нейм и получается vomus1, а изменение ip на новый находится в контейнере if, где сравнивается новый и старый адрес. а старый он не может найте, тому что резолвит не тот домен.

Потом в документации к no-ip.com нашел, что они требуют выставления User-Agent.

скорее всего, там передается юзер-аген, просто его нельзя менять как в wget'e


vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

simpl3x писал(а):ну если у вас домен vomus.no-ip.org, то поправьте как бы скриптик:
потому что он у вас подставляет туда юзер нейм и получается vomus1, а изменение ip на новый находится в контейнере if, где сравнивается новый и старый адрес. а старый он не может найте, тому что резолвит не тот домен.


Юзернэйм и домен действительно отличаются и если бы это было причиной кривизны, то отдельно запускаемая из шелловской консоли wget'ая команда не работала бы. А она работает. Кроме того, отдельно запускаемая команда /tool fetch из коносоли рутера безо всяких переменных, со вставленными туда значениями этих переменных дает просто "connecting...", висящий до истечения таймаута и оканчивающийся "connectio failed".


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

ну не знаю:

Код: Выделить всё

/tool fetch mode=http user=blablabla password=blablablabla2 url="http://dynupdate.no-ip.com/nic/update\3Fhostname=vomus.no-ip.biz&myip=*1.2*8.*7.2*5" keep-result=yes   
  status: finished

Код: Выделить всё

:put [resolve vomus.no-ip.biz]
9*.2*8.8*.2*5

если что то поломал, извините =) вы так убедительно говорили что не работает =)
еще раз говорю, прочтите код скрипта, вы увидите, что там не то что вам нужно, исправьте все домены, все переменные.


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Знаете, у меня вообще строка из Вашего скрипта:

Код: Выделить всё

:local IpCurrent [/ip address get [find interface=$WANInter] address];

работать отказывается.
А срабатывает в таком виде:

Код: Выделить всё

:local IpCurrent [/ip address get [/interface find name=$WANInter] address];

Проверьте вы построчно скрипт, там дел на полчаса.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

podarok66 писал(а):Знаете, у меня вообще строка из Вашего скрипта:
Проверьте вы построчно скрипт, там дел на полчаса.


Даже если это все убрать и оставить только /tool fetch ИЗ КОНСОЛИ, то будет вот что:

Код: Выделить всё

[vomus@MikroTik] > /tool fetch mode=http user=.... password=.... url="http://dynupdate.no-ip.com/nic/update\?hostname=vomus.no-ip.biz&myip=5.139.86.253"       status: failed

failure: closing connection: <connection failed> 8.23.224.120:80 (4)
[vomus@MikroTik] > :put [resolve vomus.no-ip.biz]
91.218.87.205
[vomus@MikroTik] >

Соответственно, вопрос совсем не в скрипте (я конечно все поправил в смысле /interface find name=), но до этого, как я понимаю, и дело не дошло.


vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vomus писал(а):
podarok66 писал(а):Соответственно, вопрос совсем не в скрипте (я конечно все поправил в смысле /interface find name=), но до этого, как я понимаю, и дело не дошло.

А теперь идем в bash и делаем так:

Код: Выделить всё

[serge@veles Memo]$ wget -c -U "Mikrotik/6.5 info@mikrotik.com" "http://vomus1:pass@dynupdate.no-ip.com/nic/update?hostname=vomus.no-ip.biz&myip=5.139.86.253"
--2014-01-22 18:36:20--  http://vomus1:*password*@dynupdate.no-ip.com/nic/update?hostname=vomus.no-ip.biz&myip=5.139.86.253
Resolving dynupdate.no-ip.com (dynupdate.no-ip.com)... 8.23.224.120
Connecting to dynupdate.no-ip.com (dynupdate.no-ip.com)|8.23.224.120|:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Connecting to dynupdate.no-ip.com (dynupdate.no-ip.com)|8.23.224.120|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17 [text/plain]
Saving to: 'update?hostname=vomus.no-ip.biz&myip=5.139.86.253'

100%[=============================================================================================================================>] 17          --.-K/s   in 0s     

2014-01-22 18:36:21 (596 KB/s) - 'update?hostname=vomus.no-ip.biz&myip=5.139.86.253' saved [17/17]

[serge@veles Memo]$ wget -c "http://vomus1:pass@dynupdate.no-ip.com/nic/update?hostname=vomus.no-ip.biz&myip=5.139.86.253"
--2014-01-22 18:36:31--  http://vomus1:*password*@dynupdate.no-ip.com/nic/update?hostname=vomus.no-ip.biz&myip=5.139.86.253
Resolving dynupdate.no-ip.com (dynupdate.no-ip.com)... 8.23.224.120
Connecting to dynupdate.no-ip.com (dynupdate.no-ip.com)|8.23.224.120|:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Connecting to dynupdate.no-ip.com (dynupdate.no-ip.com)|8.23.224.120|:80... connected.
HTTP request sent, awaiting response... 416 Requested Range Not Satisfiable

    The file is already fully retrieved; nothing to do.

[serge@veles Memo]$

Вот и какой из этого вывод?


vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vomus писал(а):
vomus писал(а):
podarok66 писал(а):Вот и какой из этого вывод?


Вообще беда...

Код: Выделить всё

[vomus@MikroTik] > /tool fetch mode=http url="http://www.mail.ru/"
  status: failed

failure: closing connection: <connection failed> 217.69.139.70:80 (4)
[vomus@MikroTik] > ping www.mail.ru                               
HOST                                     SIZE TTL TIME  STATUS                                                                                                       
94.100.180.70                              56  57 18ms
94.100.180.70                              56  57 18ms
94.100.180.70                              56  57 18ms
    sent=3 received=3 packet-loss=0% min-rtt=18ms avg-rtt=18ms max-rtt=18ms

[vomus@MikroTik] >


Ответить