Jump to content

Recommended Posts

Posted

Друзья, подскажите как решить задачку :)

 

Есть локалка, для случаев пропадания аплинка нужно сделать вывод сообщения на пользователей, нечто типа "Извините идут работы и т д".

Это сделано просто форвардом.

НО! для того чтобы человек, который ломится на www.ya.ru, например, попал на этот форвард, ему нужно резолв собственно www.ya.ru, а мой днс это сделать не могет, ибо аплинк лежит...

 

При помощи микротика проблема решилась мгновенно, там просто создал статику в днс, пустое поле имени и адрес 1.2.3.4 (адрес роли не играет).

 

Получается так - юзер ломится кудато - микротик ему выдает 1.2.3.4 - юзер ломится через сервер на этот ИП и попадает на форвард с моей страничкой. Все сработало... НО... как это повторить на FreeBSD с кеширующим сервером ДНС?

 

Надо сотворить конфиг, который на любой запрос будет выдавать один и тот же (да в принципе без разницы какой) IP... Если есть у кого подобный опыт то поделитесь пожалуйста :-)

Posted

namedb\primary\root

 

 

;
$TTL 86400
@       IN      SOA     ns1.isp.net.    Hostmaster.isp.net. (2009010100 28800 7200 604800 86400)
;
 
        IN NS 127.0.0.1
*        IN A 1.2.3.4
Posted

Работает, огромное спасибо! Теперь в случае чего просто основной сервер днс получает подставу в конфиге и все запросы редиректит на эту заглушку ))

Хоть абоненты обрывать телефон не будут.

Posted

а не проще сделать чтоб не ломалось и стабильно работало?

например два аплинка?

Posted

А що всюди є точки присутності? Дайте мені лінк на Закарпатті в 50 км від райцентру....

Зі Київстару і Інтертелекому нема... Є річка....)))) ну у сотні кілометрів Карпат...

Posted

Ну к примеру у нас раз в пару мес может пропасть на пару часов питание у аплинка... А сделать второй )))) нереал. Как уже было сказано выше, не всегда можно чтото сделать. Это нужно не часто, но все же, как вариант оповещения "особо вредных" юзеров.

Posted

 

 

пропасть на пару часов питание у аплинка... А сделать второй )))) нереал.

а сделать аплинку питание, не? 

Posted

 

пропасть на пару часов питание у аплинка... А сделать второй )))) нереал.

а сделать аплинку питание, не? 

 

Три контейнера киевстар.. С батареями и дизелем. На расстоянии в 17 км. От них радиомост к нам. После грозы дизеля запускают вручную. Что там за проблема конкретно - черт их знает... Какое отношение я имею к ним, если оборудование аплинка стоит на их вышке... Ну вот как то так :)

Posted

а после работы подобной заглушки когда канал поднимается клиентам не нужноделать ipconfig /flush_dns ?

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

 

Ну... других вариантов я какбы и не вижу... Не держать же у себя копию всех днс ))))))))))))))

 

А низя указывать например время жизни записи отдаваемой клиенту? к примеру если авария и выдается 1.2.3.4 то его время жизни 1 минута?..

Posted

А может лучше сделать не через попу?

Удалить bind, поставить unbound или powerdns и забыть о проблеме. Беда именно в бинде, другие dns-сервера так себя не ведут.

Posted (edited)

А может лучше сделать не через попу?

Удалить bind, поставить unbound или powerdns и забыть о проблеме. Беда именно в бинде, другие dns-сервера так себя не ведут.

А в чем именно? бинд нормально кеширует+держит локалку, (несколько локальных имен серверов)... А как себя поведут другие сервера если им отрубить инет и запросить резолв яндекса или чего другого которого в кеше нема? (к примеру). Можно чуть подробнее, или ссылочку?

 

Вот емае, таки заразился... паверднс както муторно, а анбонд таки почитал, понравился... ну вот оно мне надо? :D Ща попробую готовить, авось вкусно будет, повкуснее бинда?

Edited by Barabashka.yury
Posted

 

А может лучше сделать не через попу?

Удалить bind, поставить unbound или powerdns и забыть о проблеме. Беда именно в бинде, другие dns-сервера так себя не ведут.

А в чем именно? бинд нормально кеширует+держит локалку, (несколько локальных имен серверов)... А как себя поведут другие сервера если им отрубить инет и запросить резолв яндекса или чего другого которого в кеше нема? (к примеру). Можно чуть подробнее, или ссылочку?

 

Бинд при отваливании внешки перестает отвечать на закешированные адреса, это у него "фича" такая. А закешированы всегда 99.9% запросов, народ таки открывает одни и те же сайты..

Поставь unbound, настройка там ничуть не сложнее бинда а работает лучше во всем.

Posted

у меня unbound при отвале внешки начинает жрать весь проц и перестает отвечать на что либо.

 

ps: может кто знает как это победить? :)

Posted

 

 

А может лучше сделать не через попу?

Удалить bind, поставить unbound или powerdns и забыть о проблеме. Беда именно в бинде, другие dns-сервера так себя не ведут.

А в чем именно? бинд нормально кеширует+держит локалку, (несколько локальных имен серверов)... А как себя поведут другие сервера если им отрубить инет и запросить резолв яндекса или чего другого которого в кеше нема? (к примеру). Можно чуть подробнее, или ссылочку?

 

Бинд при отваливании внешки перестает отвечать на закешированные адреса, это у него "фича" такая. А закешированы всегда 99.9% запросов, народ таки открывает одни и те же сайты..

Поставь unbound, настройка там ничуть не сложнее бинда а работает лучше во всем.

 

 

у меня unbound при отвале внешки начинает жрать весь проц и перестает отвечать на что либо.

 

ps: может кто знает как это победить? :)

 

 

Поставь бинд :)

+100500! Это просто сказка )))))

не ну я анбонд попробую таки... рецептов немерено, так шо может даже подружимся...

Posted

Ну а если серьезно то вполне рабочее решение - пропал пинг на 8.8.8.8 (ну или к дефолту. не суть) - на основном сервере делаем форвард на заглушку и форвард запросов на 53 порт на вспомогательный ДНС. все. Соответственно пинг поднялся - форварды прибиваем и все работает как было.

 

Кстати а вот надо таки проверить как будет с кешем у абонентов... Ну и попробовать анбонд. И как вариант посмотреть исходники бинда на предмет отключения "фичи" в отказе выдачи адресов при пропадания интернета...

 

Вообще то я хотел его патчить в плане умения брать локалку из мускла. шоб прямо из базы данных билинга дергал ип и хост абонентов. нахрена - не знаю, разве что просто из спортивного интереса... Так что поиграть и с биндом и с анбондом еще успеется :)

Posted (edited)

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

 

ps: на бинд и унбаунд забил, поставил pdns-recursor и забыл где он сейчас там....

Edited by rsst
Posted

ну про рекурсор я почитал уже... да только не то все это... а время жизни отдаваемого ресолва никак не указать???

 

или в картинке-заглушке надо указывать что "для корректного соединением с интернетом пожалуйста, полностью закройте и снова откройте браузер"... Хотя некоторых слово "браузер" ввергает в полный ступор и последующий диссонанс с реальностью :(

Posted

С кешем проблема решается очень просто.

TTL установите на 3-5 минут и проблема с кешем будет решена.

Posted

С кешем проблема решается очень просто.

TTL установите на 3-5 минут и проблема с кешем будет решена.

Вот, это будет лучше всего. Проверю этот вариант.

Posted (edited)

Кстати, что б браузеры не кеширывали заглушку - можно в .htaccess закинуть следующее

<IfModule mod_headers.c>
Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
</IfModule>
Edited by L1ght
Posted

 

Кстати, что б браузеры не кеширывали заглушку - можно в .htaccess закинуть следующее

<IfModule mod_headers.c>
Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
</IfModule>

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

Posted

Кстати, что б браузеры не кеширывали заглушку - можно в .htaccess закинуть следующее

<IfModule mod_headers.c>
Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
</IfModule>

 

До одного места все эти директивы. В разных браузерах все равно будет зависать заглушка и будете слушать вайн от клиентов.

Правильный вариант - использовать перенаправление на страничку с temporary redirect, которая уже кидает на заглушку.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...