Микротик отключил динамический DNS
Обновлено: 04.11.2024
На этой странице описано, почему вам следует рассмотреть возможность отключения службы динамических обновлений DNS. Мы объясняем, как эта служба, включенная по умолчанию на платформах Windows, может вызвать загрязнение трафика в глобальной сети Интернет с побочным эффектом передачи подробностей о вашей частной инфраструктуре в большую сеть Интернет. Мы также предоставляем инструкции по отключению динамических обновлений DNS в операционных системах Microsoft Windows 2000/XP/2003™.
Почему вам следует подумать об отключении службы динамических обновлений DNS
Операционные системы Microsoft Windows поддерживают функцию, которая динамически обновляет сопоставления доменных имен с соответствующими IP-адресами, назначенными хостам DHCP-серверами. Это автоматическое обновление, называемое службой Dynamic DNS Updates, снижает административные издержки, связанные с ручным администрированием DNS-записей сетевых хостов.
Несмотря на то, что эта служба может сократить административные издержки, она также может оказывать и оказывает пагубное влияние на Интернет в целом из-за утечки трафика, связанного с частными IP-адресами, которые никогда не должны покидать локальную сеть.
- вы используете статический IP-адрес; или
- вы используете DHCP для получения глобального IP-адреса
Однако, если вы настроили свой хост для работы в качестве клиента/сервера DHCP и используете пространство частных IP-адресов (включая 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16) указанный в RFC1918, вы должны отключить функцию динамического обновления DNS. Только если вы точно знаете, что обновления отправляются только на локальный DNS-сервер, вы должны запускать службу динамических обновлений DNS. Большинству домашних пользователей, использующих DSL/кабельные маршрутизаторы в качестве серверов DHCP/NAT для облегчения подключения нескольких хостов к Интернету, следует отключить динамические обновления DNS.
``Что делать, если мой хост пропускает несколько пакетов в глобальный Интернет? Почему я должен отключать его?» Причина в том, что несовместимая конфигурация между вашими домашними хостами и вашими локальными DNS-серверами может и часто приводит к утечке обновлений DNS для частных IP-адресов в глобальный Интернет. Эта утечка вызывает следующие проблемы:
К сожалению, большинство пользователей ничего не знают о том, что их собственные хосты, ведущие себя неадекватно, передают в мир личную информацию. Конфигурация по умолчанию не только тратит глобальные интернет-ресурсы, но и создает множество проблем с безопасностью, конфиденциальностью и интеллектуальной собственностью.
Как частные обновления DNS утекают в глобальный Интернет
Утечка частных обновлений DNS вызвана несогласованной конфигурацией между DNS-серверами и объектами клиент/сервер DHCP. Следующий список иллюстрирует типичный пример утечки частного обновления DNS в глобальный Интернет.
Как отключить службу динамических обновлений DNS
Более 97 % обновлений DNS, просачивающихся в глобальный Интернет, поступают из операционных систем Microsoft Windows™ (см. сопутствующую статью «Windows of Private DNS Updates»). Следующие шаги только иллюстрируют, как отключить динамические обновления DNS в системах Microsoft Windows™. Для систем Linux или FreeBSD, использующих клиентское и серверное программное обеспечение DHCP от ISC, функция динамического обновления DNS отключена по умолчанию и требует ручного вмешательства для включения службы.
И DHCP-клиенты, и серверы могут генерировать обновления DNS.
- Откройте панель управления, выбрав Сетевые подключения в меню Пуск.
- Выберите сетевое подключение, щелкните правой кнопкой мыши и выберите Свойства в раскрывающемся меню.
- В поле "Это подключение использует следующие элементы" выберите элемент Протокол Интернета (TCP/IP) , затем нажмите кнопку Свойства ниже. ли>
- Во всплывающем окне "Свойства протокола Интернета (TCP/IP)" нажмите кнопку Дополнительно.
- Появится окно под названием «Дополнительные параметры TCP/IP». Нажмите на вкладку DNS вверху. Здесь представлена информация о настройке, связанная с DNS. Чтобы отключить динамические обновления DNS для этого сетевого подключения, снимите флажок Зарегистрировать адрес этого подключения в DNS.
- Повторите шаги со 2 по 5 для каждого сетевого подключения (сетевой карты), установленного на машине.
Нажмите на изображение ниже, чтобы увеличить скриншот. (1280 x 960 пикселей)
Рис. 1. Пользовательский интерфейс Microsoft Windows™ для настройки обновлений DNS в Windows2000/XP/2003 с DHCP-клиентами.
Чтобы отключить обновления DNS на Window Server 2000 с DHCP-сервером (см. рис. 2 ниже):
Microsoft Windows Server 2003™ автоматически отправляет обновления DNS каждому из своих DHCP-клиентов. Чтобы отключить эту функцию, выполните следующие действия:
- Откройте окно "Управление сервером", которое можно запустить из "Инструментов администратора" в меню "Пуск".
- Выберите «Управление этим DHCP-сервером», чтобы открыть главное окно для управления DHCP.
- Чтобы отключить обновления DNS, щелкните правой кнопкой мыши соответствующую область адресов. В меню выберите Свойства.
- Появится окно с заголовком «Scope [x.x.x.x] Localdhcp Properties». Нажмите на вкладку DNS в верхней части окна. Это показывает информацию о настройке, связанную с обновлениями DNS. Снимите флажок Включить динамическое обновление DNS в соответствии с приведенным ниже параметром , что отключит динамическое обновление DNS для этой области.
- Повторите шаги 3 и 4, чтобы отключить динамические обновления DNS для каждой соответствующей области адресов.
Нажмите на изображение ниже, чтобы увеличить скриншот. (1280 x 1024 пикселей)
Рис. 2. Пользовательский интерфейс Microsoft Windows™ для настройки обновлений DNS в Windows Server 2003 с DHCP-сервером.
Вы можете использовать нашу службу динамического DNS с маршрутизаторами Mikrotik, выполнив следующие простые действия.
Сначала вам нужно скопировать и вставить следующий скрипт в окно терминала (измените значения, выделенные жирным шрифтом). Обратите внимание, что вам нужно экранировать специальные символы, такие как " и $, а также вставить символы управления строкой \r\ и \n.
/системный сценарий
add name=Dynu
policy=read,write,test
:global ddnsuser "your_Dynu_username"
:global ddnspass "your_Dynu_password"
: global theinterface "WAN_Interface_Name"
:global ddnshost "your_Dynu_hostname"
:global ipddns [:resolve $ddnshost];
:global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do= :log info ("DynuDDNS: Нет IP-адрес на $theinterface .")
> else= :for i from=( [:len $ipfresh] - 1) to=0 do= :if ( [:pick $ipfresh $i] = "/" ) do= :set ipfresh [:pick $ipfresh 0 $i];
>
>
:if ($ipddns != $ipfresh) do= :log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info (" DynuDDNS: IP-Fresh = $ipfresh")
:log info "DynuDDNS: требуется обновление IP, отправка UPDATE. "
:global str "/nic/update?hostname=$ddnshost&myip=$ipfresh" < br />/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynuDDNS: IP обновлен до $ipfresh!"
> else= :log информация "DynuDDNS: изменения не нужны";
> >"
Вы также можете создать сценарий с помощью WinBox, перейдя в меню Система, а затем Сценарий. Откройте всплывающее окно диалогового окна, в которое вы можете напрямую вставить содержимое исходного раздела из приведенного выше скрипта.
В случае двойного NAT вы можете использовать этот сценарий вместо приведенного выше, чтобы определить IP-адрес из Интернета. Обратите внимание, что вам нужно экранировать специальные символы, такие как " и $, а также вставить символы управления строкой \r\ и \n.
:if ($ipddns != $currentIP) do= :log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $currentIP") < br />:log info "DynuDDNS: требуется обновление IP, отправка UPDATE. "
:global str "/nic/update?hostname=$ddnshost&myip=$currentIP"
:log info "currentIP is $currentIP "
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass
dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $currentIP
:log info "DynuDDNS: IP обновлен до $currentIP!"
> else= :log информация "DynuDDNS: никаких изменений не требуется";
>
Вы можете убедиться, что сценарий успешно добавлен, выбрав Система, а затем Сценарии.
Убедившись, что скрипт корректно обновляет IP-адрес вашего хоста, вы можете добавить запись в планировщик для запуска скрипта каждые 5 минут.
/системный планировщик добавить комментарий="Обновление Dynu DDNS" interval=5m name=ddns_sheduller \
on-event="/системный скрипт запуска Dynu\r\n" policy=чтение, запись, время начала тестирования =запуск
– Динамический DNS (DDNS)
– Гостевая беспроводная локальная сеть (гостевой WiFi)
– Сервер OpenVPN
Рисунок 1. MikroTik hAP ac³ с запущенным сервером OpenVPN, DDNS-клиентом и гостевой WLAN
<р>1. Динамическая конфигурация DNS MikroTikDynu.com предлагает бесплатную регистрацию четырех трехуровневых доменов. Завершите регистрацию на Dynu.com и войдите в свою учетную запись. Перейдите в Панель управления -> Службы DDNS (Рисунок 2). Нажмите кнопку «Добавить динамический DNS». Выберите имя хоста и выберите доменное имя из списка (Вариант 1).В моем случае имя хоста — a102, а домен — mywire.org. Не заполняйте вариант 2 - "Использовать свое доменное имя". Нажмите кнопку «Добавить». Нажмите кнопку Сохранить в следующем окне, чтобы завершить процесс регистрации нового домена DDNS.
Рисунок 3. Зарегистрированные DNS-домены
1.2 Динамическая конфигурация DNS на MikroTik
> /tool fetch url="sftp://192.168.88.253/home/user123/dyn.com-script.txt.rsc" user=user123 password=pass_to_linux upload=no dst-path=configuration-file.txt .rsc
192.168.88.253 — IP-адрес Ubuntu
user123/pass_to_linux — учетные данные для входа на сервер OpenSSH под управлением Linux
dst-path=configuration-file.txt.rsc — имя скрипта в Файловая система MikroTik
Примечание. Если загрузка прошла успешно, в выводе команды /file print появится текстовый файл configuration-file.txt.rsc.
Теперь мы создадим скрипт под названием Dynu (рисунок 4):
> /system script add name=Dynu dont-require-permissions=yes policy=reboot,read,write,policy,test source=[/file get configuration-file.txt.rsc content]
> /краткое описание системного сценария
Изображение 4. Скрипт MikroTik зарегистрирован
Это оценит зелье в фигурных скобках, которое создает содержимое файла, и использует это содержимое в качестве значения для источника. Теперь мы можем запустить скрипт и проверить, обновился ли IP-адрес (Рисунок 5):
> /системный скрипт запуска Dynu
Рисунок 5. Зарегистрированные DNS-домены с новым IP-адресом 91.127.181.25
В случае возникновения проблем проверьте файл журнала с помощью команды ниже (Рисунок 6):
Рисунок 6. Успешное обновление DDNS
После того, как скрипт "зарегистрирован", мы можем использовать планировщик /system для его вызова:
> /system scheduler add comment="Обновление Dynu DDNS" interval=5m name=ddns_sheduller on-event="/system script run Dynu\r\n" policy=read,write,test,reboot start-time=startup
<р>2. Гостевая беспроводная сетьГостевой Wi-Fi — это изолированное беспроводное соединение для посетителей или устройств, позволяющее подключаться только к Интернету, но без доступа к локальным ресурсам. Это ограничение помогает сохранить целостность и конфиденциальность ваших данных.
2.1 Профиль безопасности для гостевого WiFi
Создайте новый профиль безопасности для гостевой WLAN.
> /interface беспроводные профили безопасности add name="мой домашний гостевой Wi-Fi" authentication-types=wpa2-psk mode=dynamic-keys wpa2-pre-shared-key=your_secret_pass
2.2 Беспроводной виртуальный интерфейс wlan3 для гостевого WiFi
Пока что по умолчанию создаются два беспроводных интерфейса — wlan1 и wlan2. Создайте новый интерфейс WLAN wlan3.
> /interface wireless add name=wlan3 band=2ghz-b/g/n master-interface=wlan1 security-profile="my home wifi guest" ssid="internethome-guest" disabled=no
2.3 Интерфейс моста и добавление интерфейса wlan3 в мост
Создайте новый интерфейс моста bridge-guest и добавьте в мост интерфейс wlan3.
> /interface bridge add name=bridge-guest
> /interface bridge port add bridge="bridge-guest" interface=wlan3
2.4 Назначение IP-адреса интерфейсу моста
IP-адрес 192.168.99.1/24 — это адрес, который мы настроим на интерфейсе моста. Это адрес шлюза по умолчанию для устройств, подключенных к гостевой сети WLAN.
> /ip address add address=192.168.99.1/24 netmask=255.255.255.0 disabled=no interface=bridge-guest network=192.168.99.0
2.5 Назначение пула DHCP и сервер DHCP
Создайте новый пул DHCP pool-guest и назначьте его DHCP-серверу dhcp-guest.
> /ip pool add name=pool-guest ranges=192.168.99.10-192.169.99.250
> /ip dhcp-server add name=dhcp-guest address-pool=pool-guest interface=bridge-guest disabled=no
> /ip dhcp-server network add address=192.168.99.0/24 gateway=192.168.99.1 dns-server=192.168.99.1
На этом этапе вы должны иметь возможность пинговать IP-адреса, расположенные в нашей основной подсети, например 192.168.88.0/24.
2.6 Конфигурация брандмауэра
Заблокировать доступ гостевого Wi-Fi к вашей основной подсети:
> /ip firewall filter add comment="перебросить все из гостевого Wi-Fi в основную подсеть" chain=forward src-address=192.168.99.0/24 dst-address=192.168.88.0/24 action=drop
В нашем случае основная подсеть — 192.168.88.0/24.
На рисунке 7 показана конфигурация брандмауэра по умолчанию для цепочки INPUT. Обратите внимание на последнее правило номер 4, которое отбрасывает весь трафик, не поступающий из локальной сети. Чтобы разрешить клиентам в гостевой подсети доступ к серверу кэширования DNS, работающему на MikroTik, мы должны разрешить трафик UDP, отправляемый на IP-адрес 192.168.99.1, порт назначения 53.
Рисунок 7. Конфигурация входной цепочки фильтра брандмауэра по умолчанию
Список интерфейсов определяет набор интерфейсов для упрощения управления интерфейсом в различных разделах конфигурации на основе интерфейса, таких как обнаружение соседей, брандмауэр, мост и обнаружение Интернета. Создайте новый список интерфейсов wifi-guest и добавьте интерфейс моста bridge-guest в список интерфейсов wifi-guest.
> /interface list add name=wifi-guest
> /interface list member add interface=bridge-guest list=wifi-guest
Создайте новое правило, которое будет принимать DNS-запросы, поступающие от interface-list wifi-guest на IP-адрес кэш-сервера DNS 192.168.99.1.
> /IP фильтр брандмауэра add chain=input action=accept protocol=udp dst-port=53 in-interface-list=wifi-guest dst-address=192.168.99.1 place-before=4 comment="принять DNS-запрос от гостевого Wi-Fi"
Правило ставится перед правилом, отбрасывающим весь трафик на маршрутизатор, не идущий из LAN-интерфейса (Рисунок 8).
Рисунок 8. Изменена конфигурация брандмауэра
2.7 DNS-кэш-сервер
Кэш DNS используется для минимизации DNS-запросов к внешнему DNS-серверу, а также для минимизации времени разрешения DNS. Мы настроили IP-адрес кэша DNS 192.168.99.1 в конфигурации DHCP-сервера для клиентов, подключенных к гостевой подсети WiFi. В нашем сценарии IP-адреса внешних DNS-серверов назначаются через DHCP с DHCP-сервера интернет-провайдера. Поэтому нам не нужно указывать IP внешнего DNS-сервера. Все, что нам нужно сделать, это разрешить удаленные запросы (Рисунок 9):
> /ip dns set allow-remote-requests=yes
Рисунок 9. Конфигурация DNS-кэш-сервера
<р>3. OpenVPN-серверСервер OpenVPN, работающий на маршрутизаторе Mikrotik, предоставляет клиентам зашифрованный туннель VPN через общедоступную сеть. Это позволяет клиентам безопасно получать доступ к локальной сети. OpenVPN использует сертификаты SSL/TLS как на стороне сервера, так и на стороне клиента. Клиенты аутентифицируются на сервере, используя имя пользователя и пароль; каждый клиент имеет уникальные учетные данные и использует собственный сертификат клиента.
3.1 Создание сертификата TLS для ЦС, OpenVPN-сервера и клиента
Серверу и клиенту OpenVPN требуются сертификаты трех типов:
- Сертификат ЦС (Центра сертификации)
- Сертификат сервера и
- Сертификат клиента
Создайте собственный центр сертификации:
Создать сертификат сервера:
Создать сертификат client1:
Подписать созданные сертификаты сертификатом ЦС:
> /certificate sign ca-template name=ca-certificate
> /certificate sign openvpn-server-template name=openvpn-sever-certificate ca=ca-certificate
> /certificate sign openvpn- client1-template name=openvpn-client1-certificate ca=ca-сертификат
> /certificate export-certificate ca-certificate export-passphrase=""
> /certificate export-certificate openvpn-client1-certificate export-passphrase="your_pass_phrase"
Это должно дать вам три файла: cert_export_ca-certificate.crt, cert_export_client-certificate.crt и cert_export_openvpn-client1-certificate.key". Скопировав их на клиенте, мы переименуем их в ca.crt, client.crt. и client.key.
3.2 Конфигурация сервера OpenVPN
Далее нам нужно создать отдельный пул IP-адресов для клиентов. Другими словами, это подсеть, в которой будут находиться клиенты.
> /ip pool add name=pool-vpn ranges=192.168.100.10-192.168.100.100
Создайте профиль пользователя profile-vpn и назначьте ему пул IP-адресов pool-vpn. Это набор настроек, которыми будут делиться пользователи. IP-адрес 192.168.100.1 — это адрес VPN-шлюза.
> /ppp profile add name=profile-vpn use-encryption=yes local-address=192.168.100.1 remote-address=pool-vpn
Создайте пользователя OpenVPN user_xyz и назначьте ему профиль пользователя.
> /ppp secret add name=user_xyz profile=profile-vpn password=user_secret_Pass
Включить интерфейс сервера OpenVPN:
> /interface ovpn-server server set default-profile=profile-vpn certificate=openvpn-sever-certificate require-client-certificate=yes auth=sha1 cipher=aes128,aes192,aes256 port=1194 enable=yes р>
3.3 Настройка брандмауэра MikroTik для разрешения подключения к порту 1194
Нам нужно открыть TCP-порт 1194 для трафика OpenVPN, поступающего на устройство MikroTik. На рисунке 10 показана конфигурация брандмауэра до наших изменений.
Рисунок 10. Цепочка ввода таблицы фильтров брандмауэра перед настройкой
> /ip firewall filter add chain=input protocol=tcp dst-port=1194 action=accept place-before=5 comment="accept OpenVPN TCP"
Рисунок 11. Цепочка ввода таблицы фильтров брандмауэра после настройки
3.4 Конфигурация клиента OpenVPN в Ubuntu
Нам нужно скопировать сертификаты ЦС/клиента и закрытый ключ клиента из MikroTik в Linux:
- cert_export_openvpn-client1-certificate.crt
- cert_export_ca-certificate.crt
- cert_export_openvpn-client1-certificate.key
Предполагая, что сервер OpenSSH настроен и работает в системе Linux, введите следующие команды в консоли MikroTik.
> /tool fetch url=sftp://192.168.88.241/home/user123/cert_export_openvpn-client1-certificate.crt user=linux_user password=linux_pass upload=yes
> /tool fetch url=sftp://192.168.88.241/home/user123/cert_export_ca-certificate.crt user=linux_user password=linux_pass upload=yes
> /tool fetch url=sftp://192.168.88.241/home/user123/cert_export_openvpn-client1-certificate.key user=linux_user password=linux_pass upload=yes
Войдите в ОС Linux и скопируйте файлы в каталог /etc/openvpn/client/.
Последние шесть лет скрипт в моей Mikrotik Routerboard обновлял мое бесплатное доменное имя без IP-адреса с помощью моего динамического IP-адреса, позволяя мне подключиться к маршрутизатору через VPN. В какой-то момент из-за обновления RouterOS скрипт перестал обновлять мой ddns и мне пришлось искать другой скрипт или исправлять текущий. Тогда я решил использовать новую функцию Mikrotik, IP Cloud.
Несмотря на то, что IP Cloud кажется неподходящим для использования ddns, поскольку он назначает вам трудно запоминающийся домен, полученный из mac Routerboard, мы можем сопоставить наше бесплатное доменное имя no-ip с CNAME с нашим облачным доменом ip, который никогда не изменения, так как он привязан к оборудованию. Таким образом, мы также можем иметь прокси-сервер с удобным для человека доменом для доступа к внутренним службам.
Настройки Микротика
Удалите скрипт ddns и отключите планировщик скрипта, если он есть. Перейдите в раздел system->scripts и system->scheduler.
Для NTP можно использовать либо SNTP-клиент Mikrotik, либо NTP-сервер облачных серверов Mikrotik. Я выбрал облачный NTP-сервер.
Мы можем отключить SNTP-клиент платы маршрутизатора, выбрав система->SNTP-клиент.
Включите Cloud, выбрав IP->Cloud
Включение облачного ddns на Mikrotik
Роутер свяжется с серверами Mikrotik, создаст домен на основе роутера и назначит его. С этого момента этот домен привязан к конкретному роутеру и будет сохраняться и при сбросе настроек.
Настройки без IP-адреса
Теперь, когда известен домен нашего RB, мы можем приступить к изменению бесплатного домена, зарегистрированного с помощью no-ip, с записи A на CNAME (каноническое имя), что означает, что вместо указания IP-адреса наш домен без IP будет указывать на другой домен, домен нашего маршрутизатора Mikrotik.
Войдите на панель мониторинга no-ip, перейдите в раздел Мои службы->Записи DNS, выберите CNAME и скопируйте и вставьте DNS-имя, назначенное RB, в целевую запись на панели мониторинга no-ip.
изменение имени хоста на CNAME
CNAME распространилась
Готово! Теперь мы можем продолжать использовать наш VPN для нашего маршрутизатора или получать доступ к нашему прокси-серверу, используя наш обычный домен, без поддержки скрипта.
Читайте также: