Первый Нижегородский АвтоФорум (Архив)  

Вернуться   Первый Нижегородский АвтоФорум (Архив) > Форумы неавтомобильной тематики > Компьютерный
Нижегородский АвтоПортал (Архив) Справка Галереи Участники Автовзаимопомощь Календарь Поиск Сообщения за день Все разделы прочитаны

Последние сообщения с Пейджера. Показать все
За последнее время сообщений нет.
Внимание! Это архив форума.
Это архив форума и доступен в режиме "только чтение". Текущий форум находится по старому адресу www.autoforum.pro.
Компьютерный Для компьютерщиков за рулем, ну или для водил за компьютером.Обсуждения Crack'ов Keygen'ов и пиратского софта строго запрещены.

 
Опции темы Поиск в этой теме Опции просмотра
 
Старый 08-06-2010, 16:05 [Linux] DNS-сервер   #1
atos
linux-овод
Зачем:
А затем. Кэширование - раз. Управление запретами - два. Возможность держать свои зоны - три. Модно - четыре.
А если серьезно, то собственный DNS - штука полезная. Даже если рассматривать простейший случай, рекурсивный-кэширующий, так имеем как минимум снижение отклика при запросах и снижение нагрузки на канал, особенно если подвязаться к DNS-серверам провайдера. А если поднимать свой собственный DNS-сервер, то тут все флаги в руки - от собственноручного управления подконтрольными зонами и моментального их изменения, до блокировок нежелательного простыми командами.

А еще дернулся было описывать простейший биллинг с зеркалами всякой вкусности, так и встал на том шаге, что слишком сильно привык к тому, что DNS есть и работает по всей локальной сети… Не получилось перепрыгнуть через этот шаг.

Disclaimer:
Я не самый большой специалист по DNS и претендовать на детально-подробное изложение не могу. Претендую лишь на то, что "все работает". В свое оправдание могу сказать, что есть мнение, что те несколько человек, которые действительно понимают, как работает система DNS - перечислены в писке авторов пакета bind.

Установка:
Я привел свою систему к следующему состоянию:
# emerge -pav bind bind-tools
[ebuild R ] net-dns/bind-tools-9.7.0_p1 USE="ssl xml -doc -idn -ipv6" 0 kB
[ebuild R ] net-dns/bind-9.7.0_p2-r1 USE="berkdb dlz geoip ldap mysql ssl threads xml -doc -idn -ipv6 -odbc -postgres -resolvconf -sdb-ldap (-selinux) -urandom" 0 kB


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

Настройка (вариант1):
Для начала построим простейший кэширующий DNS-сервер, который ничего не умеет, только лишь обрабатывать запросы исключительно с локальной сети (192.168.0.0/24), активно пользуясь при этом DNS-серверами провайдера (адреса 1.2.3.4 и 5.6.7.8 ).

Для этой простой задачи вполне хватит вот такого универсального, version-free так сказать, named.conf :
Код:
options { directory "/var/bind"; allow-query { 192.168.0.0/24; localhost; }; allow-recursion { 192.168.0.0/24; localhost; }; allow-transfer { 192.168.0.0/24; localhost; }; version "handmade"; forward first; forwarders { 1.2.3.4; 5.6.7.8; }; query-source address * port 53; pid-file "/var/run/named/named.pid"; }; zone "." IN { type hint; file "named.ca"; };

Обращаю внимание на то, что стилизация конфига под Си обязывает внимательно и тщательно следить за скобками и точками с запятыми - сколько в свое время было пролито крови из-за отсутствующего байта…

Если после всех правок перезапустить демон named - получим искомое. Т.е. скромный и маленький DNS-сервер, который умеет обслуживать локальную сеть. А если впишем в /etc/resolv.conf первую строчку как
nameserver 127.0.0.1
, то и сам себя - тоже.

В небольшое заключение - пара моментов, на которых слегка тормознемся:
1. Кэш трансляций BIND хранит в оперативке. Само собой, что после перезапуска демона кэш теряется.
2. Проверку работоспособности кэширования можно сделать, например, так:
localhost # dig @localhost icq.com
;; Query time: 350 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jun 8 11:34:57 2010
;; MSG SIZE rcvd: 138

localhost # dig @localhost icq.com
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jun 8 11:35:25 2010
;; MSG SIZE rcvd: 138

3. Как дела у демона с безопасностью - да фик его знает. Умные люди говорят разное. Правда, те примеры эксплоитов, что встречаются в сети, лично у меня не работали. Что не помешало никоим образом засунуть демон в chroot и регулярно обновлять.
4. Как за-chroot-тить BIND - да просто. Внимательно прочитать сообщения лога portage, там прямые указания.

Но, если бы это - было бы все, мне бы коллеги в лицо плюнули. Ибо подобный конфиг можно запросто найти в первом же запросе гугла… Или во втором, не знаю.
Поэтому, дабы оправдать надежды, зайдем несколько дальше - сделаем на базе простого рекурсивного сервера некий шаблон, который и будем уже с течением времени навешивать и усложнять. Ну и, чтобы совсем в грязь не падать, воспользуемся почти всеми основными плюшками, что придумали разработчики:

localhost bind # cat named.conf
Код:
//список узлов, с которых будет разрешен трансфер зон acl "wanarray" { 192.168.0.0/24; }; //список доверенных адресов acl "lanarray" { 127.0.0.0/8; 192.168.0.0/24; }; options { directory "/var/bind"; pid-file "/var/run/named/named.pid"; listen-on-v6 { none; }; allow-query { lanarray; }; allow-query-cache { lanarray; }; allow-recursion { lanarray; }; allow-transfer { wanarray; }; forward first; forwarders { 1.2.3.4; 5.6.7.8; }; query-source address * port 53; }; //man-овского примера логгирования в штатном режиме вполне хватает для понимания logging { channel default_log { file "/var/log/named/named.log" versions 5 size 50M; print-time yes; print-severity yes; print-category yes; }; category default { default_log; }; category general { default_log; }; }; //описание прав для внутренней зоны видимости, //пока тут только служебное view "internal" in { match-clients { lanarray; }; recursion yes; additional-from-auth yes; additional-from-cache yes; zone "." in { type hint; file "/var/bind/root.cache"; }; zone "localhost" IN { type master; file "pri/localhost.zone"; allow-update { none; }; notify no; allow-query { any; }; allow-transfer { none; }; }; zone "127.in-addr.arpa" IN { type master; file "pri/127.zone"; allow-update { none; }; notify no; allow-query { any; }; allow-transfer { none; }; }; }; //описание прав для внешних респондентов, //и тут пока пусто view "public" in { match-clients { any; }; recursion no; additional-from-auth no; additional-from-cache no; zone "." in { type hint; file "/var/bind/root.cache"; }; }; //Один из рекомендованных приемов сокрытия //аппаратных и программных сведений view "chaos" chaos { match-clients { any; }; allow-query { none; }; zone "." { type hint; file "/dev/null"; // or any empty file }; };

Заострю внимание читателя, что правке подлежал только /etc/bind/named.conf. Все остальные, служебные файлы зон и корневых серверов, правке не подлежали. Пока не подлежали.

Собственно, на этом простое рекурсивное и заканчивается. За тем, что имеем полное право добавить в автозагрузку:
rc-update add named default
__________________
Делай, что должен.
И будь, что будет.
И даже если сделал все, что должен,
это все равно меньше, чем нужно.

Последний раз редактировалось atos, 08-06-2010 в 17:31.
atos вне форума  
 
Старый 16-06-2010, 15:04   #2
griban
Завсегдатай
паать
первый раз заглянул в раздел а тут такое
и много на форуме красноглазиков?
и зачем мануал на русский переводить
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 16-06-2010, 20:03   #3
Jag Mort
Лесной человек
Цитата:
Сообщение от griban
зачем мануал на русский переводить
чтобы заинтересовать личностей, у которых пока светлые глаза
Jag Mort вне форума  
 
Старый 17-06-2010, 12:27   #4
griban
Завсегдатай
имхо вряд ли подобные решения заинтересуют местных
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 12:39   #5
Jag Mort
Лесной человек
тебе больше сказать нечего?
человек написал пост, кому-то о может быть полезен

а ты что тут делаешь?!
Jag Mort вне форума  
 
Старый 17-06-2010, 15:01   #6
griban
Завсегдатай
1. мне всегда есть что сказать
2. написал, замечательно, я абсолютно не против.
3. тебя абсолютно не должно eбать что я тут делаю.
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 15:10   #7
Jag Mort
Лесной человек
Цитата:
Сообщение от griban
тебя абсолютно не должно eбать что я тут делаю.
ещё один смелый аноним?
Jag Mort вне форума  
 
Старый 17-06-2010, 15:11   #8
andruxa
Флудер
Девочки, не ссорьтесь (с) ))
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 17-06-2010, 15:32   #9
griban
Завсегдатай
как скажешь, земеля (с)

воообще, кто модератор раздела, потрите плиз флуд, не думал что на мой первый пост так бурно прореагируют *никсодрочеры. нехорошо получилось, загадилась тема
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 15:32   #10
griban
Завсегдатай
Цитата:
Сообщение от Jag Mort
смелый
а чтобы ответить на неуместный вопрос надо быть смелым?

вообще манера обенщия характерная
чё здесь делаешь, ты кто - подобного рода вопросы зачастую принадлежат быдлятине/гопоте
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 15:40   #11
Jag Mort
Лесной человек
Цитата:
Сообщение от griban
надо быть смелым?
с пустым-то профилем?
Jag Mort вне форума  
 
Старый 17-06-2010, 15:54   #12
griban
Завсегдатай
не считаю нужным раскрывать свои данные кому попало
там было кстати кое-что раньше - потёр от греха подальше

ну а если человек серьёзный - найдёт ботана, тот ему по айпи погадает
кто и что там по другую сторону провода
и место жительства, и где бывает, и во сколько его ждать
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 13:17   #13
wildman
Матерый
Отчего же? Я администрированием линукса по основному направлению деятельности не занимаюсь, но тем не менее использую на работе ubuntu и категорически благодарен за подробное разжевывание интересных и возможно потребующихся в будущем задач.
wildman вне форума  
 
Старый 17-06-2010, 15:04   #14
griban
Завсегдатай
а я чё - говорю что не надо писать?
я только за!
просто не думал что кому-то задесь понадобится, но раз так - замечательно
кстати afaik кэширование вроде уже давно реализовано во всех браузерах
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 15:05   #15
andruxa
Флудер
Вот только браузер не делится кэшем с остальными приложениями
__________________
ДА... ну да...
andruxa вне форума  
 
Старый 17-06-2010, 15:29   #16
griban
Завсегдатай
ну эт понятно
я на себя просто прикинул, я то только сёрфю прон
а чтоб у меня какие-то процессы посылали байты в интернет - эт не, там и так намусорено
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  
 
Старый 17-06-2010, 00:16   #17
int_surfer
Матерый
недавно рассказали, как проверили контору, где нет любителей СПО вообще и линукса в частности - 500 тыр штрафа за использование нелегально установленного ПО...
__________________
красная машина - первый шаг к Феррари!
int_surfer вне форума  
 
Старый 17-06-2010, 12:29   #18
griban
Завсегдатай
давайте не будет путать кислое с длинным
мы ж в России живём - проверили по заказу конкурентов, у которых есть подвязы в органах
__________________
Lass uns tanzen oder ficken oder beides denn morgen sind wir tot
griban вне форума  


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 06:57.


vBulletin v3.5.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Хостинг предоставлен компанией ТТК