Ru ddns: Динамический DNS для разработчиков — RU-CENTER

Содержание

Доменное имя DDNS – Keenetic

Если вы хотите подключаться к интернет-центру или компьютерам домашней сети из Интернета, настройте постоянное доменное имя. Помимо сервиса KeenDNS, в интернет-центре Keenetic вы можете использовать службы динамических доменных имен DynDNS, NO-IP, RU-CENTER (DNS-master) или другого провайдера DDNS. Сервис динамического доменного имени предназначен для того, чтобы присвоить вашему интернет-центру красивое постоянное имя, которое не будет зависеть от того, какой IP-адрес используется (динамический или статический), и которое будет легко запомнить. Доменное имя станет привязано к WAN IP-адресу роутера. В случае с динамическим адресом, при смене IP-адреса интернет-центр Keenetic направит на сервер провайдера DDNS уведомление с указанием текущего IP-адреса, и затем новый IP-адрес станет привязан к вашему доменному имени.

NOTE: Важно! Использование сервиса динамического DNS возможно только с белым публичным IP-адресом на внешнем WAN-интерфейсе, через который осуществляется подключение к Интернету.

 Если для доступа в Интернет ваш провайдер предоставляет серый IP-адрес, рекомендуем пользоваться нашим сервисом доменных имен KeenDNS.

Перед настройкой постоянного имени DDNS в Keenetic, вам нужно зарегистрироваться на сайте провайдера DDNS и получить там собственное доменное имя.

TIP: Примечание: В данной статье мы не приводим подробное описание регистрации и получения доменного имени на сайте провайдера DDNS. Оформление и структура их сайтов может меняться, как и условия предоставления бесплатного доменного имени.

После получения постоянного доменного имени, нужно указать его в веб-конфигураторе Keenetic на странице «Доменное имя» на вкладке «DDNS».

Например:

В поле «Сервис» выберите провайдера DDNS или укажите значение «Другой».
В поле «Доменное имя» укажите зарегистрированное доменное имя, которое было указано при регистрации на сайте провайдера DDNS. В полях «Имя пользователя» и «Пароль» укажите соответственно логин и пароль, которые были указаны на сайте провайдера DDNS при регистрации. Некоторые провайдеры, например NO-IP, в качестве логина используют адрес электронной почты (e-mail). Рекомендуется включить опцию «Определять мой IP-адрес автоматически», чтобы при смене WAN IP-адреса клиент динамического DNS (в нашем случае это интернет-центр Keenetic) направил провайдеру DDNS уведомление с указанием текущего IP-адреса. Затем уже провайдер распространит изменения в Интернете в считанные секунды.

Указанные настройки могут отличаться, в зависимости от поставщика услуг.
При выборе в поле «Сервис» значения «Другой» в появившемся поле «Адрес сервиса» нужно будет ввести URL сервера провайдера DDNS. URL должен начинаться с используемого протокола http:// или https:// (например http://members.dyndns.org/nic/update).

Если в интернет-центре создано несколько подключений разного типа в Интернет, появится поле «Для подключений» с выбором интерфейсов, на которых будет использовано постоянное доменное имя. Можно отметить сразу несколько подключений.

На стартовой странице «Системный монитор» в разделе «Интернет» нажмите «Подробнее о соединении» для отображения имени и статуса DDNS. 

Теперь, вне зависимости от смены WAN IP-адреса, интернет-центр Keenetic будет доступен вам для управления из Интернета по доменному имени службы DDNS. 

NOTE: Важно! Для разрешения удаленного доступа к веб-конфигуратору интернет-центра из Интернета нужно на странице «Пользователи и доступ» в разделе «Удаленный доступ» в поле «Доступ к веб-конфигуратору» установить значение «HTTP и HTTPS».

 

Бесплатный DynDNS DDNS сервис в России hldns.ru

ВНИМАНИЕ! Во избежание удаления Вашего аккаунта хотя бы раз в полгода проводите процедуру обновления адреса, просто переходя по ссылке в письме с инструкцией. Если данная процедура у вас автоматическая — это объявление неактуально.

Что такое DDNS (Динамический DNS) ?

Динамический DNS — технология, позволяющая информации на DNS-сервере обновляться в реальном времени, и (по желанию) в автоматическом режиме. Она применяется для назначения постоянного доменного имени устройству (компьютеру, сетевому накопителю) с динамическим IP-адресом.
(c) ru.wikipedia.org

Предположим, Вам необходимо подключаться к домашнему роутеру для просмотра записей видеонаблюдения, подключения к удаленному рабочему столу и так далее. Но Ваш провайдер, выдавая белые ip-адреса, периодически меняет их (принудительно или при переподключении соединения), и это действительно неудобно. Нужно после каждой смены адреса узнавать его и прописывать в настройках Ваших программ на удаленной стороне.

Именно в такой ситуации Вам поможет наш DDNS сервис. Работает это просто — Вы регистрируетесь на сервисе, придумываете доменное имя вида yourname.hldns.ru

и получаете доступ к обновлению ip-адреса с любого устройства либо компьютера из Вашей сети, сопоставленного с этим именем. Например, Ваш домашний компьютер по расписанию, раз в 5 минут (минимальное время обновления), обращается к нашему серверу по специальной ссылке. В этот момент и происходит обновление ip-адреса. Далее вы обращаетесь к Вашему домашнему роутеру или компьютеру уже по имени yourname.hldns.ru и уверенно подключаетесь, даже если Ваш провайдер снова сменил ip-адрес. Именно так работает DynDNS (DDNS) сервис.

Если же Ваш провайдер Вам не может выдать белый ip-адрес, как например большинство мобильный провайдеров, то Вы можете воспользоваться недорогой технологией VPN с присвоением Вам постоянного белого ip-адреса.

Каковы условия использования данного сервиса?

Сервис DynDNS (DDNS) hldns.ru предоставляется любому пользователю, имеющему адрес электронной почты, абсолютно бесплатно. Сервис предоставляется по принципу «ai is» («как есть») и любые претензии по работе сервиса принимаются только если так захочется нам. Пожеланиям и прочим адекватным письменам мы будем очень рады. Также мы будем рады помочь Вам при возникновении проблем с использованием сервиса на бесплатной основе, если речь идет о сбоях в работе сервиса на нашей стороне (стороне сервера hldns.ru). Если Вы испытываете проблемы с настройкой сервиса на Вашей стороне, то, возможно, мы сможем оказать помощь за символическое пожертвование. Все пожертвования пойдут на оплату наших затрат на сервис и его развитие. Каждому пользователю с одним электронным почтовым адресом выделяется один DDNS-адрес (домен третьего уровня) в зоне домена hldns.ru. Но никто не мешает Вам использовать несколько электронных почтовых адресов для получения нескольких DDNS-адресов. Мы оставляем за собой право прекратить оказание услуги любому пользователю в случае, если пользователь пытается либо причиняет какой-либо ущерб сервису либо по другой подобной причине.

Прекращать работу сервиса, вводить платное обслуживание мы не намерены ни сейчас, ни в любом обозримом будущем. Сервис есть и останется

бесплатным для всех.

Мы Вконтакте!

BSP Security — Настройка DDNS

Коротко о том что такое DDNS и для чего это нужно.

       DDNS(Dynamic Domain Name System) — технология, позволяющая информации на DNS-сервере обновляться в реальном времени, и (по желанию) в автоматическом режиме. Она применяется для назначения постоянного доменного имени устройству (компьютеру, сетевому накопителю) с динамическим IP-адресом. Это может быть IP-адрес, полученный по DHCP или по IPCP в PPP-соединениях (например, при удалённом доступе через модем). Другие устройства в Интернете могут устанавливать соединение с этим устройством по доменному имени и даже не знать, что IP-адрес изменился. 

       Проблема появляется тогда когда провайдер предоставляет абоненту динамический IP-адрес (серый), который постоянно меняется и извне не виден. Получается, что доступ к камере тоже закрыт. В таких случаях говорят, что роутер работает за NAT. Это механизм, который преобразует локальные адреса во внешние. То есть провайдер собирает группу пользователей в один пул и предоставляет им выход в Интернет под одним IP-адресом. Делается это ввиду дефицита адресного пространства. Да и услуга предоставления статического (белого) адреса стоит денег.

 

 

Как узнать какой у вас IP-адрес?

Необходимо зайти в настройки сетевой карты и открыть вкладку с протоколом интернет TCP/IP:

Вариант 1. Когда IP-адрес динамический(автоматический)

 

Вариант 2. Когда IP-адрес статический

 

Для того чтобы узнать какой IP-адрес предоставляет провайдер. Необходимо перейти на сайт: 2ip.ru

 

Для настройки службы DDNS на вашем устройстве, в нем должен присутствовать DDNS-клиент, либо настроить DDNS на вашем модеме(роутере).

Для настройки доменного имени будем использовать сервис DynDNS.org, он присутствует в большинсте камер.

Данный сервис является платным, я расскажу как им пользоваться бесплатно. Необходимо зайти на сайт www.dlinkddns.com и регистрируемся

 

Записываем логин и пароль которые указали на сайте, переходим на DynDNS.org

 

 

Затем в первом столбце «My Services», переходим на строку «My Hosts»:

Затем жмем «Add New Hastname»:

 

Далее следуем образцу ниже:

 

Осталось настроить роутер модель № TL-WR940N/TL-WR941ND. Переходим в настройки роутера, для этого открываем любой браузер(Opera, Chrome, IE), вводим в строке поиска IP-адрес роутера. Далее вводим логин и пароль, переходим на вкладку «Динамический DNS» и заполняем по шаблону:

 

Далее переходим на вкладку «Переадрессация»:

 

и затем:

С роутером закончили.  

 

Теперь необходимо настроить сетевую карту камеры. На примере возьмем модель IP-T5201-F  

 

Готово! Чтобы просмотреть камеру, необходимо в браузере ввести «Имя камеры».dyndns.org  

DNS, DDNS и использование сертификата – Zyxel Support Campus EMEA

Динамические DNS-сервисы (DDNS) позволяют разрешение имен при использовании
динамические IP-адреса. В этой статье показана конфигурация универсальной группы безопасности для поставщика DDNS.
Dynu.com. Кроме того, мы создаем официальный SSL-сертификат (здесь через SwissSign.ch). С сертификатом мы гарантируем безопасный внешний доступ к таким сервисам, как SSL VPN или для удаленного администрирования USG через HTTPS.

Руководство:

1. Конфигурация DDNS

2. Создание запроса сертификата

3. Создание внешнего сертификата

4. Доступ по HTTPS с официальным сертификатом SSL

1. Конфигурация DDNS

В следующем примере у нас есть домен Studerus.ch с динамическим IP-адресом, который регулярно меняется. На Dynu.com вы должны подписаться на премиальный пакет Dynu
зарегистрироваться. Эта услуга бесплатна и не требует регулярных входов в систему для поддержания учетной записи.

Конфигурация> Сеть> DDNS> DDNS> Добавить

Состояние DDNS указывает, работает ли соединение с Dynu.com.

Монитор> Состояние системы> Состояние DDNS

В учетной записи Dynu мы настраиваем наш поддомен. В качестве примера мы используем поддомен
SSL.Studerus.ch. После того, как мы их создали, мы создаем сертификат запроса на USG, который мы должны подать на официальный сертификат.

2. Создание запроса сертификата

Конфигурация> Объект> Сертификат> Мои сертификаты> Добавить

Запрос сертификата в обзоре Мои сертификаты:

Дважды щелкните, чтобы открыть сертификат и вставить содержимое дисплея в кодировке Base-64 в
скопировать буфер обмена:

3. Создание внешнего сертификата

Swisssign будет использоваться в качестве примера!

Так как мы создали сертификат запроса, мы создаем учетную запись на SwissSign и
запросите наш SSL-сертификат для субдомена SSL.Studerus.ch. Для этого мы ранее приобрели SSL Серебряный сертификат и получили лицензионный код по электронной почте.
Перейти на https://swisssign.net/

Если у вас еще нет учетной записи, нажмите «Создать учетную запись».

После входа в систему вводим лицензионный код Серебряного сертификата:

Вставка кода PKCS # 10 (сертификат в кодировке Base-64 от USG):

Если PKCS # 10 был принят, мы видим с правой стороны атрибуты, которые мы ввели в USG.

Запрос сертификата был успешно принят:

Для окончательного запуска сертификата на адрес электронной почты учетной записи администратора будет отправлено электронное письмо. Убедитесь, что у вас есть доступ к почтовому ящику для подтверждения электронной почты и получения сертификата!

Далее мы скачиваем официальный SSL-сертификат в формате .cer:

На USG мы imPort SSL-сертификат через меню Мои сертификаты:

Конфигурация> Сертификат> Мой сертификат> ImPort

ImPort стал настоящим сертификатом из нашего запроса сертификата

4. Доступ по HTTPS с официальным сертификатом SSL

Далее мы депонируем сертификат под Service Control для доступа по HTTPS. Таким образом, при подключении к USG через https://ssl.studerus.ch больше не будет появляться сообщение об ошибке сертификата, мы можем перейти непосредственно на страницу входа.

Конфигурация> Система> WWW> Сервисный контроль

KB-00357

Оригинальная версия

Как настроить DDNS в камере Hikvision. Статьи компании «SECURITY59»

Это руководство поможет вам настроить и настроить динамический DNS в вашей камере Hikvision / DVR / NVR. (Прошивка 3.4.80 Build 161128)

Начните с доступа к устройству Hikvision, введя адрес локальной сети в строке URL-адреса (у нас это 192.168.1.9, у вас может быть другое):

Введите свое имя пользователя и пароль, а затем войдите в свое устройство Hikvision:

Отсюда перейдите на страницу DDNS на вашем устройстве ( Конфигурация > Сеть > Основные настройки

 > DDNS ). В этом примере мы используем Turbo HD DVR (DS-7200) :

Правильные настройки следующие:

Тип DDNS:
Адрес сервера без IP : dynupdate.no-ip.com
Домен: YourNoIPDomain (example.ddns.net)
Имя пользователя: YourNoIPUsername
Пароль: YourNoIPPassword

После того, как все заполнено правильно, нажмите кнопку «Сохранить».

Групповые функции на устройствах Hikvision в настоящее время работают только для пользователей нашего управляемого доступа. Это руководство будет обновлено после того, как эта функция станет доступной для всех пользователей.

Для того чтобы обновление было успешно отправлено, вам необходимо использовать следующий формат:

Тип DDNS:
Адрес сервера без IP : dynupdate.no-ip.com
Домен: YourNoIPDomain (example.domain.com)
Имя пользователя: Имя группы% 23Пользовательский
пароль: NoIPGroupPassword

Это связано с тем, что кодирование специальных символов, таких как «#» или «:», как правило, не поддерживается на устройствах видеонаблюдения, поэтому вместо них необходимо использовать кодирование URL. Ваша настройка DDNS должна выглядеть примерно так:

В зависимости от используемого веб-браузера может потребоваться переключаться между вкладками DDNS и обратно. Это обновляет «Статус». Если все было введено правильно, вы должны увидеть следующее сообщение:

На некоторое время он может сказать « Соединение », но продолжайте переключаться между вкладками, и в конечном итоге вы увидите статус « Нормальный ».

Поздравляем! Теперь ваше устройство Hikvision будет отправлять автоматические обновления DDNS на наш сервер, чтобы вы всегда оставались на связи.

Собственный ресурс сети с использованием динамического DNS (DDNS)

Интернет-сервер на персональном компьютере

С недавних пор широкополосный (высокоскоростной) доступ в Интернет вышел на рынок индивидуальных абонентов. Теперь у интернет-пользователей появилась возможность иметь в собственном доме постоянное подключение к Глобальной сети, обеспечивающее высокую скорость передачи данных. Это, а также расширение сетевых возможностей современных операционных систем для персональных компьютеров и значительный рост производительности последних позволяет простым пользователям организовать на своем компьютере домашний интернет-сервер.

Ограничения домашнего подключения к Интернету

Для того чтобы в cети получить доступ к какому-либо серверу, пользователи должны знать его адрес. Для примера: адрес российского Web-сервера компании Zyxel – www.zyxel.ru, а адрес FTP-сервера компании – ftp.zyxel.com. Эти адреса называются доменными именами или доменными адресами. Для человека такой способ адресации удобен – он логичен и понятен, а следовательно, такие адреса легко запомнить.

Параллельно в Интернете существует еще одна система адресации – числовая, которая удобна для машинной обработки. Каждому компьютеру, работающему в сети, присваивается уникальный числовой адрес, который указывается при передаче данных от одного компьютера другому. Этот адрес называется IP-адресом и представляет собой четырехбайтовое число. Для удобства записи каждый байт записывается в десятичном формате (от 0 до 255) и отделяется один от другого точкой. Например, адрес сайта www.zyxel.ru – 194.67.28.53. Существует два варианта назначения IP-адреса: постоянное и временное. В первом случае IP-адрес закрепляется за компьютером и не изменяется без необходимости – такой адрес называют статическим. Во втором случае IP-адрес выдается компьютеру на определенное время, чаще всего лишь на один сеанс связи – такой адрес называют динамическим.

Для того чтобы согласовать два типа адресации, символьный и числовой, была разработана Система Доменных Имен – Domain Name System (DNS) – распределенная база данных, содержащая записи с описанием доменных имен, IP-адресов и другой информации о хостах. Основная задача, возложенная на сервис DNS, – установление соответствия символьных и числовых адресов, т.е. соответствия доменного имени компьютера – его IP-адресу. Другими словами, каждый раз, когда пользователь обращается к символьной адресации, указывая, к какому ресурсу Интернета он хочет подключиться, его машина посылает запрос на DNS-сервер с целью определить IP-адрес этого ресурса. Сервер DNS, найдя в базе данных соответствие адресов, отправляет машине пользователя ответ с требуемым IP-адресом. Но этот сервис имеет одно неприятное ограничение – он работает только со статическими IP-адресами. А т.к. в большинстве случаев для индивидуальных пользователей интернет-провайдеры выдают динамические IP-адреса, то это ограничение становится настоящей проблемой. Получается, для того чтобы сделать компьютер легкодоступным из cети, он должен иметь постоянный адрес! С этой проблемой легко справляется служба Dynamic DNS (DDNS).

ADSL-модем ZyXEL как клиент сервиса Dynamic DNS (DDNS)

Как и большинство других служб Интернета, Dynamic DNS работает в рамках модели клиент-сервер. В качестве DDNS-сервера используется специальное программное обеспечение на удаленном сервере, работающее c таблицей соответствий между символьными и числовыми адресами ресурсов Интернета. Клиентом может быть устройство доступа в Интернет, оповещающее DDNS-сервер о своем текущем IP-адресе и о некоторых дополнительных настройках. В модемах ZyXEL реализована поддержка DDNS-сервера – DynDNS.ORG.

При подключении к Интернету модем получает от DHCP-сервера интернет-провайдера новый IP-адрес 1 (см. Рисунок 1), после чего должен сообщить о его смене DynDNS-серверу. Но так как модему известно лишь доменное имя сервера – www.dyndns.org, то он должен обратиться к DNS-серверу с соответствующим запросом 2 и, уже получив ответ 3 , связаться с DynDNS-сервером 4 для передачи ему информации об изменении своего IP-адреса. Удаленный клиент запрашивает наш FTP-сервер по имени, указывая через двоеточие после доменного имени номер порта, на котором работает FTP-сервер 1 .

Запрос обрабатывается DNS-системой, которая обращается в DynDNS для определения текущего IP-адреса для запрашиваемого доменного имени. DynDNS возвращает в DNS-систему текущий IP-адрес нашего модема. DNS возвращает текущий IP для установления связи клиента с модемом, а уже модем осуществляет так называемый Port Forwarding, перебрасывая пакеты, приходящие на определенный его порт, на аналогичный порт внутреннего FTP- сервера.

Для реализации доступа к сетевому ресурсу с использованием доменного имени необходимо сделать следующие шаги:

  • Завести себе учетную запись – Account на www.dyndns.org для дальнейшей регистрации на сервере.
  • Создать на www.dyndns.org доменное имя для своего сервера – Hostname. Вы можете выбрать любой понравившийся символьный адрес из списка, например dyndns.org, и любое незанятое имя в этом домене для своего сервера. Соответственно получите домен второго уровня для своего сервера: Hostname.dyndns.org.
  • И последнее – настроить соответствующим образом свой модем.

Создание учетной записи

Зайдите на сайт http://www.dyndns.com/ и нажмите ссылку Create Account (Создать учетную запись). Заполните форму:

Укажите в поле Username имя пользователя, которое будет использоваться для дальнейшей регистрации на сайте, и которое будет являться частью доменного имени.

В полях E-mail Address и Confirm E-mail Address введите адрес электронной почты, на который придет письмо с ссылкой для подтверждения регистрации. В полях Password и Confirm Password введите пароль для учетной записи. Также установите две галочки, первая отвечает за согласие с правилами пользования, вторая за то, что будет использоваться только одна бесплатная учетная запись. Нажмите кнопку Create Account.

Далее проверьте почту, на указанном при регистрации e-mail. При принятии письма от сервиса DynDNS, щелкните по ссылке подтверждения регистрации.

Теперь учетная запись создана и активирована, можно создать доменное имя второго уровня (в нашем примере MyhomeFTP.dyndns.org) для доступа к домашнему FTP-серверу.

Создание доменного имени

Зарегистрируйтесь на сайте под своей учетной записью. Откройте раздел Account — Add Host Services.

Укажите доменное имя (в нашем примере оно совпадает с Username), выберите домен из выпадающего списка, отметьте автоматическое определение IP-адреса и нажмите кнопку Create Host.

После создания хоста появится окно, в котором будет отображено соответствие доменного имени и WAN IP-адреса.

Как настроить dyndns на роутере своими руками

Из локальной сети домашнего роутера – можно обеспечить доступ не только к сети Интернет, но и к ресурсам самого роутера.
Речь может идти об FTP-сервере, где в качестве диска используется накопитель USB, и т. п. В то же время, есть возможность все эти ресурсы сделать доступными из «внешней» сети. Для чего, обычно используется сервис «динамического DNS». Мы рассмотрим, как настроить DDNS на роутере.

Локальная и «внешняя» сеть


Во-первых, постараемся объяснить, как используется DDNS. Из локальной сети сам роутер – доступен по одному и тому же адресу (например, 192.168.10.1). Во «внешней» сети, порту WAN назначается определенный IP-адрес, который в большинстве случаев – является изменяемым. Запоминать его бесполезно, так как значение могут поменять в любую минуту. Но есть возможность получить доступ к роутеру, не используя IP «в явном виде». Достаточно один раз зарегистрироваться в соответствующем сервисе, и настроить опцию DDNS в роутере.
После настройки DDNS, доступ к роутеру – осуществляется по доменному имени (которое, вдобавок, придумать может сам пользователь). Это удобно, но при условии, что все настроено правильно.

Как регистрироваться в сервисе DDNS?

Платные и бесплатные сервисы

Приводим список адресов сайтов, предоставляющих сервис DDNS:

  • no-ip.com
  • 3322.org
  • dyndns.org
  • dhs.org
  • update.ods.org
  • dyns.cx

Самый известный из них – это Dyndns. Все примеры настройки, как правило, приводятся «под него». Но данный сервис недавно стал платным. Так что, надо искать бесплатный сервис (из тех, которые поддерживаются в роутере).

Важно знать, что роутер определенной модели – может поддерживать работу только с некоторыми из DDNS-сервисов.

Рассмотрим пример для устройств TP-Link:

Вкладка «Dynamic DNS»


Как видим, в роутерах этой марки – можно использовать 1 из 3 разных сервисов (но не более). Их список – доступен на вкладке настройки DDNS. Что верно для роутеров разных моделей.

Регистрация в сервисе

Перед тем, как настраивать роутер, необходимо зарегистрироваться в DDNS-сервисе. Нужно получить доменное имя (сервис проверит его на уникальность), а только затем это имя – надо будет указывать в настройках.
Для прохождения регистрации потребуется е-мейл. Карточка нового пользователя – обычно содержит сведения: имя, фамилию, регион, е-мейл. Если требуется указать zip-код, можно оставить это поле пустым.
В результате, пользователь получит в свое распоряжение уникальное доменное имя. Например, такое: «1234router.no-ip.biz». Также, создается аккаунт для управления учетной картой (надо запомнить логин и пароль к нему).

Как настроить DDNS в роутере?

Вкладка параметров DDNS

Именно опцию DDNS в большинстве роутеров – настраивать проще всего. В web-интерфейсе должна быть вкладка, содержащая все требуемые параметры: доменное имя, логин с паролем, список сервисов.

Алгоритм настройки:

  1. Переходим на требуемую вкладку (обычно, «DDNS» или «Dynamic DNS» в разделе «Дополнительных настроек»)
  2. Выбираем сервис (тот, в котором регистрировались)
  3. Заполняем все пустые поля
  4. Если есть галочка «Enable» – устанавливаем ее, и обязательно сохраняем настройки:

Настройка DDNS в роутерах TP-Link


Подключать роутер к сервису DDNS – пользователь должен, открыв интерфейс и нажав кнопку «Login» (на рассмотренной выше вкладке). Подключение будет действовать до перезагрузки роутера.

Пример использования DDNS и известные проблемы

Допустим, все было выполнено правильно, и дополнительно, на роутере включен ftp-сервер. Тогда, из любой точки мира – этот сервер становится доступен по следующему адресу: ftp://1234router.no-ip.biz:80. Пример, конечно, является правильным, если было получено доменное имя «1234router.no-ip.biz».
Иногда бывает, что по доменному имени – роутер, все же, становится недоступен. В этом случае, достаточно зайти на сайт сервиса, открыть учетную запись (или указать доменное имя) – и в окне на странице появится IP роутера. Проблема в том, что через некоторое время этот IP может смениться.
Но, в принципе, такой метод тоже является актуальным: вместо «1234router…» указывается IP-адрес (который в действительности назначен порту WAN). Возможность увидеть значение IP – предоставляется любым из сервисов, причем, без каких-либо проблем.

Дополнительно, отметим главное отличие DDNS от 2IP.ru и подобного: узнать IP роутера с помощью DDNS – можно с любого устройства, подключенного к сети Интернет (из любой точки мира). Дальше, этот IP – используется для доступа к роутеру.

Пример настройки роутера D-Link под DynDSN

Предыдущая

РоутерРоутер Таттелеком и его настройка

Следующая

D-LinkПодключение маршрутизатора

Услуги моего хоста | Моя учетная запись Dyn

Начать поиск нового имени хоста

.dyndns.org .dvrdns.org .dyndns.tv .dyndns.info .homeip.net .dyndns.biz .mine.nu .dnsalias.com .dyndns-ip.com .selfip.com .at-band-camp.net .ath.cx .barrel-of-knowledge.info .barrell-of-knowledge.info .better-than.tv .blogdns.com .blogdns.net .blogdns.org .blogsite.org .boldlygoingnowhere.org .broke-it.net .buyshouses.net .cechire.com .dnsalias.com .dnsalias.net .dnsalias.org .dnsdojo.com .dnsdojo.net .dnsdojo.org .does-it.net .doesntexist.com .doesntexist.org .dontexist.com .dontexist.net .dontexist.org .doomdns.com .doomdns.org .dvrdns.org .dyn-o-saur.com .dynalias.com .dynalias.net .dynalias.org .dynathome.net .dyndns-at-home.com .dyndns-at-work.com .dyndns-blog.com .dyndns-free.com .dyndns-home.com .dyndns-ip.com .dyndns-mail.com .dyndns-office.com .dyndns-pics.com .dyndns-remote.com .dyndns-server.com .dyndns-web.com .dyndns-wiki.ком .dyndns-work.com .dyndns.biz .dyndns.info .dyndns.org .dyndns.tv .dyndns.ws .endofinternet.net .endofinternet.org .endoftheinternet.org .est-a-la-maison.com .est-a-la-masion.com .est-le-patron.com .est-mon-blogueur.com .for-better.biz .for-more.biz .for-our.info .for-some.biz .for-the.biz .forgot.her.name .forgot.his.name .from-ak.com .from-al.com .from-ar.com .from-az.net .from-ca.com .from-co.net .from-ct.com .from-dc.com .from-de.com .from-fl.com .from-ga.com .from-hi.com .from-ia.com .from-id.com .from-il.com .from-in.com .from-ks.com .from-ky.com .from-la.net .from-ma.com .from-md.com .from-me.org .from-mi.com .from-mn.com .from-mo.com .from-ms.com .from-mt.com .from-nc.com .from-nd.com .from-ne.com .from-nh.com .from-nj.com .from-nm.com .from-nv.com .from-ny.net .from-oh.com .from-ok.com .from-or.com .from-pa.com .from-pr.com .from-ri.com .from-sc.com .from-sd.com .from-tn.com .from-tx.com .from-ut.com .from-va.com .from-vt.com .from-wa.com .from-wi.com .from-wv.com .from-wy.com .ftpaccess.cc .fuettertdasnetz.de .game-host.org .game-server.cc .getmyip.com .gets-it.net .go.dyndns.org .gotdns.com .gotdns.org .groks-the.info .groks-this.info .ham-radio-op.net .here-for-more.info .hobby-site.com .hobby-site.org .home.dyndns.org .homedns.org .homeftp.net .homeftp.org .homeip.net .homelinux.com .homelinux.net .homelinux.org .homeunix.com .homeunix.net .homeunix.org .iamallama.com . в группе.сеть .is-a-anarchist.com .is-a-blogger.com .is-a-bookkeeper.com .is-a-bruinsfan.org .is-a-bulls-fan.com .is-a-кандидата.org .is-a-caterer.com .is-a-celticsfan.org .is-a-chef.com .is-a-chef.net .is-a-chef.org .is-a-conservative.com .is-a-cpa.com .is-a-cubicle-slave.com .is-a-democrat.com .is-a-designer.com .is-a-doctor.com .is-a-financialadvisor.com .is-a-geek.com .is-a-geek.net .is-a-geek.org .is-a-green.com .is-a-guru.com .is-a-hard-worker.com .is-a-hunter.com .is-рыцарь.org .is-a-landscaper.com .is-a-lawyer.com .is-a-liberal.com .is-a-libertarian.com .is-a-linux-user.org .is-a-llama.com .is-a-musician.com .is-a-nascarfan.com .is-a-Nurse.com .is-a-painter.com .is-a-patsfan.org .is-a-personaltrainer.com .is-a-photography.com .is-a-player.com .is-a-republican.com .is-a-rockstar.com .is-a-socialist.com .is-a-soxfan.org .is-a-student.com .is-a-teacher.com .is-a-techie.com .is-a-therapist.com .is-an-accountant.com .is-an -actor.com .is-актриса.ком .is-an-anarchist.com .is-an-artist.com .is-an-Engineer.com .is-an-entertainer.com .is-by.us .is -certed.com .is-found.org .is-going.com .is-into-anime.com .is-into-cars.com .is-into-cartoons.com .is-into-games.com .is-leet.com .is-lost.org .is-not -certed.com .is-saved.org .is-slick.com .is-uberleet.com .is-very-bad.org .is-very-evil.org .is-very-good.org .is-very-nice.org .is-very-sweet.org .is-with-theband.com .isa-geek.com .isa-geek.net .isa-geek.org .isa-hockeynut.ком .issmarterthanyou.com .isteingeek.de .istmein.de .kicks-ass.net .kicks-ass.org .knowsitall.info .land-4-sale.us .lebtimnetz.de .leitungsen.de .likes-pie.com .likescandy.com .merseine.com .merseine.org .mine.nu .misconfused.org .mypets.ws .myphotos.cc .neat-url.com .office-on-the.net .on-the-web.tv .podzone.net .podzone.org .readmyblog.org .remotecam.nu .saves-the-whales.com .scrapper-site.net .scrapping.cc .selfip.biz .selfip.com .selfip.info .selfip.net .selfip.org .sells-for-less.com .sells-for-u.com .sells-it.net .sellsyourhome.org .servebbs.com .servebbs.net .servebbs.org .serveftp.net .serveftp.org .servegame.org .shacknet.biz .shacknet.us .shaqnet.nu .simple-url.com .space-to-rent.com .stuff-4-sale.org .stuff-4-sale.us .teaches-yoga.com .thruhere.net .traeumtgerade.de .webhop.biz .webhop.info .webhop.net .webhop.org .worse-than.tv .writesthisblog.com

One Oracle Drive, Нашуа, NH 03062 // Динамический DNS // Скачать клиент обновлений // Интернет-гид // Служба поддержки // Статус // Форумы // Юридические Уведомления // Политика конфиденциальности

Авторское право © 2021, Oracle и / или ее дочерние компании.Все права защищены. Oracle и Java являются зарегистрированными товарными знаками Oracle и / или ее дочерних компаний. Другие наименования могут быть торговыми марками их владельцев.

ddns / ddns на главном сервере · phuslu / ddns · GitHub

#! / Usr / bin / env python
# кодировка: utf-8
«» «
Использование: ddns <поставщик> [аргументы]
Примеры:
ddns aliyun —key KEY —secret SECRET —domain ДОМЕН
ddns cloudflare —email EMAIL —key KEY —domain DOMAIN
ddns cloudxns —key KEY —secret SECRET —domain ДОМЕН
ddns digitalocean —key KEY —domain ДОМЕН
ddns dnsimple —account-id ACCOUNT_ID —key KEY —domain ДОМЕН
ddns dnspod —email EMAIL —password ПАРОЛЬ —domain ДОМЕН
ddns gandi —key KEY —domain ДОМЕН
ddns godaddy —key KEY —secret SECRET —domain ДОМЕН
ddns he —key KEY —domain ДОМЕН
ddns linode —key KEY —domain ДОМЕН
ddns linodev3 —key KEY —domain ДОМЕН
ddns namecheap —password ПАРОЛЬ —domain ДОМЕН
ddns namesilo —key KEY —domain ДОМЕН
ddns ns1 —key KEY —domain ДОМЕН
ddns qcloud —secret-id SECRET_ID —secret-key SECRET_KEY —domain ДОМЕН
«» «
PY2 = » не u »
, если PY2:
перезагрузить (__ import __ (‘sys’)).setdefaultencoding (‘utf-8’)
импортная база64
импортных коллекций
импорт getopt
импорт hashlib
импортный hmac
импорт json
импорт журнала
импорт ОС
случайный импорт
импорт повторно
импортная розетка
импорт sys
импорт sys
импортная нарезка
время импорта
импортный uuid
импорт xml.etree.ElementTree
, если PY2:
из itertools импортировать izip_longest как zip_longest
из очереди импорта Очередь
из urllib import urlencode, quote_plus
из urllib2 import urlopen, Request, HTTPError
еще:
из itertools import zip_longest
из очереди импорта Очередь
из urllib.парсить импорт urlencode, quote_plus
из urllib.request import urlopen, Request, HTTPError
logging.basicConfig (format = ‘% (levelname) s:% (message) s’, level = logging.INFO)
def aliyun (ключ, секрет, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
rfc3339 = лямбда: время.strftime (‘% Y-% m-% dT% H:% M:% SZ’, time.gmtime ())
sign = lambda p: base64.b64encode (hmac.new ((secret + ‘&’). Encode (), (‘GET &% 2F &’ + quote_plus (urlencode (sorted (p.items ())))). Encode ( ), hashlib.sha1) .digest ())
api_url = ‘https://alidns.aliyuncs.com/’
common_params = {‘Формат’: ‘json’, ‘Версия’: ‘2015-01-09’, ‘AccessKeyId’: ключ, ‘Отметка времени’: rfc3339 (), ‘SignatureMethod’: ‘HMAC-SHA1’, ‘SignatureNonce ‘: uuid.uuid4 (), ‘SignatureVersion’: ‘1.0’}
params = dict (common_params.items (), Action = ‘DescribeDomainRecords’, DomainName = top_domain)
params [‘Подпись’] = sign (params)
_, _, info = _request (‘GET’, api_url, params = params, return_json = True)
record_id = next (x [‘RecordId’] для x в информации [‘DomainRecords’] [‘Record’] if x [‘RR’] == record_name)
лесозаготовка.info (‘aliyun domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
params = dict (common_params.items (), Action = ‘UpdateDomainRecord’, RecordId = record_id, RR = record_name, Type = ‘A’, Value = ip, TTL = ‘600’)
params [‘Подпись’] = sign (params)
_, _, info = _request (‘GET’, api_url, params = params, return_json = True)
лесозаготовка.info (‘aliyun domain =% r to ip =% r info:% s’, домен, ip, информация)
def cloudflare (электронная почта, ключ, домен):
ip = _getip (домен)
_, zone_name = _split (домен)
заголовки = {‘X-Auth-Email’: электронная почта, ‘X-Auth-Key’: ключ, ‘Content-Type’: ‘application / json’}
api_url = ‘https: // api.cloudflare.com/client/v4/zones?name=%s ‘% имя_зоны
Код, _, информация = _request (‘GET’, api_url, headers = headers, return_json = True)
zone_id = информация [‘результат’] [0] [‘id’]
logging.info (‘домен облачной вспышки = от% r до ip =% r идентификатор_зоны:% s’, домен, ip, идентификатор_зоны)
api_url = ‘https://api.cloudflare.com/client/v4/zones/%s/dns_records?name=%s’% (zone_id, домен)
_, _, info = _request (‘GET’, api_url, headers = headers, return_json = True)
record_id = информация [‘результат’] [0] [‘id’]
лесозаготовка.info (‘домен облачной вспышки = от% r до ip =% r record_id:% s’, domain, ip, record_id)
api_url = ‘https://api.cloudflare.com/client/v4/zones/%s/dns_records/%s’% (zone_id, record_id)
info = {‘id’: zone_id, ‘type’: ‘A’, ‘ttl’: 300, ‘proxied’: False, ‘name’: domain, ‘content’: ip}
_, _, info = _request (‘PUT’, api_url, headers = headers, json = info, return_json = True)
лесозаготовка.info (‘cloudflare domain =% r to ip =% r result:% s’, domain, ip, info [‘result’])
def cloudxns (ключ, секрет, домен):
ip = _getip (домен)
api_url = ‘https://www.cloudxns.net/api2/ddns’
данные = json.дампы ({‘домен’: домен, ‘ip’: ip, ‘line_id’: ‘1’})
date = time.strftime («% a,% d% b% Y% H:% M:% S +0000», time.gmtime ())
api_hmac = hashlib.md5 (». Join ((ключ, api_url, данные, дата, секрет)). Encode ()). Hexdigest ()
заголовки = {‘API-KEY’: ключ, ‘API-REQUEST-DATE’: дата, ‘API-HMAC’: api_hmac, ‘API-FORMAT’: ‘json’}
resp = urlopen (Запрос (api_url, data = data.encode (), заголовки = заголовки), тайм-аут = 5)
logging.info (‘cloudxns domain =% r to ip =% r результат:% s’, домен, ip, соотв. Read ())
def digitalocean (ключ, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
заголовки = {‘Авторизация’: ‘Носитель’ + ключ}
url = ‘https: // api.digitalocean.com/v2/domains/%s/records ‘% top_domain
_, _, info = _request (‘GET’, url, headers = headers, return_json = True)
record_id = next (x [‘id’] для x в информации [‘domain_records’] if x [‘name’] == record_name и x [‘type’] == ‘A’)
logging.info (‘digitalocean domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
url = ‘https: // api.digitalocean.com/v2/domains/%s/records/%s ‘% (top_domain, record_id)
info = {‘type’: ‘A’, ‘name’: record_name, ‘data’: ip, ‘ttl’: ‘600’}
_, _, info = _request (‘PUT’, url, headers = headers, json = info, return_json = True)
logging.info (‘digitalocean domain =% r to ip =% r result:% s’, domain, ip, info)
def dnsimple (account_id, ключ, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
заголовки = {‘Авторизация’: ‘Носитель’ + ключ, ‘Принять’: ‘application / json’}
_, _, info = _request (‘GET’, ‘https: // api.dnsimple.com/v2/whoami ‘, заголовки = заголовки, return_json = True)
account_id = информация [‘данные’] [‘id’]
logging.info (‘dnsimple domain =% r to ip =% r account_id:% s’, domain, ip, account_id)
url = ‘https://api.dnsimple.com/v2/%s/zones/%s/records’% (account_id, top_domain)
_, _, info = _request (‘GET’, url, headers = headers, return_json = True)
record_id = next (x [‘id’] для x в info [‘data’] if x [‘name’] == record_name и x [‘type’] == ‘A’)
лесозаготовка.info (‘dnsimple domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
url = ‘https://api.dnsimple.com/v2/%s/zones/%s/records/%s’% (account_id, top_domain, record_id)
info = {‘тип’: ‘A’, ‘контент’: ip, ‘ttl’: ‘600’, ‘регионы’: [‘global’]}
_, _, info = _request (‘PATCH’, url, headers = headers, json = info, return_json = True)
лесозаготовка.info (‘dnsimple domain =% r to ip =% r result:% s’, domain, ip, info)
def dnspod (электронная почта, пароль, домен):
ip = _getip (домен)
имя_записи, домен = _split (домен)
params = {‘login_email’: электронная почта, ‘login_password’: пароль, ‘format’: ‘json’}
_, _, info = _request (‘POST’, ‘https: // dnsapi.cn / Domain.List ‘, params = params, return_json = True)
domain_id = next (x [‘id’] для x в info [‘domains’] if x [‘punycode’] == domain)
logging.info (‘dnspod domain =% r to ip =% r domain_id:% s’, domain, ip, domain_id)
params [‘domain_id’] = domain_id
_, _, info = _request (‘POST’, ‘https: // dnsapi.cn / Record.List ‘, params = params, return_json = True)
record_id = next (x [‘id’] для x в info [‘records’] if x [‘name’] == record_name и x [‘type’] == ‘A’)
logging.info (‘dnspod domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
params.update ({‘record_id’: record_id, ‘record_type’: ‘A’, ‘record_line’: u ‘默认’, ‘value’: ip, ‘mx’: 5, ‘sub_domain’: record_name})
_, _, info = _request (‘POST’, ‘https: // dnsapi.cn / Record.Modify ‘, params = params, return_json = True)
logging.info (‘dnspod domain =% r to ip =% r info:% s’, домен, ip, информация)
def gandi (ключ, домен):
ip = _getip (домен)
имя_записи, имя_зоны = _split (домен)
заголовки = {‘X-Api-Key’: ключ, ‘Content-Type’: ‘application / json’}
api_url = ‘https: // dns.api.gandi.net/api/v5/zones ‘
_, _, info = _request (‘GET’, api_url, headers = headers, return_json = True)
zone_id = next (x [‘uuid’] для x в информации if x [‘name’] == zone_name)
logging.info (‘gandi domain =% r to ip =% r zone_id:% s’, domain, ip, zone_id)
api_url = ‘https://dns.api.gandi.net/api/v5/zones/%s/records/%s/A’% (zone_id, record_name)
_, _, info = _request (‘PUT’, api_url, json = {‘rrset_ttl’: 300, ‘rrset_values’: [ip]}, headers = headers)
лесозаготовка.info (‘gandi domain =% r to ip =% r info:% s’, домен, ip, информация)
def godaddy (ключ, секрет, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
заголовки = {‘Авторизация’: ‘sso-key% s:% s’% (ключ, секрет), ‘Content-type’: ‘application / json’}
api_url = ‘https: // api.godaddy.com/v1/domains/%s/records/A/%s ‘% (верхний_домен, имя_записи)
_, _, info = _request (‘PUT’, api_url, headers = headers, json = {‘data’: ip, ‘ttl’: ‘600’}, return_json = True)
logging.info (‘godaddy domain =% r to ip =% r info:% s’, домен, ip, информация)
def he (ключ, домен):
ip = _getip (домен)
params = {‘hostname’: domain, ‘password’: key, ‘myip’: ip}
_, _, content = _request (‘GET’, ‘https: // dyn.dns.he.net/nic/update ‘, params = params)
logging.info (‘he domain =% r to ip =% r result:% s’, domain, ip, content)
def линод (ключ, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
заголовки = {‘Авторизация’: ‘Носитель’ + ключ}
_, _, info = _request (‘GET’, ‘https: // api.linode.com/v4/domains ‘, заголовки = заголовки, return_json = True)
domain_id = next (x [‘id’] для x в info [‘data’] if x [‘domain’] == top_domain)
logging.info (‘linode domain =% r to ip =% r domain_id:% s’, domain, ip, domain_id)
_, _, info = _request (‘GET’, ‘https://api.linode.com/v4/domains/%s/records’% domain_id, headers = headers, return_json = True)
record_id = next (x [‘id’] для x в info [‘data’] if x [‘name’] == домен)
лесозаготовка.info (‘linode domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
_, _, info = _request (‘PUT’, ‘https://api.linode.com/v4/domains/%s/records/%s’% (domain_id, record_id), headers = headers, json = { ‘имя’: домен, ‘цель’: ip})
logging.info (‘linode domain =% r to ip =% r result:% s’, domain, ip, info)
def linodev3 (ключ, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
_, _, info = _request (‘GET’, ‘https: // api.linode.com/?api_key={}&api_action=domain.list’.format(key), return_json = True)
domain_id = next (x [‘DOMAINID’] для x в информации [‘DATA’] if x [‘DOMAIN’] == top_domain)
logging.info (‘linode domain =% r to ip =% r domain_id:% s’, domain, ip, domain_id)
_, _, info = _request (‘GET’, ‘https://api.linode.com/?api_key={}&api_action=domain.resource.list & domainid = {} ‘. format (key, domain_id), return_json = True)
record_id = next (x [‘RESOURCEID’] для x в информации [‘DATA’] if x [‘NAME’] == record_name)
logging.info (‘linode domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
_, _, info = _request (‘PUT’, ‘https://api.linode.com/?api_key= {} & api_action = domain.resource.update & domainid = {} & resourceid = {} & target = {}’.формат (ключ, domain_id, record_id, ip), return_json = True)
logging.info (‘linode domain =% r to ip =% r result:% s’, domain, ip, info)
def ns1 (ключ, домен):
ip = _getip (домен)
_, top_domain = _split (домен)
заголовков = {‘X-NSONE-Key’: key}
url = ‘https: // api.nsone.net/v1/zones/%s/%s/A ‘% (верхний_домен, домен)
info = {‘ответы’: [{‘ответ’: [ip]}], ‘ttl’: 600}
_, _, info = _request (‘POST’, url, headers = headers, json = info, return_json = True)
logging.info (‘ns1 domain =% r to ip =% r result:% s’, domain, ip, info)
def namecheap (пароль, домен):
имя_записи, top_domain = _split (домен)
url = ‘https: // dynamicdns.park-your-domain.com/update ‘
params = {‘хост’: имя_записи, ‘домен’: верхний_домен, ‘пароль’: пароль}
_, _, info = _request (‘ПОЛУЧИТЬ’, url, params = params)
logging.info (‘namecheap domain =% r to ip =% r result:% s’, domain, ip, info)
def namesilo (ключ, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
url = ‘https: // www.namesilo.com/api/dnsListRecords ‘
params = {‘версия’: ‘1’, ‘тип’: ‘xml’, ‘ключ’: ключ, ‘домен’: верхний_домен}
_, _, tree = _request (‘GET’, url, params = params, return_xml = True)
record_id = next (x.find (‘record_id’). Text for x in tree.find (‘reply’). Iter (‘resource_record’) if x.find (‘host’). Text == domain and x. find (‘type’). text == ‘A’)
лесозаготовка.info (‘namesilo domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
url = ‘https://www.namesilo.com/api/dnsUpdateRecord’
params = {‘version’: ‘1’, ‘type’: ‘xml’, ‘key’: key, ‘domain’: top_domain, ‘rrid’: record_id, ‘rrvalue’: ip, ‘rrhost’: record_name, ‘rrttl’: ‘3600’}
_, _, info = _request (‘ПОЛУЧИТЬ’, url, params = params)
лесозаготовка.info (‘namesilo domain =% r to ip =% r результат:% s’, домен, ip, информация)
def qcloud (secret_id, secret_key, домен):
ip = _getip (домен)
имя_записи, top_domain = _split (домен)
знак = лямбда p: base64.b64encode (hmac.new (secret_key.encode (), (‘GETcns.api.qcloud.com/v2/index.php?’ + urlencode (отсортировано (p.items ()))). encode (), hashlib.sha1 ) .digest ())
api_url = ‘https://cns.api.qcloud.com/v2/index.php’
common_params = {‘Регион’: ‘sh’, ‘Отметка времени’: str (int (time.time ())), ‘Nonce’: str (random.randint (1, 65536)), ‘SecretId’: secret_id, SignatureMethod: HmacSHA1}
params = dict (common_params.items (), Action = ‘RecordList’, domain = top_domain, subDomain = record_name)
params [‘Подпись’] = sign (params)
_, _, info = _request (‘GET’, api_url, params = params, return_json = True)
record_id = next (x [‘id’] для x в info [‘data’] [‘records’] if x [‘name’] == record_name and x [‘line’] == u ‘默认’)
лесозаготовка.info (‘qcloud domain =% r to ip =% r record_id:% s’, domain, ip, record_id)
params = dict (common_params.items (), Action = ‘RecordModify’, domain = top_domain, subDomain = record_name, recordId = record_id, recordType = ‘A’, recordLine = u », value = ip, ttl = ‘600 ‘)
params [‘Подпись’] = sign (params)
_, _, info = _request (‘GET’, api_url, params = params, return_json = True)
лесозаготовка.info (‘qcloud domain =% r to ip =% r info:% s’, домен, ip, информация)
def _getip (домен):
URL = [
‘http://ip.3322.org’,
‘http://whatismyip.akamai.com/’,
‘http: // checkip.amazonaws.com/ ‘,
]
результат = Queue ()
def _fetch (url):
попытка:
result.put (urlopen (Request (url, headers = {‘user-agent’: ‘curl / 7.53’}), timeout = 5))
logging.info (‘getip () from% r’, url)
кроме исключения как e:
лесозаготовка.исключение (‘getip () из% r ошибка:% s’, url, e)
для URL в URL:
t = threading.Thread (target = _fetch, args = (url,))
т.setDaemon (True)
т. Старт ()
текст = result.get (). Read (). Decode ()
ip = re.search (r ‘(\ d {1,3}.) {3} \ d {1,3}’, text) .group ()
, если ip == socket.gethostbyname (домен):
logging.info (‘удаленный IP и локальный IP совпадают с% s, exit.’, Ip)
системный выход (0)
возврат ip
def _request (метод, url, params = None, json = None, data = None, headers = None, timeout = None, return_json = False, return_xml = False):
jsonlib = __import __ (‘json’)
, если заголовки отсутствуют:
Заголовки = {}
, если «User-Agent» отсутствует в заголовках:
заголовков.update ({‘User-Agent’: ‘curl / 7.53’})
, если параметры:
, если isinstance (params, dict):
params = sorted (params.items ())
еще:
params = sorted (params)
, если метод == ‘GET’:
url + = ‘?’ + urlencode (параметры)
еще:
данные = urlencode (параметры).кодировать ()
, если json:
assert метод! = ‘GET’
данные = jsonlib.dumps (json) .encode ()
headers.update ({‘Content-Type’: ‘application / json’})
, если тип (данные) — это тип (u »):
данные = данные.кодировать ()
, если тайм-аут отсутствует:
тайм-аут = 8
req = Запрос (url, data = data, headers = headers)
req.get_method = лямбда: метод
logging.info (‘% s \ «% s \»‘, метод, URL)
попытка:
resp = urlopen (req, timeout = timeout)
, кроме HTTPError как e:
resp = e
содержание = соотв.читать ()
, если return_json и соотв. Код == 200:
контент = jsonlib.loads (контент)
, если return_xml и соответствующий код == 200:
content = xml.etree.ElementTree.fromstring (контент)
возврат, соотв. Код, dict (соотв. Заголовки), содержание
def _split (домен):
«» «
.ac .ad .ae .af .ag .ai .al .am .an .ao .ap .aq .ar .as .at .au .aw .ax .az .ba .bb
.bd .be .bf .bg .bh .bi .bj .bm .bn .bo .br .bs .bt .bv .bw .by .bz .ca .cc .cd .cf
.cg .ch .ci .ck .cl .cm .cn .co .cr .cs .cu .cv .cx .cy .cz .de .dj .dk .dm .do .dz
.ec .ee .eg .eh .er .es .et .eu .fi .fj .fk .fm .fo .fr .ga .gb .gd .ge .gf .gg .gh
.gi .gl .gm .gn .gp .gq .gr .gs .gt .gu .gw .gy .hk .hm .hn .hr .ht .hu .id .ie .il
.im .in .io .iq .ir .is .it .je .jm .jo .jp .ke .kg .kh .ki .km .kn .kp .kr .kw .ky
.kz .la .lb .lc .li .lk .lr .ls .lt .lu .lv .ly .ma .mc .md .me .mg .mh .mk .ml .mm
.mn .mo .mp .mq .mr .ms .mt .mu .mv .mw .mx .my .mz .na .nc .ne .net.id .nf .ng .ni
.nl .no .np .nr .nu .nz .om .pa .pe .pf .pg .ph .pk .pl .pm .pn .pr .ps .pt .pw .py
.qa .re .ro .rs .ru .rw .sa .sb .sc .za .sd .se .sg .sh .si .sj .sk .sl .sm .sn .so
.sr .st .sv .sy .sz .tc .td .tf .tg .th .tj .tk .tl .tm .tn .to .tp .tr .tt .tv .tw
.tz .ua .ug .uk .um .us .uy .uz .va .vc .ve .vg .vi .vn .vu .wf .ws .ye .yt .yu .za
.zm .zw
.art .biz .cat .com .edu .fun .gov .ink .int .kim .ltd .men .mil .net .one .org
.pro .pub .red .ren .tel .top .vip .web .xin .xyz
.aero .africa .agency .arpa .asia .audio .cash .click .club .consulting .coop
.design .engineer .engineering .fishing .graphics .group .guru .host .info .jobs
.link .live .media .mobi .museum .music .name .network .online .party
.photography .place .review .science .search .services .shop .site .software
.solutions .space .store .stream .studio .systems .team .tech .technology .today
.tools .travel .video .wang .website .wiki .work .works .yokohama
.4fd.in .4fd.us .a.se .ab.ca .abo.pa .ac.ae .ac.at .ac.cn .ac.cr .ac.cy .ac.fj
.ac.fk .ac.gn .ac.id .ac.il .ac.in .ac.ir .ac.jp .ac.ke .ac.kr .ac.ma .ac.me
.ac.mu .ac.mw .ac.mz .ac.ni .ac.nz .ac.om .ac.pa .ac.pr .ac.rs .ac.ru .ac.rw
.ac.se .ac.sz .ac.th .ac.tj .ac.tz .ac.ug .ac.uk .ac.vn .ac.yu .ac.za .ac.zm
.ad.jp .adm.br .adv.br .adygeya.ru .aero.mv .aero.tt .agr.br .agric.za
.agrinet.tn .ah.cn .alt.za .altai.ru .am.br .amur.ru .arkhangelsk.ru .arq.br
.art.br .art.do .art.dz .art.pl .art.sn .arts.nf.arts.ro .asn.au .asn.lv
.assn.lk .asso.dz .asso.fr .asso.km .asso.mc .asso.re .astrakhan.ru .ato.br
.av.tr .b.br .b.se .bashkiria.ru .bbs.tr .bc.ca .bd.se .bel.tr .belau.pw
.belgorod.ru .bialystok.pl .bio.br .bir.ru .biz.bb .biz.bh .biz.ck .biz.cy
.biz.et .biz.fj .biz.ki .biz.mv .biz.ng .biz.nr .biz.om .biz.pk .biz.pl .biz.pr
.biz.tj .biz.tr .biz.tt .biz.ua .biz.vn .bj.cn .bl.uk .blog.br .bmd.br .bourse.za
.british-library.uk .bryansk.ru .buryatia.ru .busan.kr .bz, com.bz .bz, edu.bz
.bz, gov.bz .bz, net.bz .bz, org.bz .c.se .cat.tt .cbg.ru .cc.bh .chel.ru
.челябинск.ru .cherkassy.ua .chernigov.ua .chernovtsy.ua .chita.ru .chita.ru
.chukotka.ru .chungbuk.kr .chungnam.kr .chuvashia.ru .cim.br .city.za .ck.ua
.club.tw .cn.ua .cng.br .cnt.br .co.ae .co.ao .co.at .co.ba .co.bb .co.ck .co.cr
.co.fk .co.gg .co.id .co.il .co.in .co.ir .co.je .co.jp .co.ke .co.kr .co.ma .co.me
.co.mu .co.mw .co.mz .co.na .co.ni .co.nz .co.om .co.pw .co.rs .co.rw .co.sh .co.st
.co.sz .co.th .co.tj .co.tt .co.tz .co.ua .co.ug .co.uk .co.ve .co.vi .co.ye .co.yu
.co.za .co.zm .com.ac .com.af .com.al .com.ar .com.au .com.ba .com.bb .com.bh
.com.bn .com.bo .com.br .com.bs .com.cn .com.co .com.cy .com.do .com.dz .com.ec
.com.eg .com.er .com.es .com.et .com.fj .com.fr .com.gh .com.gn .com.gr .com.gt
.com.gu .com.hk .com.iq .com.jo .com.kh .com.ki .com.km .com.kw .com.ky .com.kz
.com.lb .com.lk .com.lr .com.lv .com.ly .com.mg .com.mk .com.ml .com.mo .com.mt
.com.mu .com.mv .com.mw .com.mx .com.my .com.na .com.nf .com.ng .com.ni .com.np
.com.nr .com.om .com.pa .com.pe .com.ph .com.pk .com.pl .com.pr .com.ps .com.pt
.com.py .com.qa .com.re .com.ro .com.ru .com.rw .com.sa .com.sb .com.sc .com.sd
.com.sg .com.sh .com.sl .com.sn .com.st .com.sv .com.sy .com.tj .com.tn .com.tr
.com.tt .com.tw .com.ua .com.uy .com.ve .com.vi .com.vn .com.ye .com.zm .conf.lv
.consulado.st .coop.br .coop.km .coop.mv .coop.mw .coop.tt .cq.cn .cr .cri.nz
.crimea.ua .csiro.au .cv.ua .cybernet.za .cym.uk .d.se .daegu.kr .daejeon.kr
.dagestan.ru .db.za .de.ki .defense.tn .dn.ua .dnepropetrovsk.ua .dni.us .dnssec.ir
.donetsk.ua .dp.ua .dr.tr .e-burg.ru .e.se .ebiz.tw .ecape.school.za .ecn.br .ed.ao
.ed.cr .ed.jp .ed.pw .edu.af .edu.al .edu.ar .edu.au .edu.ba .edu.bb .edu.bh .edu.bn
.edu.bo .edu.br .edu.bs .edu.ck .edu.cn .edu.co .edu.do .edu.dz .edu.ec .edu.eg
.edu.er .edu.es .edu.et .edu.gh .edu.gr .edu.gt .edu.gu .edu.hk .edu.in .edu.iq
.edu.it .edu.jo .edu.kh .edu.ki .edu.km .edu.kn .edu.kw .edu.ky .edu.kz .edu.lb
.edu.lk .edu.lr .edu.lv .edu.ly .edu.me .edu.mg .edu.mk .edu.ml .edu.mn .edu.mo
.edu.mt .edu.mv .edu.mw .edu.mx .edu.my .edu.mz .edu.ng .edu.ni .edu.np .edu.nr
.edu.om .edu.pa .edu.pe .edu.ph .edu.pk .edu.pl .edu.pr .edu.ps .edu.pt .edu.py
.edu.qa .edu.rs .edu.ru .edu.rw .edu.sa .edu.sb .edu.sc .edu.sd .edu.sg .edu.sh
.edu.sl .edu.sn .edu.st .edu.sv .edu.sy .edu.tj .edu.tr .edu.tt .edu.tw .edu.ua
.edu.uy .edu.ve .edu.vn .edu.yu .edu.za .edu.zm .edunet.tn .ekloges.cy .embaixada.st
.eng.br .ens.tn .ernet.in .es.kr .esp.br .est.pr .etc.br .eti.br .eun.eg .f.se
.fam.pk .far.br .fed.us .fi.cr .fin.ec .fin.tn .firm.in .firm.nf .firm.ro .fj.cn
.flog.br .fm.br .fnd.br .fot.br .fr .fs.school.za .fst.br .g.se .g12.br .game.tw
.gangwon.kr .gd.cn .gda.pl .gdansk.pl .geek.nz .gen.ck .gen.in .gen.nz .gen.tr
.ggf.br .go.cr .go.id .go.jp .go.ke .go.kr .go.pw .go.th .go.tj .go.tz .go.ug
.gob.ar .gob.bo .gob.do .gob.es .gob.gt .gob.mx .gob.ni .gob.pa .gob.pe .gob.pk
.gob.sv .gob.ve .gok.pk .gon.pk .gop.pk .gorzow.pl .gos.pk .gouv.fr .gouv.km
.gouv.rw .gouv.sn .gov.ac .gov.ae .gov.af .gov.al .gov.ar .gov.ar .gov.au .gov.ba
.gov.bb .gov.bh .gov.bn .gov.bo .gov.br .gov.bs .gov.ck .gov.cn .gov.co .gov.cy
.gov.do .gov.dz .gov.ec .gov.eg .gov.er .gov.et .gov.fk .gov.gh .gov.gn .gov.gr
.gov.gu .gov.hk .gov.il .gov.in .gov.iq .gov.ir .gov.it .gov.jo .gov.kh .gov.ki
.gov.kn .gov.kw .gov.ky .gov.kz .gov.lb .gov.lk .gov.lr .gov.lv .gov.ly .gov.ma
.gov.me .gov.mg .gov.mk .gov.ml .gov.mn .gov.mo .gov.mt .gov.mu .gov.mv .gov.mw
.gov.my .gov.mz .gov.ng .gov.np .gov.nr .gov.om .gov.ph .gov.pk .gov.pl .gov.pr
.gov.ps .gov.pt .gov.py .gov.qa .gov.rs .gov.ru .gov.rw .gov.sa .gov.sb .gov.sc
.gov.sd .gov.sg .gov.sh .gov.sl .gov.st .gov.sy .gov.tj .gov.tn .gov.tr ​​.gov.tt
.gov.tw .gov.ua .gov.uk .gov.vn .gov.ye .gov.yu .gov.za .gov.zm .govt.nz .govt.uk
.gp.school.za .gr.jp .grondar.za .grozny.ru .grp.lk .gs.cn .gub.uy .gv.ao .gv.at
.gwangju.kr .gx.cn .gyeongbuk.kr .gyeonggi.kr .gyeongnam.kr .gz.cn .h.se .ha.cn
.hb.cn .he.cn .health.nz .health.vn .hi.cn .hl.cn .hn.cn .hotel.lk .hs.kr .i.ph
.i.se .iaccess.za .icnet.uk .id.au .id.ir .id.lv .id.ly .idf.il .idn.sg .idv.hk
.idv.tw .if.ua .imb.br .imt.za .in .in.rs .in.th .in.ua .inca.za .incheon.kr .ind.br
.ind.er .ind.gt .ind.in .ind.tn .inf.br .inf.mk .info.bb .info.bh .info.ck .info.ec
.info.et .info.fj .info.ke .info.ki .info.mv .info.nf .info.nr .info.pl .info.pr
.info.ro .info.sd .info.tj .info.tn .info.tr .info.tt .info.ve .info.vn .ing.pa
.int.ar .int.bo .int.lk .int.mv .int.mw .int.pt .int.ru .int.rw .int.tj .int.tt
.int.vn .intl.tn .iq .ir .irkutsk.ru .isa.us .isla.pr .it.ao .its.me
.ivano-frankivsk.ua .ivanovo.ru .iwi.nz .izhevsk.ru .jar.ru .jeju.kr .jeonbuk.kr
.jeonnam.kr .jet.uk .jl.cn .jobs.tt .jor.br .joshkar-ola.ru .js.cn .jus.br .jx.cn
.k.se .k12.il .k12.tr .k12.vi .kalmykia.ru .kaluga.ru .kamchatka.ru .karelia.ru
.katowice.pl .kazan.ru .kchr.ru .kemerovo.ru .kg.kr .kh.ua .khabarovsk.ru
.khakassia.ru .kharkov.ua .kherson.ua .khmelnitskiy.ua .khv.ru .kids.us .kiev.ua
.kirov.ru .kirovograd.ua .km .km.ua .koenig.ru .komi.ru .kostroma.ru .kr .kr.ua
.krakow.pl .kranoyarsk.ru .ks.ua .kuban.ru .kurgan.ru .kursk.ru .kv.ua
.kzn.school.za .l.se .landesign.za .law.za .lea.uk .lel.br .lg.jp .lg.ua .lipetsk.ru
.ln.cn .lodz.pl .lp.school.za .ltd.cy .ltd.lk .ltd.uk .ltd.ye .lublin.pl .lugansk.ua
.lutsk.ua .lviv.ua .m.se .ma .magadan.ru .maori.nz .mari-el.ru .mari.ru .marine.ru
.mat.br .mb.ca .me.ke .me.ua .me.uk .me.ye .med.br .med.ec .med.ly .med.om .med.pa
.med.sa .med.sd .medecin.km .mi.th .mil.ac .mil.ae .mil.al .mil.ar .mil.ba .mil.bo
.mil.br .mil.cn .mil.co .mil.do .mil.ec .mil.eg .mil.er .mil.fj .mil.gh .mil.gr
.mil.gt .mil.id .mil.in .mil.iq .mil.jo .mil.kh .mil.km .mil.kr .mil.kz .mil.lv
.mil.mg .mil.mv .mil.my .mil.ng .mil.ni .mil.np .mil.nz .mil.om .mil.pe .mil.ph
.mil.pl .mil.py .mil.qa .mil.ru .mil.rw .mil.st .mil.sy .mil.tj .mil.tt .mil.tw
.mil.uk .mil.uy .mil.ve .mil.za .mincom.tn .mk.ua .mob.ki .mobi.ke .mobi.ng .mobi.tt
.mod.uk .mod.uk .mordovia.ru .mosreg.ru .mpm.school.za .ms.kr .msk.ru .muni.il
.murmansk.ru .mus.br .museum.mv .museum.mw .museum.om .museum.tt .n.se .nalchik.ru
.name.ae .name.cy .name.eg .name.et .name.fj .name.jo .name.mk .name.mv .name.my
.name.ng .name.pr .name.tj .name.tr .name.tt .name.vn .nat.tn
.national-library-scotland.uk .nb.ca .ncape.school.za .ne.jp .ne.ke .ne.kr .ne.pw
.ne.tz .ne.ug .nel.uk .net.ac .net.ae .net.af .net.al .net.ar .net.au .net.ba
.net.bb .net.bh .net.bn .net.bo .net.br .net.bs .net.ck .net.cn .net.co .net.cy
.net.do .net.dz .net.ec .net.eg .net.er .net.et .net.fj .net.fk .net.gg .net.gn
.net.gr .net.gt .net.gu .net.hk .net.id .net.il .net.in .net.iq .net.ir .net.je
.net.jo .net.kh .net.ki .net.kn .net.kw .net.ky .net.kz .net.lb .net.lk .net.lr
.net.lv .net.ly .net.ma .net.me .net.mk .net.ml .net.mo .net.mt .net.mu .net.mv
.net.mw .net.mx .net.my .net.nf .net.ng .net.ni .net.np .net.nr .net.nz .net.om
.net.pa .net.pe .net.ph .net.pk .net.pl .net.pr .net.ps .net.pt .net.py .net.qa
.net.ru .net.rw .net.sa .net.sb .net.sc .net.sd .net.sg .net.sh .net.sl .net.st
.net.sy .net.th .net.tj .net.tn .net.tr .net.tt .net.tw .net.ua .net.uk .net.uy
.net.ve .net.vi .net.vn .net.ye .net.za .net.zm .news.sy .nf.ca .ngo.lk .ngo.ph
.ngo.pl .ngo.za .nhs.uk .nhs.uk .nic.in .nic.in .nic.tj .nic.uk .nikolaev.ua .nis.za
.nl.ca .nls.uk .nm.cn .nnov.ru .nom.br .nom.co .nom.es .nom.fk .nom.fr .nom.km
.nom.mg .nom.ni .nom.pa .nom.pe .nom.re .nom.ro .nom.sh .nom.za .nome.pt .not.br
.notaires.km .nov.ru .novosibirsk.ru .ns.ca .nsk.ru .nsn.us .nt.ca .nt.ro .ntr.br
.nu.ca .nw.school.za .nx.cn .o.se .od.ua .odessa.ua .odo.br .og.ao .olivetti.za
.olsztyn.pl .omsk.ru .on.ca .or.at .or.cr .or.id .or.jp .or.ke .or.kr .or.mu .or.pw
.or.th .or.tz .or.ug .orenburg.ru .org.ac .org.ae .org.af .org.al .org.ar .org.au
.org.ba .org.bb .org.bh .org.bn .org.bo .org.br .org.bs .org.ck .org.cn .org.co
.org.cy .org.do .org.dz .org.ec .org.eg .org.er .org.es .org.et .org.fj .org.fk
.org.gg .org.gh .org.gn .org.gr .org.gt .org.gu .org.hk .org.il .org.in .org.iq
.org.ir .org.je .org.jo .org.kh .org.ki .org.kn .org.kw .org.ky .org.kz .org.lb
.org.lk .org.lr .org.lv .org.ly .org.ma .org.me .org.mg .org.mk .org.ml .org.mn
.org.mo .org.mt .org.mu .org.mv .org.mw .org.mx .org.my .org.mz .org.ng .org.ni
.org.np .org.nr .org.nz .org.om .org.pa .org.pe .org.ph .org.pk .org.pl .org.pr
.org.ps .org.pt .org.py .org.qa .org.ro .org.rs .org.ru .org.sa .org.sb .org.sc
.org.sd .org.se .org.sg .org.sh .org.sl .org.sn .org.st .org.sv .org.sy .org.sz
.org.tj .org.tn .org.tr .org.tt .org.tw .org.ua .org.ug .org.uk .org.uy .org.ve
.org.vi .org.vn .org.ye .org.yu .org.za .org.zm .orgn.uk .oryol.ru .other.nf .p.se
.par Parliament.cy .par Parliament.nz .par Parliament.uk .par Parliament.uk .parti.se .pb.ao .pe.ca
.pe.kr .penza.ru .per.kh .per.nf .per.sg .perm.ru .perso.sn .perso.tn .pharmaciens.km
.pix.za .pl.ua .plc.ly .plc.uk .plc.ye .plo.ps .pol.dz .pol.tr .police.uk .poltava.ua
.poznan.pl .pp.ru .pp.se .pp.ua .ppg.br .prd.fr .prd.mg .press.cy .press.ma .press.se
.pressse.fr .presse.km .presse.ml .principe.st .priv.me .pro.ae .pro.br .pro.cy
.pro.ec .pro.fj .pro.mk .pro.mv .pro.om .pro.pr .pro.tt .pro.vn .prof.pr .psc.br
.psi.br .pskov.ru .ptz.ru .pub.sa .publ.pt .pwr.pl .qc.ca .qh.cn .qsl.br .r.se
.radom.pl .re.kr .rec.br .rec.nf .rec.ro .red.sv .res.in .rnd.ru .rnrt.tn .rns.tn
.rnu.tn .rochest.er .rovno.ua .rs.ba .rv.ua .ryazan.ru .s.se .sa.cr .sakhalin.ru
.samara.ru .saotome.st .saratov.ru .sc.cn .sc.ke .sc.kr .sc.ug .sch.ae .sch.id
.sch.ir .sch.jo .sch.lk .sch.ly .sch.my .sch.ng .sch.om .sch.sa .sch.uk .sch.zm
.school.nz .school.za .sci.eg .scot.uk .sd.cn .sebastopol.ua .sec.ps .seoul.kr
.sh.cn .simbirsk.ru .sk.ca .sld.do .sld.pa .sld.pe .slg.br .slupsk.pl .smolensk.ru
.sn.cn .soc.lk .soc.uk .spb.ru .srv.br .stavropol.ru .store.bb .store.nf .store.ro
.store.st .stv.ru .sumy.ua .surgut.ru .sx.cn .szczecin.pl .t.se .tambov.ru
.tatarstan.ru .te.ua .tel.ki .tel.tr .tel.tt .ternopil.ua .test.tj .tj.cn .tm.cy
.tm.fr .tm.km .tm.mc .tm.mg .tm.ro .tm.se .tm.za .tmp.br .tom.ru .tomsk.ru .torun.pl
.tourism.tn .travel.tt .trd.br .tsaritsyn.ru .tsk.ru .tsk.tr .tula.ru .tur.ar .tur.br
.tuva.ru .tv.bb .tv.bo .tv.br .tv.sd .tv.tr .tver.ru .tw.cn .tyumen.ru .u.se .udm.ru
.udmurtia.ru .ulan-ude.ru .ulsan.kr .unbi.ba .univ.sn .unmo.ba .unsa.ba .untz.ba
.unze.ba .uzhgorod.ua .vet.br .veterinaire.km .vinnica.ua .vladikavkaz.ru .vladimir.ru
.vladivostok.ru .vlog.br .vn.ua .volgograd.ru .vologda.ru .voronezh.ru .vrn.ru
.vyatka.ru .w.er .w.se .war.net.id .warszawa.pl .waw.pl .wcape.school.za .web.do
.web.id .web.lk .web.nf .web.pk .web.tj .web.tr .web.ve .web.za .wiki.br .wroc.pl
.wroclaw.pl .www.ro .x.se .xj.cn .xz.cn .y.se .yakutia.ru .yamal.ru .yekaterinburg.ru
.yk.ca .yn.cn .yuzhno-sakhalinsk.ru .z.se .zaporizhzhe.ua .zgora.pl .zhitomir.ua
.zj.cn .zlg.br .zp.ua .zt.ua
«» «
попытка:
import publicsuffix
сверху = публичный суффикс.PublicSuffixList (). Get_public_suffix (домен)
, кроме ImportError:
суффиксов = кортеж (_split .__ doc __. Split ())
, если domain.endswith (суффиксы):
суффикс = max ((x вместо x в суффиксах, если domain.endswith (x)), key = len)
top = домен [: — len (суффикс)].rsplit (‘.’) [- 1] + суффикс
logging.info (‘python-publicsuffix не найден, ddns угадывает% r как домен верхнего уровня’, вверху)
elif domain.count (‘.’) <= 2:
top = ‘.’. Join (domain.rsplit (‘.’, 2) [- 2:])
logging.warning (‘python-publicsuffix не найден, ddns угадывает% r как домен верхнего уровня’, вверху)
еще:
лесозаготовка.error (‘не могу угадать домен верхнего уровня% r, пожалуйста, pip install publicsuffix \’, домен)
системный выход (-1)
запись = домен [: — len (вверху)]. Strip (‘.’) Или ‘@’
возвратная запись, верхняя
def _main ():
апплет = os.path.basename (sys.argv [0])
funcs = [v вместо v в globals (). Values ​​(), если type (v) — это type (_main) и v .__ module__ == ‘__main__’, а не v .__ name __. Начинается с (‘_’)]
для attr в [‘doc’, ‘defaults’, ‘code’], если PY2 else []:
для функций в функциях:
setattr (func, ‘__’ + attr + ‘__’, getattr (func, ‘func _’ + attr))
funcs = sorted (funcs, key = lambda x: x.__name__)
params = collections.OrderedDict ((f .__ name__, list (zip_longest (f .__ code __. Co_varnames [: f .__ code __. Co_argcount] [:: — 1], (f .__ defaults__ или []) [:: — 1] )) [:: — 1]) для f в функциях)
Использование def (апплет):
, если апплет в (‘ddns’, ‘ddns.py’):
print (‘Использование: {0} <поставщик> [аргументы] \ n \ nПримеры: \ n {1} \ n’.format (апплет, ‘\ n’.join (‘ \ t {0} {1} {2} ‘. format (applet, k,’ ‘.join (‘ — {0} {1} ‘. format (x .replace (‘_’, ‘-‘), x.upper (), если y равно None else repr (y)) for (x, y) in v)) for k, v в params.items ())))
еще:
print (‘\ nUsage: \ n \ t {0} {1}’. Format (апплет, » .join (‘- {0} {1}’. Format (x.replace (‘_’, ‘ — ‘), x.upper (), если y равно None else repr (y)) for (x, y) в params [applet])))
, если в sys.argv или ‘—help’ в sys.argv или (апплет в (‘ddns’, ‘ddns.py’), а не sys.argv [1:]):
возврат использования (апплет)
, если апплет в (‘ddns’, ‘ddns.py’):
апплет = sys.argv [1]
для f в функциях:
, если f .__ name__ == апплет:
перерыв
еще:
возврат использования ()
options = [x.replace (‘_’, ‘-‘) + ‘=’ для x в f .__ code __. co_varnames [: f .__ code __. co_argcount]]
kwargs, _ = getopt.gnu_getopt (sys.argv [1:], », параметры)
kwargs = dict ((k [2:]. Replace (‘-‘, ‘_’), v) вместо k, v в kwargs)
logging.debug (‘основной% s (% s)’, f .__ name__, kwargs)
попытка:
результат = f (** kwargs)
, кроме TypeError как e:
паттернов = [r’missing \ d +.* аргумент ‘, r’ принимает (\ w +) + \ d + аргумент ‘]
, если есть (re.search (x, str (e)) для x в шаблонах):
возврат использования (апплет)
поднять
, если тип (результат) == тип (b »):
результат = result.decode (). Strip ()
, если результат:
печать (результат)
, если __name__ == ‘__main__’:
_ основной ()

Как настроить DDNS (DynDNS) на роутере Archer C8, C5 V2, TD-W9970?

Система динамических доменных имен (DDNS) полезна для вашего собственного веб-сайта, FTP-сервера или других серверов за маршрутизатором.

В этой статье показано, как назначить фиксированный хост и доменное имя динамическому IP-адресу в Интернете.

Чтобы узнать, как настроить DDNS (No-IP) на Archer C8 / C9 / C5 V2 / TD-W9970, щелкните здесь.

Шаг 1

В качестве примера откройте веб-интерфейс Archer C8.

Щелкните здесь, чтобы получить доступ к веб-интерфейсу.

Шаг 2

Перейдите к Advanced вверху, затем перейдите к Dynamic DNS в меню слева.Страница будет выглядеть, как показано ниже.

Если у вас ДЕЙСТВИТЕЛЬНО есть учетная запись на http://dyn.com/, перейдите к Шаг 12 . В противном случае выполните следующие действия, чтобы создать учетную запись.

Шаг 3

Перейдите на http://dyn.com/, и вы увидите, что главная страница выскочит.

Шаг 4

Выберите ВОЙТИ вверху меню. Затем нажмите Моя учетная запись DynDNS справа.

Шаг 5

Введите свою информацию и нажмите Создать учетную запись .

Шаг 6

Проверьте свой почтовый ящик и введите код подтверждения .

Шаг 7

Нажмите ПРОДОЛЖИТЬ .

Шаг 8

Затем перейдите на эту страницу и щелкните Мои службы .

Шаг 9

Щелкните Добавить Имя хоста .

Шаг 10

Введите Hostname , что хотите. Нажмите В корзину .

Шаг 11

Вы заплатите за это имя хоста, после чего сможете его получить.

Шаг 12

Введите имя пользователя, пароль и имя домена.Установите флажок «Включить DDNS» и нажмите кнопку «Вход», чтобы получить номер Войдите в систему в службе DDNS.

После того, как вы выполните все шаги, описанные выше, DDNS должен работать правильно.

Советы:

Если вы хотите использовать новую учетную запись DDNS, сначала выйдите из системы, а затем войдите с новой учетной записью.

Чтобы получить более подробную информацию о каждой функции и конфигурации, перейдите в центр загрузки , чтобы загрузить руководство для вашего продукта.

Иоахим Виберг — Последний форпост

In-a-dyn — это небольшой и простой клиент Dynamic DNS, DDNS с HTTPS. служба поддержки. Он обычно доступен во многих дистрибутивах GNU / Linux, используется в готовых маршрутизаторах и интернет-шлюзах для автоматизации задачи поддерживать вашу запись DNS в актуальном состоянии при любых изменениях IP-адреса с вашего Интернет-провайдер. Его также можно использовать в установках с резервным (резервным) подключения к Интернету.

Презентация здесь.

Поддерживаемые провайдеры

Ниже приведен тщательно подобранный список из или изначально поддерживаемых DDNS. провайдеры. Другие провайдеры, например http://twoDNS.de, обычно может быть поддерживается с помощью поддержки настраиваемого поставщика. Для получения полной информации см. README или inadyn.conf (5) , найденный в архиве.

Некоторые из этих услуг бесплатны для некоммерческого использования, другие возьмите небольшую плату, но также предоставьте больше доменов на выбор.

Пример

Файл конфигурации в большинстве систем находится в / etc / inadyn.конф :

  # Формат файла конфигурации In-A-Dyn v2.0
период = 300

# Имя пользователя FreeDNS должно быть в нижнем регистре и
# пароль (максимум 16 символов) чувствителен к регистру
provider freedns.afraid.org {
    имя пользователя = имя пользователя в нижнем регистре
    пароль = регистр-pwd
    hostname = some.example.com
}
  

In-a-dyn поставляется с файлом модуля systemd, поэтому просто перезапустите службу или отправить SIGHUP на уже работающий inadyn, чтобы он перезагрузил .conf файл. Если вы собрали Inadyn самостоятельно из исходного кода, файл .conf может находиться в другом месте. См. Аргумент --prefix для конфигурации скрипт используйте --help или см. README для получения подробной информации о сборке.

Дополнительные примеры см. На справочной странице inadyn.conf (5) и в README.

Примечание: Синтаксис формата файла .conf изменен в версии 2.0!

Скачать

Система отслеживания проблем

и репозиторий GIT доступны на GitHub:

См. Также страницу OpenHub, Страница Freshcode, или бездействующая Бесплатная (кодовая) страница.

Установить

Предварительно собранный пакет для Debian и других совместимых производных amd64, например, Ubuntu, Linux Mint и т. д., доступен здесь:

  curl -sS https://deb.troglobit.com/pubkey.gpg | sudo apt-key добавить -
echo "deb [arch = amd64] https://deb.troglobit.com/debian стабильный основной" | sudo tee /etc/apt/sources.list.d/troglobit.list
sudo apt-get update && sudo apt-get install inadyn
  

Источник и ссылки

Это продолжение оригинального проекта INADYN от Нарцис Илисей.Цель этого проекта — сосредоточиться на * BSD и различные встроенные платформы Linux, но также поддерживается Cygwin . Все Приветствуются вменяемые патчи, адресованные этой целевой аудитории!

Соответствующие исправления и функции из следующих форков были объединены:

Проект inadyn-mt — это еще один форк оригинального INADYN. Это поддерживает поддержку Windows и добавляет много новых функций и исправлений, а не только для винды.

super999-ddns.ru ▷ Веб-сайт статистики и онлайн-инструментов

% Это сервис запросов к базе данных RIPE.
% Объекты в формате RPSL.
%
% База данных RIPE регулируется Положениями и условиями.
% См. Http://www.ripe.net/db/support/db-terms-conditions.pdf

% Примечание: этот вывод был отфильтрован.
% Чтобы получить вывод для обновления базы данных, используйте флаг «-B».

% Информация, относящаяся к ‘AS47104 — AS52223’

как блок: AS47104 — AS52223
описание: RIPE NCC Блок ASN
примечания: Эти номера AS назначаются операторам сети в регионе обслуживания RIPE NCC.
mnt-by: RIPE-NCC-HM-MNT
created: 2015-09-30T14: 19: 22Z
last-modified: 2015-09-30T14: 19: 22Z
source: RIPE

% Информация, относящаяся к ‘AS47583 «

% Контактное лицо по вопросам злоупотреблений для» AS47583 «:» [email protected] » : в AS15085 объявить импорт AS47583
: из AS9009 принять ЛЮБОЙ экспорт
: в AS9009 объявить импорт AS47583
: из AS38001 принять ЛЮБОЙ экспорт
: в AS38001 объявить импорт AS47583
: из AS8764 принять ЛЮБОЙ экспорт
: в AS8764 объявить импорт AS47583
: из AS21412 принять ЛЮБОЙ экспорт
: в AS21412 объявить импорт AS47583
: из AS9340 принять ЛЮБОЙ экспорт
: в AS9340 объявить импорт AS47583
: из AS50673 принять ЛЮБОЙ экспорт
: в AS50673 объявить импорт AS47583
: из AS174 принять ЛЮБОЙ экспорт
: в AS174 объявляет AS47583
admin-c: HN1858-RIPE
tech-c: HN 1858-RIPE
статус: ASSIGNED
mnt-by: RIPE-NCC-END-MNT
mnt-by: MNT-HOSTINGER
создан: 2011-04-04T07: 48: 10Z
последнее изменение: 2018-07-12T14: 04: 41Z
источник: RIPE

организация: ORG-ARta1-RIPE
название организации: Hostinger International Limited
тип организации: LIR
описание: Hostinger International Ltd.
адрес: 61 Lordou Vyronos Lumiel Building, 4-й этаж
адрес: 6023
адрес: Ларнака
адрес: КИПР
телефон: +37064503378
факс: +37064503378
abuse-c: HA2755-RIPE
mnt-ref: RIPE- NCC-HM-MNT
mnt-ref: MNT-HOSTINGER
mnt-by: RIPE-NCC-HM-MNT
mnt-by: MNT-HOSTINGER
создано: 2011-03-28T10: 31: 14Z
последнее изменение: 2017-10-30T14: 52: 27Z
источник: RIPE # Filtered

человек: Hostinger NOC
адрес: Hostinger International Ltd.
адрес: 61 Lordou Vyronos
адрес: Lumiel Building, 4-й этаж
адрес: 6023
адрес: Ларнака
адрес: КИПР
телефон: +37064503378
nic-hdl: HN1858-RIPE
mnt-by: HN19812-MNT
created 2013-12-02T20: 17: 12Z
последнее изменение: 2016-09-29T07: 03: 26Z
источник: RIPE # Filtered

% Этот запрос обслуживается службой запросов к базе данных RIPE версии 1.91.2 (BLAARKOP)

MCList | minecraftxuniverse.ddns.net:25565

Показан сервер

minecraftxuniverse.ddns.net:25565

Отслеживание этого сервера с 2020-09-29 04: 19: 24 + 0200, пингуется этот сервер 23 раза.

Загрузка данных занимает больше времени, чем обычно, пожалуйста, подождите.

К сожалению, данные отслеживания для этого сервера пока недоступны.

Доступны лишь несколько точек данных. Часто это означает, что отслеживание сервера только что запущено, и со временем будут добавляться новые данные.

2021-08-07 13:58: 19 + 0200 (2021-08-07 13:58: 19 + 0200)

  • Пинг
  • Адрес: minecraftxuniverse.ddns.net:25565

2021-07-24 22: 45: 16 + 0200 (2021-07-24 22: 45: 16 + 0200)

  • Пинг
  • Адрес: minecraftxuniverse.ddns.net:25565

2021-07-11 02: 46: 37 + 0200 (2021-07-11 02: 46: 37 + 0200)

  • Пинг
  • Адрес: minecraftxuniverse.ddns.net:25565

2021-06-27 10: 02: 20 + 0200 (2021-06-27 10: 02: 20 + 0200)

  • Пинг
  • Адрес: minecraftxuniverse.ddns.net:25565

2021-06-14 08: 18: 59 + 0200 (2021-06-14 08: 18: 59 + 0200)

  • Пинг
  • Адрес: minecraftxuniverse.ddns.net:25565

Выберите страницу: Страница 1 Страница 2 Страница 3 Страница 4 Страница 5

DGA — Netlab OpenData Project

2021-04-12:

+1 новый сид Simda.

2021-04-06:

+1 новая семья Кфос. Спасибо Люе.

+3 новых семени Симды.

2021-03-12:

+1 новое семя Некро. Спасибо Джинье.

2021-01-21:

+1 новая семья Некро.Спасибо Джинье.

2021-01-07:

+1 новое семя Ngioweb.

2020-11-20:

+1 новое семя Банджори.

2020-11-16:

+1 новое семя Банджори.

2020-11-13:

+1 новая семья Ngioweb.Спасибо Alex.Turing.

2020-07-28:

+1 новый сид Simda.

2020-07-10:

+1 новая семья Бигвиктор.Спасибо Alex.Turing.

17.01.2020:

+1 новое семя Рамнита.

2019-11-21:

+1 новое семя Рамнита.

2019-10-18:

+1 новое семя Рамнита.

08.10.2019:

+3 новых семени Рамнита.

2019-09-12:

+2 новых семени Рамнита.

2019-09-06:

+2 новых семени Рамнита.

2019-09-03:

+1 новая семья Enviserv. Подробности в выпуске №53.

+1 новое семя Тинба.

2019-09-02:

+1 новое семя Рамнита.

21.08.2019:

+1 новое семя Рамнита.

2019-04-28:

+1 новое семя Рамнита.

2019-04-25:

+1 новое семя Феодо.

2019-04-09:

+1 новое семя Рамнита.

2019-04-02:

+1 новое семя Рамнита.

25.03.2019:

+1 новое семя Рамнита.

13.03.2019:

+1 новое семя Рамнита.

2019-03-05:

+1 новая семья Шиотоб. Подробности в выпуске №51.

-28 февраля 2019:

+1 новое семя Рамнита.

+1 новое семя Локки.

2019-02-25:

+1 новое семя Нымайма.

18.02.2019:

+1 новое семя Рамнита.

31.01.2019:

+1 новое семя Ранбюса.

+1 новое семя Рамнита.

29.01.2019:

+1 новое семя Рамнита.

22.01.2019:

+1 новое семя Тинба.

2019-01-14:

+2 новых семени Рамнита.

08.01.2019:

+1 новая семья Феодо.

+1 новое семя Рамнита.

2019-01-07:

+1 новая семья Mydoom. Подробности в выпуске №49.

22.11.2018:

+1 новое семя Тинба.

19.11.2018:

+2 новых семени Рамнита.

2018-11-15:

+1 новое семя Мурофета.

2018-11-12:

+1 новое семя Vawtrak.

2018-11-07:

+2 новых семени Vawtrak.

+1 новое семя Рамнита.

2018-11-05:

+1 новое семя Dircrypt.

+1 новое семя Банджори.

29.10.2018:

+1 новое семя Vawtrak.

+1 новое семя Омексо.

2018-10-24:

+1 новое семя Dircrypt.

+1 новое семя Рамнита.

23.10.2018:

+1 новое семя Рамнита.

22.10.2018:

+1 новое семя Dircrypt.

+2 новых семени Рамнита.

17.10.2018:

+1 новое семя Рамнита.

+1 новое семя Кадаров.

+1 новая семья Омексо.

2018-10-15:

+1 новое семя Тинба.

+1 новое семя Ранбюса.

2018-10-10:

+1 новое семя Тинба.

+5 новых семян Dircrypt.

09.10.2018:

+1 новое семя Нымайма.

+1 новое семя Мурофета.

+1 новое семя Банджори.

04.05.2018:

+1 новое семя Dircrypt.Спасибо, Бадерж. Подробности в выпуске №12.

2018-04-10:

+2 новых семян Мурофета. Подробности в выпуске №43.

+9 новых семян Рамнита.

08.04.2018:

+3 новых семян Тинба.

+3 новых семени Ранбюса.

02.03.2018:

+1 новая семья Тининуке.

12.01.2018:

+18 новых семян Рамнита.

11.01.2018:

+3 новых семени Локки.

+4 новых семени Рамнита.

08.11.2017:

+3 новых семян Банджори. Подробности в выпуске №39.

17.10.2017:

+15 новых семян Рамнита.Извлечено из блога CERT.PL, спасибо, что поделились.

20.09.2017:

+1 новое семейство CCleaner. Благодаря 360CERT.

28.08.2017:

+2 новых семени Тинба.

23.08.2017:

+2 новых семени Тинба.

+4 новых семени Dircrypt.

14.08.2017:

+1 новое семейство XshellGhost. Подробности в выпуске №38.

27.07.2017:

+3 новых семени Локки.

30.06.2017:

+1 новое семя Рамнита.

18.05.2017:

+1 новое семя Padcrypt.Подробности в выпуске №34.

+1 новое семейство Padcrypt. Код Python взят из Github baderj, спасибо, что поделились.

11.05.2017:

+1 новое семя Локки.Извлечено из блога Nominum, спасибо за то, что поделились.

04.05.2017:

+1 новое семя Кадаров.

+1 новый сид Simda.

+1 новое семя Тинба.

13.04.2017:

+1 новое семя Кадаров.

+2 новых сид Симды.

+1 новое семя Рамнита.

11.04.2017:

+1 новая семья Blackhole.

21.03.2017:

+1 новая семья Мацну.

09.03.2017:

+37 семян Локки.Спасибо Джону Бамбенеку за эти семена Locky V3.

07.03.2017:

+1 новая семья Emotet.

+1 новое семя Локки.

+1 новое семя Нымайма.

+1 новое семя Рамнита.

23.02.2017:

+1 новое семя Кадаров.

20.01.2017:

+3 новых семени Рамнита; +1 новое семя Тинба.

18.01.2017:

+1 новые семена Локки.

+1 новое семя Кадаров.

+1 новое семя Нымайма.

06.01.2017:

+2 новых семени Шифу; +1 новое семя Мурофета.

05.01.2017:

+7 новых семян Тинба; +3 новых семени Банджори.

04.01.2017:

+25 новых семян Банджори.

30.12.2016:

+1 новое семейство Gspy и 2 семечки.

+6 новых семян Тинба.

+1 новая семья Тофзее. Реализация взята из блога GovCERT.ch, спасибо, что поделились.

22 декабря 2016:

+1 новая семья Видро.Подробности в выпуске №31.

16.12.2016:

+1 новое семя Мираи.

12.12.2016:

+1 новая семья Мираи.Более подробная информация в нашем блоге: Теперь Mirai имеет встроенную функцию DGA.

, 02.12.2016:

+1 новое семя Мурофета. Подробности в выпуске №30.

29.11.2016:

+16 новых семян Ровникса. Брутфорс обратный инжиниринг этих семян Rovnix с помощью ключей PDNS.

25.11.2016:

+1 новое семя Ровникса; +3 новых семени Locky

23.11.2016:

+1 новая семья Ровникс

15.11.2016:

+1 новое семя Кадаров; +1 новое семя Тинба; +1 новое семейство Vawtrak и 2 сида

11-11-2016:

+1 новое семя Locky v3

2016-11-10:

+1 новая версия Suppobox.Для получения дополнительных сведений перейдите к выпуску № 29 на Github

.
08.11.2016:

+1 новые семена Банджори и открытый выпуск №28 для более подробной информации

07.11.2016:

+1 новые семена Necurs

04.11.2016:

+4 новых семян Нымайма

28.10.2016:

+2 новые семена Qadars

+1 новые семена Gameover

27.10.2016:

+4 новых семени Simda

26.10.2016:

+4 новых семян Тинба

24.10.2016:

+1 новое семейство Chinad и обновленные подробности в выпуске 1

14.10.2016:

+1 новое семя Simda и обновленные детали этого семени в выпуске 3

2016-10-11:

+1 новое семя Мурофета и обновленные сведения об этом семени в выпуске 11

2016-10-10:

+1 новое семя Ранбюса

Открыт выпуск 27 с некоторыми подробностями об этом новом посевном материале

28.09.2016:

+ новая семья Ранбюс и 3 семечки

26.09.2016:

открыл выпуски 26 на Github

22.09.2016:

+1 новое семя Банджори

открыл 4 новых выпуска на Github

21.09.2016:

+2 новые семена Тинба

открыл 5 новых выпусков на Github

13.09.2016:

+ новое семейство Мурофет

08.09.2016:

+ новое семейство Proslikefan

06.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *