Jump to content
Калькуляторы

Mikrotik. VPN при смене внешнего IP

Всем доброго времени суток. 

Дано: 

 

Два микротика: один из них с белым внешним IP, другой с серым. Между ними OVPN тоннель, где сервером является микротик с белым IP адресом.

Из за политики провайдера  (или по какой то другой причине)  на микротике с белым IP раз в два-три месяца меняется этот самый белый IP. (раздается на wan порт через DHCP от провайдера).

 

Задача:

Сделать так, что бы один микротик  каким то образом сообщал другому о смене его внешнего IP. 

 

 

Заранее спасибо)

Share this post


Link to post
Share on other sites

16 минут назад, clever2v сказал:

Сделать так, что бы один микротик  каким то образом сообщал другому о смене его внешнего IP. 

Включить на серверной стороне Cloud и уже цеплять к нему ovpn-клиента не по ip, а по имени ************.sn.mynetname.net.

Share this post


Link to post
Share on other sites

Тогда уж

On 28.04.2018 at 11:04 AM, DRiVen said:

Включить на серверной стороне Cloud и уже цеплять к нему ovpn-клиента не по ip, а по имени ************.sn.mynetname.net.

Тогда уж лучше hldns.ru заюзать, чем sn.mynetname.net. Не реклама.

 

Share this post


Link to post
Share on other sites

4 hours ago, DRiVen said:

Чем лучше? Cloud в МТ искаропки, а под hldns.ru еще надо скрипт в шедулер запихать. Встроенный не лежал пока ни разу.

Сорри, забыл "ИМХО" добавить. 

Почему-то у меня от МТ-шного Сloud-а негативные впечатления остались (правда это было года три-четыре назад, когда он только появился). Тем более тогда на no-ip.com на аккаут пять хостов бесплатно можно было, (у меня было 3 аккаунта :)). Потом no-ip.com перешел в режим жабы, поиск другого DDNS сервиса и привел на  hldns.ru. И из всех трех он мне более по нраву.

 

Понимаю, что в ROS-Cloud DDNS с того времени баги пофиксили, но заюзать его можно только на микротах. А hldns пожалуй везде, где имеется cron и wget. Ну и имена посимпатичней, абракадабра только в скрипте.

 

Повторюсь, все выше - ИМХО 

 

 

Edited by DAF

Share this post


Link to post
Share on other sites

а вот такой вопрос, раз уж о сервисах динамических DNS идет речь - где найти скрипт, чтобы он отправлял с микротика не IP интерфейса, а Caller ID vpn-клиента? Сам отвечаю - готовый скрипт:

# Параметры подключения к NO-IP.com
:local ddnsuser "userlogin"
:local ddnspass "userpass"
:local ddnshostname "ddnshostname" 
:local ddnsinterface "<vpninterfacename>"

# Описание глобальных переменных
:global ddnslastip
:local str
:local ddnsip
:local ip

:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }

:local ddnsip [/ppp active get [find name="vpnclientlogin"] caller-id]

:if ([ :typeof $ddnsip ] = nil ) do={
   :log info ("ServiceDNS: No ip address on $ddnsinterface .")
} else={

# Из полученного на интерфейсе IP адреса исключаем маску
   :for i from=( [:len $ddnsip] - 1) to=0 do={ 
      :if ( [:pick $ddnsip $i] = "/") do={ 
       :set ddnsip [:pick $ddnsip 0 $i];
      } 
   }

  :if ($ddnsip != $ddnslastip) do={

    :log info ("ServiceDNS: $ddnshostname -> $ddnsip")

# Отправляем новый IP адрес на сервис No-IP с помощью HTTP запроса
    :local str "/nic/update?hostname=$ddnshostname&myip=$ddnsip"
    /tool fetch url="http://dynupdate.no-ip.com/$str" mode=http user=$ddnsuser password=$ddnspass \ dst-path=("/ServiceDNS.".$ddnshostname)
    :delay 1 

# Сохраняем результаты в лог файлах
    :local str [/file find name="ServiceDNS.$ddnshostname"];
    :log info [/file get $str contents];
    /file remove $str
    :global ddnslastip $ddnsip

  } 

}

Это скрипт отрабатывает в Scheduler, но не желает работать в PPP-профиле. Пробовал указывать переменную "ddnsip" таким образом - :local ddnsip $"caller-id" - ничего не меняется. Или подобные скрипты в принципе профиль РРР не способен переварить?

Edited by Vita077

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.