Задать вопрос
@Rentable
Инженер

Как изменить скрипт NO-IP DNS для Mikrotik?

провайдер - Ростелеком с недавнего времени занялся пересаживанием клиентов на "серые IP" Мой Микротик оказался в этой сети с серым адресом 100.104.193.41 и внешним 81.177.127.230
Нашёл в сети скрипт:
##############Script Settings##################
:local NOIPUser "user"
:local NOIPPass "*password*"
:local WANInter "FTTB"
###############################################
 
:local NOIPDomain "user.zapto.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"
     }
   } 
}


Сам скрипт прекрасно работает (пробовал оба варианта по приведённой ссылке), в логе пишет:
NO-IP Update : user.zapto.org - 100.104.193.41+
Но на самом сервисе noip.com выставляется внешний 81.177.127.230 - разумеется, ни о каком DynDNS речи нет. Вручную вбиваешь 100.104.193.41 - всё прекрасно работает, связь есть, как только скрипт отработал, опять резольвится на 81.177.127.230 и всё отваливается.
Что то в скрипте поправить надо, но не силён в этом деле, подскажите, где можно поправить. В самом Микротике ppoe сессия поднимается на интерфейсе FFTB и получает адрес 100.104.193.41. Где он умудряется откопать и передать 81.177.127.230 - ума не приложу ...

ps: Если в строке браузера выполняю (как написано тут):
http://user.zapto.org:*password*@dynupdate.no-ip.com/nic/update?hostname=user.zapto.org&myip=100.104.193.41

То нужный мне адрес прекрасно добавляется, через скрипт приходит внешний ...(
  • Вопрос задан
  • 6182 просмотра
Подписаться 3 Оценить 3 комментария
Решения вопроса 1
@Rentable Автор вопроса
Инженер
Вопрос решён.
Если посылать запрос вида:

http://user.zapto.org:*password*@dynupdate.no-ip.com/nic/update?hostname=user.zapto.org&myip=100.64.0.0

то 100.64.0.0 подставляется нормально, а если:

http://user.zapto.org:*password*@dynupdate.no-ip.com/nic/update?hostname=user.zapto.org&myip=100.65.0.0


то получаю белый IP провайдера. Т.е. noip.com фильтрует этот момент, когда 100.64.0.0/10
Так что надо думать теперь в другом векторе. Всем спасибо за участие!

ps: Найден "правильный" DynDNS сервис --- dnsexit.com
Строчка вида:
http://update.dnsexit.com/RemoteUpdate.sv?login=yourlogin&password=yourpassword&host=host1.yourdomain.com&myip=xxx.xx.xx.xxx&force=Y

Позволяет принудительно вставить вообще любые цифры в поле IP )))
Осталось скрипт сообразить по аналогии.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SmileyK
@SmileyK
Коротко не как
Rentable

Посмотрите в сторону wiki.mikrotik.com/wiki/Manual:IP/Cloud может быть не нужно будет иметь скрипта
Ответ написан
LESHIY_ODESSA
@LESHIY_ODESSA
Вот тут должно быть не ether1 :local WANInter "FTTB", а название вашего PPPoE соединения.
То есть вы увидели что нужно поставить WAN интерфейс, но у вас DUAL ACCESS и значит два WAN интерфейса. Один локалка провайдера (ether1), а другой доступ в интернет (PPPoE).

Mikrotik как и любой Linux отличает заглавные буквы, поэтому pppoe в названии интерфейса не равно PPPoE.

update Я так и не понял, вам нужен IP локалки провайдера или внешний?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы