BIND и резервирование каналов

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-22 19:56:01

Сразу прошу прощения - не могу светить реальные IP, я думаю это делу не помешает. :pardon:
Вообщем сейчас тружусь над подключением второго провайдера для резерва. И появился вопрос как сделать что бы при пропадании инета от первичного прова (пров А) все перелазило на прова вторичного (пров Б)

IP первый: 111.111.111.111
IP второй: 222.222.222.222
Имя домена: moy.domen.ru

Как перебросить defaultrouter я нашел скрипт, теперь думаю а как решить проблему с DNS.
Поставил я значит на регистраторе имен два DNS сервера

Код: Выделить всё

ns.moy.domen.ru    111.111.111.111
ns1.moy.domen.ru  222.222.222.222
Решил поднять все два DNS на одной тачке. Основной как всегда :smile: , вторичный в Jail.
Конфига основного: (в нем для локалки я сделал свои view)

Код: Выделить всё

acl internal { 192.168.12.0/24; 127.0.0.1/32; };
   options {
          hostname "ns.moy.domen.ru ";
          directory "/etc/namedb";
          pid-file "/var/run/named/pid";
          dump-file "/var/dump/named_dump.db";
          statistics-file "/var/stats/named.stats";
          listen-on {
         	127.0.0.1;
          	192.168.12.1;
	  	111.111.111.111;
         };
          interface-interval 10;
          forward first;
          forwarders {
          8.8.8.8;
          };
          version "DNS";
   };
   logging {
          channel syslog {
          syslog daemon;
          severity info;
          print-category yes;
          print-severity yes;
       };
   category xfer-in { syslog; };
   category xfer-out { syslog; };
   category config { syslog; };
   category default { null; };
   };

   
########################################################################################
view internal {
    match-clients { internal; };
    recursion yes;
    allow-query { internal; };
    allow-transfer { none; };
	
	zone "." {
			type hint;
			file "named.root";
	};
	zone "localhost" {
			type master;
			allow-query { 127.0.0.1; };
			file "master/localhost";
	};
	zone "0.0.127.IN-ADDR.ARPA" {
			type master;
			allow-query { 127.0.0.1; };
			file "reverse/localhost.rev";
	};
	zone "12.168.192.IN-ADDR.ARPA" {
			type master;
			allow-query {
         	        127.0.0.1;
		        192.168.12.0/24;
			};
			file "reverse/in.12.168.192.rev";
	};
	zone "moy.domen.ru" {
			type master;
			file "master/moy.domen.ru_local";
			allow-query { any; };
	};   
};
########################################################################################

########################################################################################
view external {
    match-clients { any; };
    recursion no;
    allow-query { any; };
	
		zone "." {
			type hint;
			file "named.root";
		};
		zone "moy.domen.ru" {
			type master;
			file "master/moy.domen.ru";
			allow-query { any; };
		};
};
########################################################################################
Зона moy.domen.ru

Код: Выделить всё

$TTL 320
moy.domen.ru.      IN      SOA     ns.moy.domen.ru. admin.moy.domen.ru. (
             2010122001 ; Serial
             28800      ; Refresh
             7200       ; Retry
             2419200    ; Expire
             86400)     ; Negative Cache TTL
;
             IN      NS      ns.moy.domen.ru.
             IN      NS      ns1.moy.domen.ru.
             IN      MX      10 mail.moy.domen.ru.
             IN      A       111.111.111.111

localhost    IN      A      127.0.0.1
ns           IN      A      111.111.111.111
ns1          IN      A      222.222.222.222
mail         IN      A      111.111.111.111
www          IN      CNAME   moy.domen.ru.
В rc.conf прописал

Код: Выделить всё

named_enable="YES"
named_flags="-u bind -c /etc/namedb/named.conf"
И на jail поставил второй DNS
Конфига вторичного:

Код: Выделить всё

acl internal { 192.168.12.0/24; 127.0.0.1/32; };
   options {
          hostname "ns1.moy.domen.ru ";
          directory "/etc/namedb";
          pid-file "/var/run/named/pid";
          dump-file "/var/dump/named_dump.db";
          statistics-file "/var/stats/named.stats";
          listen-on {
         	127.0.0.1;
          	192.168.12.2;
	  	222.222.222.222;
         };
          interface-interval 10;
          forward first;
          forwarders {
          8.8.8.8;
          };
          version "DNS";
   };
   logging {
          channel syslog {
          syslog daemon;
          severity info;
          print-category yes;
          print-severity yes;
       };
   category xfer-in { syslog; };
   category xfer-out { syslog; };
   category config { syslog; };
   category default { null; };
   };	
		zone "." {
			type hint;
			file "named.root";
		};
		zone "moy.domen.ru" {
			type slave;
			file "slave/moy.domen.ru";
                        masters { 192.168.12.1;};
			allow-query { any; };
		};
########################################################################################
Зона moy.domen.ru

Код: Выделить всё

$TTL 320
moy.domen.ru.      IN      SOA     ns.moy.domen.ru. admin.moy.domen.ru. (
             2010122001 ; Serial
             28800      ; Refresh
             7200       ; Retry
             2419200    ; Expire
             86400)     ; Negative Cache TTL
;
             IN      NS      ns.moy.domen.ru.
             IN      NS      ns1.moy.domen.ru.
             IN      MX      10 mail.moy.domen.ru.
             IN      A       222.222.222.222

localhost    IN      A      127.0.0.1
ns           IN      A      111.111.111.111
ns1          IN      A      222.222.222.222
mail         IN      A     222.222.222.222
www          IN      CNAME   moy.domen.ru.
В rc.conf прописал

Код: Выделить всё

named_enable="YES"
named_chrootdir=""
named_flags="-s"

Вообщем теперь как сделать что бы при отключении инета от первого провайдера все перебрасывалось на второго?
Т.е. что бы отрубается инет, DNS1 не доступен, должен включится DNS2 и там уже доменные имена перекатят на второго прова

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-22 20:03:13

не занимайтесь херней
без выделеного блока PI для вас и BGP ваша задача не решается

ваши ns ns1 итд безполезны

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-22 20:44:51

Гость, может Вы не поняли что я хочу)
нужно сделать именно что бы 2 разных IP в ответах было.
Т.е. когда ложится первый пров, то ложится естестенно и DNS1, тут надо что бы вступал в действие DNS2 и выдавал на доменное имя IP второго прова.
И тут вопрос правильно ли я настроил сами DNS зоны, а именно slave зону на DNS2.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-22 21:02:08

Решил поднять все два DNS на одной тачке. Основной как всегда , вторичный в Jail.
можно и не джаилить
достаточно бинд на два разных интерфеса поцепить
Вообщем теперь как сделать что бы при отключении инета от первого провайдера все перебрасывалось на второго?
Т.е. что бы отрубается инет, DNS1 не доступен, должен включится DNS2 и там уже доменные имена перекатят на второго прова
в большой теории
когда первый в списке ns не доступен, то должно смотреться по второму по списку ns итд, АВТОМАТОМ
на практике будут зарежки при открытия сайта итд

ps ну я так и понял что вы херней страдаете
какой смысл двух разных айпи?
брать нужно одну сетку с реальными айпи
подключать по BPG, и не парится с ns

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-22 21:11:06

ps ну я так и понял что вы херней страдаете
какой смысл двух разных айпи?
брать нужно одну сетку с реальными айпи
подключать по BPG, и не парится с ns
смысл 2х разных ИП что бы когда вырубается один пров входил в бой сразу второй, и задержки в почте и веб-сервисах были минимальны (а именно равны будут TTL)
Ведь тут дело в том что IP находятся в разных подсетях, и от разных провайдеров и по разным каналам идут (один по витой паре, второй по оптике)

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: BIND и резервирование каналов

Непрочитанное сообщение terminus » 2010-12-22 21:37:59

Код: Выделить всё

$TTL 320
ТТЛ=5 минут. Такое время старые записи будут жить в кешах других серверов.
Это ответ на вопрос?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-22 21:45:51

terminus писал(а):

Код: Выделить всё

$TTL 320
ТТЛ=5 минут. Такое время старые записи будут жить в кешах других серверов.
Это ответ на вопрос?
меня больше волнует правильно ли я настроил зону slave на втором DNS

Код: Выделить всё

$TTL 320
moy.domen.ru.      IN      SOA     ns.moy.domen.ru. admin.moy.domen.ru. (
             2010122001 ; Serial
             28800      ; Refresh
             7200       ; Retry
             2419200    ; Expire
             86400)     ; Negative Cache TTL
;
             IN      NS      ns.moy.domen.ru.
             IN      NS      ns1.moy.domen.ru.
             IN      MX      10 mail.moy.domen.ru.
             IN      A       222.222.222.222

localhost    IN      A      127.0.0.1
ns           IN      A      111.111.111.111
ns1          IN      A      222.222.222.222
mail         IN      A     222.222.222.222
www          IN      CNAME   moy.domen.ru.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-22 22:18:05

Leviafan писал(а):
ps ну я так и понял что вы херней страдаете
какой смысл двух разных айпи?
брать нужно одну сетку с реальными айпи
подключать по BPG, и не парится с ns
смысл 2х разных ИП что бы когда вырубается один пров входил в бой сразу второй, и задержки в почте и веб-сервисах были минимальны (а именно равны будут TTL)
Ведь тут дело в том что IP находятся в разных подсетях, и от разных провайдеров и по разным каналам идут (один по витой паре, второй по оптике)
вот для этого и придумали BGP
а учитывая что Ipv4 уже через месяц закончатся(если верить хабру)
то можно смело уже заказывать ipv6
и не заморачиватся над тем чем вы сечас страдаете

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-22 22:43:14

тут появилась вторая проблема!
второй DNS перетягивает на себя одеяло! Т.е. работает себе спокойненько DNS1, выдает IP 111.111.111.111, включаю DNS2 и переключается домен на 222.222.222.222, останавливаю DNS2 и через TTL переключается на DNS1 =111.111.111.111
Может там где выше сериал в описании зоны там и берется... ниче не пойму. Вроде по уму надо сначало опрашивать ns.moy.domen.ru, затем если он не отвечает переходить на опрос ns1.moy.domen.ru, у меня получается что сразу ns1.moy.domen.ru опрашивает 0_O

я уже и зону на DNS2 сделал master и всеравно не помогает

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-22 22:55:32

и вот только что запустил DNS1 проверил - все идет через 111.111.111.111, запустил DNS2 проверил - опять все идет через 111.111.111.111, сделал на DNS2 rndc reload -> moy.domen.ru остался на 111.111.111.111, а mail.moy.domen.ru перешел на 222.222.222.222
Чето не могу понять логику.
При этом на DNS1 serial был выше чем на DNS2

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: BIND и резервирование каналов

Непрочитанное сообщение terminus » 2010-12-23 0:22:09

Вы в курсе как работает связка Мастер-Слейв? Слейв переодически тянет данные с Мастера.
Запускайте себе два мастера, а при редактировании зоны надо будет вносить изменения в оба.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-23 0:27:55

terminus писал(а):Вы в курсе как работает связка Мастер-Слейв? Слейв переодически тянет данные с Мастера.
Запускайте себе два мастера, а при редактировании зоны надо будет вносить изменения в оба.
кажется проблемы с самой интерпретацией в связке с jail...
потому что когда я хочу отредактировать (сидя не в jail) файл типа /usr/local/jail/first/etc/namedb/named.conf (first - имя клетки) мне попадает файл который находится в /etc/namedb/named.conf (т.е на реальной машине).
А вот в самой клетке если сидеть и отредактировать /etc/namedb/named.conf то показывает уже то что надо, т.е. то что я изначально делал для клетки.
Вообщем я запутался уже.

Поставил уже обратно в клетке slave... всеравно тянет то mail перекинет на второго прова, то ориджин на второго прова, а mail на первого... Конфликт chroot какой то.

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-25 22:17:34

Спрошу проще.
Как реализовать?
Повторюсь:
на iname.ua поставил два ns

Код: Выделить всё

ns.moy.domen.ru    111.111.111.111
ns1.moy.domen.ru  222.222.222.222
Сделал ttl на зоне равным 60
Содрал скрипт по перекидке defaultrouter, переброска инета работает.
Как делают умельцы манипуляции по быстрому переводу домена с одно IP на другой?


Я пробовал делать это с помощью вышеупомянутого скрипта с добавлением строк по замене файла зоны с дефаулт IPS на второго IPS и команду rndc reload.
Проверил это с помощью host на сервере и вижу что все меняется (ну конечно, я же использую свой DNS сервер), а вот на внешних машинах творится полный кавардак. Сейчас получилось опять так что ориджин висит на одном IP, mail висит на другом IP. И так смотрю ttl уже давным давно прошел раз 30 и проверил зону и сервер перезагружал и конфигу перечитывал всеравно какая то каша.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-25 22:59:55

Как делают умельцы манипуляции по быстрому переводу домена с одно IP на другой?
домена? - никак
DNS записи очень медленно расползаются по всем серверам
а дергать туда и сюда, это глупо

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-25 23:36:37

ну так какой вменяемый выход из ситуации?
Я думал что если ns лежит, то все должны ломонуться к ns1 и оттуда брать уже инфу.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-26 0:35:07

ну в принципе так и есть
но вы же еще пытаетесь на разных nsах держать и разные данные
а они таковыми не могут быть
они должны быть синхронизированы

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-26 11:50:31

Гость писал(а):ну в принципе так и есть
но вы же еще пытаетесь на разных nsах держать и разные данные
а они таковыми не могут быть
они должны быть синхронизированы
выхода нет?

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-26 13:23:58

Leviafan писал(а):
Гость писал(а):ну в принципе так и есть
но вы же еще пытаетесь на разных nsах держать и разные данные
а они таковыми не могут быть
они должны быть синхронизированы
выхода нет?
Вам же написали: что данные на обоих днс серверах, должны быть синхронизированными (т.е. одинаковыми)! Вам осталось только правильно соединить два конфига в один и использовать его на обоих серверах.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-26 13:28:17

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

Leviafan
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-06-30 15:40:30

Re: BIND и резервирование каналов

Непрочитанное сообщение Leviafan » 2010-12-26 16:18:05

Вот именно, тут вопрос стоит не в том что бы сделать резерв на DNS2 в случае падения DNS1 сервера, а в случае падения канала провайдера и перейти побыстренькому на другой IP.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-26 16:26:11

проблема как раз таки не в ns
а в сайте который должен переписываться в DNS в зависимости от того какой канал падает

вообщем кроме как BGP это не решается
тогда в DNS только один ваш реальный айпи
а BGP само направляет маршруты в зависимости от того какой канал доступен
а если доступны оба
то либо балансирует нагрузку поровну, либо смотрит на преференс

Аватара пользователя
EARL
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-05-24 9:05:18
Откуда: Тамбов

Re: BIND и резервирование каналов

Непрочитанное сообщение EARL » 2010-12-30 13:07:56

Лучше всего настроить один dns сервер и привязать его к обоим интерфейсам, а дальше отслеживаем падение основного канала и редактируем (или просто копируем заранее подготовленный) файл зоны таким образом, чтобы A запись нужного нам домена указывала на резервный IP. Допустим у нас
111.111.111.111 - основной канал (№1)
222.222.222.222 - резервный канал (№2)
Наш файл исходный файл зоны

Код: Выделить всё

$TTL 320
moy.domen.ru.      IN      SOA     ns.moy.domen.ru. admin.moy.domen.ru. (
             2010122001 ; Serial
             28800      ; Refresh
             7200       ; Retry
             2419200    ; Expire
             86400)     ; Negative Cache TTL
;
             IN      NS      ns.moy.domen.ru.
             IN      NS      ns1.moy.domen.ru.
             IN      MX      10 mail.moy.domen.ru.
             IN      A       111.111.111.111

localhost    IN      A      127.0.0.1
ns           IN      A      111.111.111.111
ns1          IN      A      222.222.222.222
mail         IN      A     222.222.222.222
www          IN      CNAME   moy.domen.ru.
Т.е. сейчас у нас резолв адреса moy.domen.ru выдает 111.111.111.111.
Теперь мы обнаружили, что у нас пропала связь по каналу №1 и мы переключились на канал №2.
Напишем скрипт для редактирования файла зоны:

Код: Выделить всё

#!/bin/sh

zone="moy.domen.ru"

awk '$3 ~ "Serial" { print "\t",$1+1," ; Serial"; } $2 ~ "A" { print "\tIN\tA\t222.222.222.222"; } $2 !~ "A" && $3 !~ "Serial" { print $0; }' $zone > $zone.tmp
mv $zone.tmp $zone
rndc $zone
Здесь мы увеличиваем serial на единичку и изменяем адрес домена moy.domen.ru на 222.222.222.222
Через время, указанное в $TTL домен станет доступен по новому адресу.

ps можно просто заготовить файлы зон для разных случаев и подсовывать их dns серверу.

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-30 13:55:54

это все ерунда
потому что зона для одного домена иногда расходится по интернету несколько суток
какой бы там TTL или сериал небыл установлен
а представим теперь у вас канал каждые 15 минут или какждый час дергается
вот тотоже

Аватара пользователя
EARL
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-05-24 9:05:18
Откуда: Тамбов

Re: BIND и резервирование каналов

Непрочитанное сообщение EARL » 2010-12-30 14:34:44

Гость писал(а):это все ерунда
потому что зона для одного домена иногда расходится по интернету несколько суток
какой бы там TTL или сериал небыл установлен
а представим теперь у вас канал каждые 15 минут или какждый час дергается
вот тотоже
Иногда бюджет сильно ограничен и покупка отдельного блока PI адресов + регистрация AS никак туда не вписываются, а приведенная схема выше спасает хоть как-то. В остальном же безуслонов у этого метода есть куча минусов по сравнению со своей AS + PI блок адресов

Гость
проходил мимо

Re: BIND и резервирование каналов

Непрочитанное сообщение Гость » 2010-12-30 14:42:52

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