Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
wiki:settings:howto_resolv_dns_ppp [2013/05/27 10:45] Alexandr Metelskiy |
wiki:settings:howto_resolv_dns_ppp [2016/11/01 15:55] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Как использовать DNS-имя сервера вместо IP-адреса в соединениях PPP ====== | ||
- | |||
- | Одной из особенностей микротик RouterOS является то, что DNS-имена серверов в VPN-соединениях автоматически преобразовываются в IP-адреса. Когда адрес один, это не составляет большой проблемы, а вот что делать если на одно имя приходится несколько айпи-адресов для балансировки нагрузки? | ||
- | |||
- | В этом случае нам поможет следующий скрипт (для терминала): | ||
- | |||
- | /system script | ||
- | add name="Resolve_VPN_DNS" policy=\ | ||
- | ftp,reboot,read,write,policy,test,winbox,password source=":global pptpinte\ | ||
- | rfacename \"ИМЯ_ВАШЕГО_VPN_СОЕДИНЕНИЯ\"\r\ | ||
- | \n:global pptpdnsname \"ИМЯ_ВАШЕГО_VPN_СЕРВЕРА\"\r\ | ||
- | \n:global pptpdnsip [:resolve \$pptpdnsname]\r\ | ||
- | \n:global currentip [/interface pptp-client get \$pptpinterfacename connec\ | ||
- | t-to]\r\ | ||
- | \n:if (\$currentip != \$pptpdnsip) do={ /interface pptp-client set [find n\ | ||
- | ame=\$pptpinterfacename] connect-to=\$pptpdnsip}\r\ | ||
- | \n" | ||
- | |||
- | Текст скрипта (для winbox'a): | ||
- | |||
- | :global pptpinterfacename "ИМЯ_ВАШЕГО_VPN_СОЕДИНЕНИЯ" | ||
- | :global pptpdnsname "ИМЯ_ВАШЕГО_VPN_СЕРВЕРА" | ||
- | :global pptpdnsip [:resolve $pptpdnsname] | ||
- | :global currentip [/interface pptp-client get $pptpinterfacename connect-to] | ||
- | :if ($currentip != $pptpdnsip) do={ /interface pptp-client set [find name=$pptpinterfacename] connect-to=$pptpdnsip} | ||
- | |||
- | Добавим событие в планировщик, чтобы раз в 10 минут отрабатывал наш скрипт: | ||
- | |||
- | /system scheduler | ||
- | add interval=10m name=DNS_resolve_VPN on-event="/system script run \"Resolve_VPN_DNS\"" \ | ||
- | start-time=startup | ||