Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Русификация
  COM-порт
  Монтирование образов
  dd
  burncd
  Консоль
  polling
  redirect_port
  wolf3d
  W.O.L.
  HDD->HDD
  bsdstats
  pdf в html
  monitord
  monit
  dvd в avi
  LAM
  Контроль провайдера
  pppd
  ru man
  geom_uzip
  colorize
  nettop
  немного о ssh
  установка по сети
  ClamAV mirror
  BlueTooth
  WiFi WPA
  iftop
  iPod
  2 CD -> 1 DVD
  ipcalc
  LACP и VLAN
  FFS из-под WinXP
  queues
  NFS & Win2k3
  Dynamic DNS
  ProFTPD+iconv
  deltup, xdelta, bdelta
  Приглашение csh/tcsh
  настрока bash
  Lan over Bluetooth
  pppoe
  метаданные exif
  dd : бэкапируем windows
  mozilla autoconfig
  Proxy Auto Configuration
  NNTP сервер
  Rinetd
  ISO DVD FreeBSD
  my disc1
  sftp+chroot
  SendXMPP
  APCUPSD
  Видеонаблюдение
  Настройка аудиоплеера на ximp3
  HDD(mbr) -> HDD(gpt)
  mc 4.6.2
  Динамический DNS
  axel
  LiveCD
  NAS на MPD
  backup конфигов на почту
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Мелочи —> Динамический DNS

Динамический DNS своими руками

Автор: BAV_Lug.


Есть у меня объект на котором стоит интернет с динамическим IP. Периодически есть необходимость подключаться к нему и проводить плановые работы. Статику там сделать дорого (кто знает Укртелекомовские тарифы, тот поймет о чем я) да и не особо она там нужна. VPN поднимать тоже не хотелось. И, до не давнего времени, я пользовался сервисом DynDNS.com, но мне пришло письмо, что мой аккаунт по каким-то причинам заблокирован. Сначала хотел зарегить новый, а потом подумал, что неплохо бы сделать у себя аналог такого сервиса, тем более что свой DNS-сервак имеется.

Итак вводные данные
- на стороне с динамическим IP - сервер Windows
- DNS - сервер FreeBSD 7.0

Идея вообщем-то проста - сервер Windows периодически коннектится к серверу DNS -> в логах появляются записи об этом -> выковыриваем из логов IP-адрес и суём его в DNS.

Так как на сервере с DNS поднят ssh, то я решил использовать его (хотя можно заюзать в принципе любой протокол telnet, ftp, pop3, imap и т.д. просто из разных логов выковыривать ip-адрес).

Был написан следующий bat-файл


plink.exe -ssh -batch -pw 12345 test01@имя сервера днс

и засунут в планировщик Windows на выполнение каждый час (программа plink была взята у разработчиков putty).
Пользователь test01 на сервере DNS не существует.

На сервере DNS был написан скрипт, который выковыривает нужный нам ip-адрес и запихивает его в днс (предпологается, что версия файла зоны прописана в третьей строчке и она там одна)

#!/bin/sh

ip=`awk '/Invalid user test01/ { ip = $10} END {print ip}' /var/log/auth.log`
ipnamed=`awk '/test01/ {print $4}' /etc/namedb/master/имя зоны`
if [ $ip != $ipnamed ]
then
   version=`date +%Y%m%d%H`
   awk -v ver="$version" -v ip="$ip" \
   ' { st++; if(st==3) {print(ver)} else \
   if($1=="test01") {print("test01 IN A ",ip)} \
   else {print}}' \
    /etc/namedb/master/имя зоны > /tmp/имя зоны
   cp /tmp/имя зоны /etc/namedb/master/имя зоны
   /etc/rc.d/named reload
fi

В результате у нас всегда есть DNS-запись с актуальным IP.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=19950.

размещено: 2009-08-19,
последнее обновление: 2009-08-23,
автор: BAV_Lug

оценить статью:

Андрей, 2009-08-19 в 16:15:19

Вариант решения, но вот юзверя на сервере стоит завести и дёргать ИП только после авторизации юзера.
Иначе злой дядька может прикинуться твоей Windows машиной и получить от неё логин / пароль.
Вобщем небезопасно.

BAV_Lug, 2009-08-19 в 18:10:27

To Андрей
Спорный вопрос, что безопаснее. Да и чтобы дядьке прикинуться моей машиной нужно узнать логин под которым она пытается логиниться. А вот в случае с ssh это не очень и просто.

airmax, 2010-11-06 в 0:13:19

Слишком много телодвижений. Поднять ДНС сервер, ковырять логи...
Вопрос можно решить намного проще.
1. Регистрируемся на changeip.net
2. Ставим в крон задачу на периодическое выполнение аналогичного скрипта:
http://www.changeip.com/clients/ste-marie.txt
3. Profit!

airmax, 2010-11-06 в 0:17:52

Да, забыл сказать, что changeip более продвинутый сервис нежели DynDNS. За 3 года использования никаких нареканий!

xz, 2011-01-02 в 1:29:22

noip и в портах есть и нареканий не было за ~3 года, но не уверен, что сейчас сервис/регистрация бесплатные.

airmax-to, 2011-09-07 в 15:38:45

аирмакс продает сервис чейндж.айпи? а баг вот в чем: как насчет скрипта для Виндовс-ДНС-сервера?

airmax, 2011-09-07 в 15:57:08

Не продаю )
"насчёт скрипта для Виндовс-ДНС-сервера" - самому прийдётся как-то...


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 7 чел.
За последние 30 мин было: 40 человек
За сегодня было
23 показов,
7 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.033 секунд
Из них PHP: 18%; SQL: 82%; Число SQL-запросов: 77 шт.
Исходный размер: 118215; Сжатая: 20414