Pull to refresh

Система DNS будет работать быстрее

Reading time 1 min
Views 636
Lumber room
Впервые за последние три года выпущена новая версия open source сервера BIND — это открытая и наиболее распространённая реализация DNS-сервера, обеспечивающая преобразование DNS-имени в IP-адрес и наоборот.

Новая версия BIND 9.4 работает значительно эффективнее, чем прошлая версия 9.3, которая увидела свет в апреле 2004 года. Главная причина повышения производительности — реализация поддержки DLZ (динамически подгружаемых зон) и встроенного кэша. Кроме того, появилась дополнительная проверка на утечки памяти.

via Internet News
Total votes 28: ↑25 and ↓3 +22
Comments 6

Тест производительности BIND на разных OS

Reading time 1 min
Views 3K
Configuring Linux *
Internet Systems Consortium провёл тестирование производительности DNS-сервера BIND на разных OS. Честно говоря, результаты меня поразили — такого разброса я не ожидал.

OS Queries/second
Linux Gentoo 2.6.20.7 93,000
Linux Fedora Core 2.6.20.7 87,000
FreeBSD-7-CURRENT 200708 84,000
FreeBSD-6-stable 200708 55,000
FreeBSD 6.2-RELEASE 51,000
Solaris-10 DevelExpr 5/07 50,000
NetBSD-4.0-Beta 200708 42,000
OpenBSD 4.1-snap-20070427 35,000
Windows 2003 Server 22,000
Windows XP Pro64 5.2.3790 SP2   20,000


P.S. Кстати, лично я рекомендую в качестве DNS-сервера использовать djbdns, а не BIND — по соображениям безопасности, хотя, я уверен, по производительности он тоже выигрывает у BIND (много лет назад я это тестировал, и не думаю что ситуация изменилась).
Total votes 13: ↑10 and ↓3 +7
Comments 54

Сервер дома — AMD, Debian x64, Bind9, Apache 2, PHP5, MySQL5, Trac, Subversion и море удовольствия

Reading time 7 min
Views 8.4K
Lumber room
Шило в известном месте всё никак не даёт мне покоя.
И решил я поэкспериментировать с установкой сервера дома.

Итак, дано:

1. Домашний интернет с внешним ip на роутере, канал туда/обратно — 8 мбит, провайдер — QWERTY *
2. Бюджет не больше 10 тысяч рублей — чем меньше, тем лучше. **
3. Жгучее желание экспериментов и чего-нибудь эдакого ***

* К сожалению, мой дом не подключает Корбина, у которой более широкие каналы. Приходится довольствоваться тем, что есть
** Получилось путём более-менее реального подсчёта стоимости комплектующих на среднестатический компьютер
*** Для тех, кто хмыкнет и скажет — «эка невидаль, я такое регулярно делаю» — я не так часто что-то настраиваю, больше пишу под уже настроенное, и для меня это чистой воды развлечение — что-то сделать своими руками=)

Ну, все процедуры тут, под катом.

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

Вероятно, что-то можно настроить более гибко или качественно, и я крайне буду рад советам или решениям=)


Читать дальше →
Total votes 44: ↑38 and ↓6 +32
Comments 66

Связывание таблиц в Model::find()

Reading time 7 min
Views 2.2K
CakePHP *
Translation
Перевод заметки на Bakery от Nate, одного из авторов CakePHP. Мне она показалась интересной и иллюстрирующей как же работает этот фреймворк, но сложной для понимания на английском языке.

В этой заметке описывается малоизвестный приём, позволяющий осуществлять связывание таблиц (joins) в запросах CakePHP напрямую, не используя методы bind и unbind.

Внимание: Приём сработает только если вы используете новый синтаксис Model::find(), который имеет всего два параметра. В противном случае читайте Cookbook или API.

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 8

Подмена time.windows.com локальным ntp-сервером

Reading time 1 min
Views 17K
System administration *
Демократия есть искусство управления цирком изнутри обезьяньей клетки.
Генри Луис Менкен


В крупных, постоянно меняющихся и развивающихся гетерогенных сетях установка адреса локального ntp-сервера на всех машинах может представлять определенную проблему. В данном случае можно воспользоваться возможностями DNS-сервера BIND и подменить выдаваемый по запросу «time.windows.com» ip-адрес.
Читать дальше →
Total votes 20: ↑11 and ↓9 +2
Comments 31

ISC анонсирует новую уязвимость BIND: Dynamic Update DoS

Reading time 1 min
Views 808
Information Security *
ISC предупреждает о новом эксплоите для всех версий BIND9
Уязвимость связана с недостаточной обработкой запросов на динамические обновления(dynamic updates), и поэтому является критической. Сервера, на которых динамический обновления не используются и запрещены, уязвимости, естественно, не подвержены.

Обновляйтесь!
Total votes 4: ↑4 and ↓0 +4
Comments 4

Настройка DNS сервера на FreeBSD

Reading time 5 min
Views 92K
*nix *
image

Довольно часто возникает вопрос о внедрении своего ДНС сервера, который мог бы не только обслуживать запросы внешних пользователей к приобретенным ДНС именам, но и обслуживать запросы пользователей в локальной сети. Такая задача относительно просто решается средствами ОС FreeBSD.
Читать дальше →
Total votes 13: ↑4 and ↓9 -5
Comments 8

Инструктируем пользователей о смене DNS

Reading time 2 min
Views 774
Lumber room
Появилась недавно задачка — снять парочку старых DNS-серверов (провайдеровские, для пользователей).
Проблема заключалась в том, что у большого количества пользователей эти DNS были прописаны статически. Так что если просто отключить эти DNS, на техподдержку свалилось бы большое количество звонков. А их нудёж над ухом ну никак не хотелось слышать.
Читать дальше →
Total votes 7: ↑3 and ↓4 -1
Comments 9

Блокирование DNS DDoS при помощи пакета fail2ban

Reading time 3 min
Views 35K
Configuring Linux *
Вы уже устали от кучи сообщений от logcheck'а об откаpе в обслуживании запросов к named? Ниже будет написано как ограничить себя от DDoS к named'у при помощи пакета fail2ban.

События о которых идёт речь выглядят так:
System Events
=-=-=-=-=-=-=
Jan 21 06:02:13 www named[32410]: client 66.230.128.15#15333: query (cache)
+'./NS/IN' denied

Однако следует отметить, что в большинстве случаев ip-адрес источника может быть сфальсифицирован. Каждый узел в бот-сети может послать один или несколько пакетов в секунду к DNS-серверу. Сервер в свою очередь отвечает сообщением об ошибке в запросе сфальсифицированному адресу, вызывая отказ в обслуживании у источника.

Устали от того, что ваш DNS сервер используется в качестве оружия в чужих DDoS-атаках? Попробуйте установить себе пакет fail2ban (Debian GNU/Linux). Оригинальный сайт проекта www.fail2ban.org.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 10

Применение bind в JavaFX

Reading time 7 min
Views 5.6K
Lumber room
Когда я впервые познакомился с техникой связывания переменных, то в первое время хотелось связывать всё подряд, настолько это было увлекательно. Как и любую технологию, JavaFX и binding не следует применять бездумно. Следует помнить, что binding в сущности спрятанная реализация паттерна Observer (или Listeners, кому как больше нравится). Как следствие, может возникать множество не очевидных проблем, таких как «утечки памяти», проблемы с производительностью и т.п.

В этом посте хотелось бы привести ряд паттернов и антипаттернов применения binding'а в JavaFX. Кроме того, второй задачей является опубликовать ответы на некоторые вопросы, которые часто задавали на Sun Tech Days, когда я «дежурил» на стенде JavaFX. Мне кажется, что многие подобные вопросы плохо освещены, и в рунете особенно.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 1

Двунаправленный bind (bind with inverse) между JavaFX переменной и Java-переменной

Reading time 3 min
Views 1.2K
Lumber room
На этот раз хотелось бы расширить предыдущую статью про bind небольшим дополнением про двунаправленный bind (bind with inverse).

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

Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 0

Связка DHCP с DNS

Reading time 2 min
Views 23K
Configuring Linux *
Почитав недавние топики про DynDNS решил написать краткую инструкцию по связке DHCP с DNS.

В любой локалке рано или поздно появляется необходимость прописывать прямую и обратную зону. Можно конечно указать в обратной зоне запись вида:
$GENERATE 0-255 $ PTR pptp-$.isp.net.
Но это не выход, более красиво будет выглядеть запись вида %username%.isp.net.
В принципе с любого биллинга можно генерировать конфиги для dhcp, этот шаг упустим, перейдем к сути.

Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 3

Система автоматической генерации настроек DNS-сервера Bind

Reading time 5 min
Views 7.3K
Server Administration *
Sandbox
По службе приходится часто и много создавать зоны ДНС, добавлять или изменять в них записи. Вручную это довольно кропотливый и сложный процесс: ведь надо держать в голове синтаксис и не ошибаться в мелочах. Для таких вещей самое оно заставить работу выполнять компьютер.

IAdmin — это система создана для автоматической генерации конфигов Bind на хостинговом сервере и представляет собой базу iadmin в БД MySQL и скрипт, который на основании данных из базы генерирует конфигурационные файлы. Для настройки Bind используются таблицы dns_domains, dns_records, dns_subgmail. Основной скрипт, написанный на перле читает данные из БД iadmin и создаёт файлы конфигурации. Файлы зоны генерируются в дирректории /var/cache/bind/. Там же хранятся и прочие файлы зон, которые не обслуживаются системой iadmin. Этой же системой создаётся конфиг для secondary-DNS, который туда и переносится. До тех пор, пока скрипт не отработает, все изменения из БД НЕ материализуются.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Comments 29

Опыт перехода на DNS-сервер NSD

Reading time 3 min
Views 17K
Центр интернет-имен Украины corporate blog
В далеком 2007 году, когда Ukrnames был еще маленьким и делал первые шаги, большую часть работы выполняли программисты. Они и разрабатывали систему управления доменами, и тестировали ее, и администрировали сервера, где все это добро работало.

А там где домены, там DNS. А какой самый простой способ сделать DNS-сервер? Поставить вездесущий BIND. Да BIND непростой, а с DLZ патчем, чтобы с MySQL дружил.

Шли годы, система работала, мощности серверов росли. А как водится, пока работает – не трогай. Так бы это все и продолжалось, если бы нагрузка не начала упираться в очередной 8-ми ядерный сервер.

В этот момент пришлось принять волевое решение и построить новую систему DNS-серверов, вместо того чтобы в очередной раз апгрейдить железо для ненасытного BIND+DLZ.

И тут закончилась сказка, и начались суровые будни администратора.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 26

Подключение сети к глобальному IPv6 пространству

Reading time 7 min
Views 21K
System administration *
Некоторое время назад в комментариях к статье «IPv6 шлюз для локальной сети» меня попросили рассказать о том, как я активировал IPv6 в одном из своих проектов. Начну с пары слов о самом проекте. CareNet — это результат кооперации двух крупных Шведских университетов: KTH Royal Institute of Technology и Karolinska Institutet. Вкратце, CareNet — это система, позволяющая наблюдать паллиативных пациентов вне больницы. У пациента дома устанавливается небольшое устройство, которое имеет доступ в Интернет и подключено посредством VPN к серверам CareNet. Устройство включает в себя HDVC-клиент, набор сенсоров для контроля состояния пациента и средства доступа к медицинскому порталу, содержащему всю информацию о пациенте. Медицинская информация доступна как самому пациенту, так и доктору.
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 9

BIND: храним зоны в mysql (Dynamically Loadable Zones — BIND DLZ)

Reading time 4 min
Views 14K
System administration *
Возможность Berkeley Internet Name Daemon (BIND) хранить зоны DNS в базе mysql не шибко известна и крайне плохо документирована. Документация заморожена на моменте включения отдельного патча DLZ в основную ветку BIND, а это BIND 9.4.* и 2005-2006 годы. Я постараюсь хотя бы частично восполнить этот пробел, выложив под хабракатом рабочие на данный момент инструкции с примерами. Мое описание совершенно не претендует на полноту, но простейшую зону прописать позволит.
Отдельно хочу заметить, что DLZ поддерживает не только mysql, список поддерживаемых хранилищ также под хабракатом.
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Comments 49

Практическое применение DNSSEC

Reading time 10 min
Views 60K
Information Security *
Tutorial


В статье описываются недостатки существующей структуры DNS, полный процесс внедрения DNSSEC на примере доменов .com и .org, процедура создания валидного самоподписанного SSL-сертификата подписанного с помощью DNSSEC.

Читать дальше →
Total votes 76: ↑75 and ↓1 +74
Comments 31

dynDNS для Amazon EC2 или как автоматизировать автообновление IP на хостинге с динамическим публичным IP

Reading time 6 min
Views 6.2K
Amazon Web Services *
Sandbox
Недавно встала задача развернуть виртуальный сервер Ubuntu 12.04 на Amazon EC2 для некоего сервиса и присвоить ему доменное имя в существующей доменной зоне, но как известно Amazon меняет публичный и локальный адреса после перезагрузки или выключения машины, поэтому было решено использовать bash (для *nix) и bat (для Windows) для автоматизации обновления динамического адреса для хостинга.
Далее
Total votes 1: ↑1 and ↓0 +1
Comments 11

Несколько различных VPN подключений с локальными DNS серверами

Reading time 4 min
Views 25K
DNS *
Tutorial

Откуда появилась проблема


Многие из вас пользуются VPN подключением к рабочей локальной сети из дома.
Благодаря этому, подключив VPN вы работаете с рабочей сетью «как будто находясь в ней».

Как выглядит типичная настройка в linux?
В /etc/resolv.conf прописывается (при помощи openresolv или NetworkManager)

search local.company.name
nameserver 10.0.20.186

Где local.company.name — домен компании, а 10.0.20.186 — ip адрес локального (в рабочей сети) DNS сервера.

Как выглядит работа?

root@t510 0 ~ % ping -c 1 cdash-master
PING cdash-master.local.company.name (10.0.20.237) 56(84) bytes of data.
64 bytes from 10.0.20.237: icmp_seq=1 ttl=63 time=214 ms
...

Что произошло?
  1. search добавил к cdash-master суффикс local.company.name
  2. DNS сервер в рабочей сети преобразовал cdash-master.local.company.name в 10.0.20.237

Всё прекрасно работает, пока у вас VPN подключение… одно.
Мне захотелось подключать одновременно два VPN и прописывать два DNS — один для рабочей сети, другой для локальной сети на hetzner, где крутятся мои виртуальные машины.

Казалось бы, что может быть проще? Однако путь к решению был долгим и извилистым.
Читать дальше →
Total votes 11: ↑8 and ↓3 +5
Comments 6
1