u.s.s.r Опубликовано 24 января, 2014 · Жалоба Доброго дня! Есть несколько серверов pptp c адресами 192.168.0.2 192.168.0.3 192.168.0.4 На данный момент, задействован только 192.168.0.2, но хотелось бы распределить нагрузку pptp сервера, и как решения, я думаю, что можно как-то реализовать динамическую смену записи был vpn.net [192.168.0.2] на vpn.net [192.168.0.3] в DNS-сервере, чтобы ппри следующем обращении, клиент подключился уже к другому серверу. У клиентов IP прописан статический 192.168.16.0/16, в том числе и DNS 192.168.0.254 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gibbon Опубликовано 24 января, 2014 · Жалоба Просто прописать у vpn.net несколько ИП адресов и получите балансировку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
srg555 Опубликовано 24 января, 2014 · Жалоба только смотрите чтоб ответ не превысил 512 байт, а то некоторые роутеры тупят. сколько это записей не помню, но не очень много Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
u.s.s.r Опубликовано 25 января, 2014 · Жалоба А как то можно сделать, чтобы по какому то условию исключать включать в днс ip-сервера? Например если не доступен первый сервер, то днс-сервер не должен его выдавать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 25 января, 2014 · Жалоба только смотрите чтоб ответ не превысил 512 байт, а то некоторые роутеры тупят. сколько это записей не помню, но не очень много 512 это для некоторых длинков перебор. =) грязный хак, с которым и овцы ("умные" роутеры, которые знают про флаг tc, но не могут 53/tcp) целы, и волки (длинки) сыты: %cat 9.4-ESV-R5-P1-named-client.c.diff --- contrib/bind9/bin/named/client.c 2012-04-08 07:43:41.000000000 +0600 +++ contrib/bind9/bin/named/client.c 2012-12-27 15:29:01.000000000 +0600 @@ -634,7 +634,7 @@ } client->signer = NULL; - client->udpsize = 512; + client->udpsize = 368; client->extflags = 0; client->ednsversion = -1; dns_message_reset(client->message, DNS_MESSAGE_INTENTPARSE); @@ -988,7 +988,7 @@ result = dns_message_rendersection(client->message, DNS_SECTION_QUESTION, 0); if (result == ISC_R_NOSPACE) { - client->message->flags |= DNS_MESSAGEFLAG_TC; + //client->message->flags |= DNS_MESSAGEFLAG_TC; goto renderend; } if (result != ISC_R_SUCCESS) @@ -998,7 +998,7 @@ DNS_MESSAGERENDER_PARTIAL | render_opts); if (result == ISC_R_NOSPACE) { - client->message->flags |= DNS_MESSAGEFLAG_TC; + //client->message->flags |= DNS_MESSAGEFLAG_TC; goto renderend; } if (result != ISC_R_SUCCESS) @@ -1008,7 +1008,7 @@ DNS_MESSAGERENDER_PARTIAL | render_opts); if (result == ISC_R_NOSPACE) { - client->message->flags |= DNS_MESSAGEFLAG_TC; + //client->message->flags |= DNS_MESSAGEFLAG_TC; goto renderend; } if (result != ISC_R_SUCCESS) @@ -2103,7 +2103,7 @@ client->tcpmsg_valid = ISC_FALSE; client->tcpbuf = NULL; client->opt = NULL; - client->udpsize = 512; + client->udpsize = 368; client->extflags = 0; client->ednsversion = -1; client->next = NULL; Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
srg555 Опубликовано 25 января, 2014 · Жалоба А как то можно сделать, чтобы по какому то условию исключать включать в днс ip-сервера? Например если не доступен первый сервер, то днс-сервер не должен его выдавать скриптами правит файл зоны или удалять запись в базе Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 26 января, 2014 · Жалоба А как то можно сделать, чтобы по какому то условию исключать включать в днс ip-сервера? Например если не доступен первый сервер, то днс-сервер не должен его выдавать в вашу зону vpn.net добавляете $INCLUDE c файлом ip ваших серверов. Скрипт опрашивает 3 сервера, если один сдох , вносит только два ip. Затем делаете rpcbind reload и у вас зона уже с двумя IP. Но я делал иначе, в скрипте указывал "вес" каждого VPN-сервера(разные по мощности), опрашивал и генерил зону с наиболее не загруженным. Скрипт работал каждую 1 мин. В зону попадал не нагруженный VPN сервер. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nwton Опубликовано 27 января, 2014 · Жалоба реализовать динамическую смену записи был vpn.net [192.168.0.2] на vpn.net [192.168.0.3] в DNS-сервере, чтобы ппри следующем обращении, клиент подключился уже к другому серверу. Только не забудьте уменьшить TTL для A записи, иначе получится "при следующем обращении через неделю клиент наконец-то решит обратиться к новому серверу". Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...