Скрипт на mikrotik для динамической смены доменного имени на сервисе nic.ru
Nic.ru предоставляет сервис аналогичный dyndns — вы можете на зарегистрированное доменное имя указывать необходимый ip-адрес. Но что делать, если у вас динамический внешний IP-адрес? Можно конечно же каждый раз при смене ip заходить на сайт и вручную править, но это не очень удобно и тут на помощь придет mikrotik, так как он поддерживает скрипты.
Ниже будет рассмотрен скрипт, который будет «резолвить» Ваше доменное имя — проверять какой IP на данный момент закреплен за ним, затем проверяет IP на внешнем интерфейсе (на WAN-порту), если данные IP не совпадают, скрипт выполнит https запрос на api.nic.ru на смену IP-адреса в привязке к домену.
# set DDNS variables: UserName; Password; HostName; WAN-interface
:local dDNSdomain «your.domain.ru» — Ваш домен
:local dDNSuser «some_username» — имя пользователя на nic.ru с правом смены ip на ломен
:local dDNSpass «some_password» — пароль пользователя nic.ru
:local dDNSInterfaceName «your_WAN_interface» — внешний (WAN) интерфейс микротика
:local dDNSCurrentIP [:resolve «$dDNSdomain»] — проверка какой IP указан за Вашим доменным именем
:log info («DDNS: Check resolve: $dDNSCurrentIP»)
:local LocalIP [ /ip address get [/ip address find interface=$dDNSInterfaceName ] address ] — получение IP на WAN-порту Микротика
:local LocalIP [:pick $LocalIP 0 [:find $LocalIP «/»]] — приводим IP к необходимому виду
Далее сравниваем две полученные переменные и при их различие отправляем запрос вида:
https://api.nic.ru/dyndns/update?hostname=myhost1.test.ru,myhost2.test.ru&myip=192.168.1.1
на nic.ru
:if ($LocalIP != $dDNSCurrentIP) do={ :log info ("DDNS: ddns IP: $dDNSCurrentIP.") :log info ("DDNS: local IP: $LocalIP.") :log info ("DDNS: ddns update now!") /tool fetch url="https://$dDNSuser:[email protected]/dyndns/update?hostname=$dDNSdomain&myip=$LocalIP"
Далее проводится проверка корректности обновления DNS.
:log info ("DDNS: Check ddns IP...") /tool fetch url="https://api.nic.ru/dyndns/checkip/" dst-path="/nic.checkip.html" delay 1 :local dDNSCurrentIP [/file get nic.checkip.html contents] :local dDNSCurrentIP [:pick $dDNSCurrentIP ([:find $dDNSCurrentIP ": " -1] + 2) [:find $dDNSCurrentIP "</body>" -1]] :if ($LocalIP = $dDNSCurrentIP) do={ :log info ("DDNS: ddns IP: $dDNSCurrentIP") :log info ("DDNS: Updated Successfully!.") } } else={ :log info ("DDNS: NO ddns update needed!") }
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.