DNS сервер на домашнем компьютере
Собственный DNS сервер для веб-разработчиков очень удобная вещь. Если локальный компьютер используется для разработки и на нем установлен Apache с несколькими десятками виртуальных доменов то прописывать все виртуальные домены в файле hosts довольно кропотливо. Со временем hosts превращается в полнейшую свалку а собственный DNS сервер позволяет организовать все гораздо компактнее и удобнее.
Обычно, чтобы отличать локальные сайты от всех других я им даю фиксированный суффикс по имени компьютера на котором они крутятся, например: ztools.maxhome - это локальная версия ztools.org на домашенем компьютере, maxistar.maxhome - локальная версия maxistar.ru, ztools.maxbook - версия ztools.org на ноутбуке и так далее.
Рассмотрим пример установки DNS сервера на локальный компьютер под управлением Linux, сделаем так, чтобы ВСЕ сайты с суффиксом .maxhome ссылались на локальный компьютер, с суффиксом .maxbook на ноутбук и так далее.
Итак, имеем машину с Ubuntu, устанавливаем на него DNS сервер:
> apt-get install bind9
добавляем в /etc/named.conf.local следующее:
zone "maxhome" { type master; file "/etc/bind/db.maxhome"; };
/etc/bind/db.maxhome - это файл зоны который нам предстоит создать, чтобы не создавать с нуля скопируем один из файлов в папке /etc/bind и отредактируем:
> cp db.local db.maxhome
после редактирования файл выглядит следующим образом (изменения помечены жёлтым):
; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS maxhome. @ IN A 192.168.1.101 @ IN AAAA ::1 * IN A 192.168.1.101
Обратите внимание на последнюю строку со звездочкой - она самая главная! Аналогичным образом создаём файлы зон для других компьютеров.
Теперь перегружаем наш DNS сервер:
maxim@maxim-desktop:~$ sudo /etc/init.d/bind9 restart * Stopping domain name service... bind9 [ OK ] * Starting domain name service... bind9 [ OK ]
На всех машинах на которых мы хотим иметь доступ к локальным ресурсам в свойствах сетевого подключения ставим IP адрес машины с установленным DNS сервером в качестве DNS сервера и проверяем как работает:
maxim@maxim-desktop:~$ ping dfdfd.maxhome PING dfdfd.maxhome (192.168.1.101) 56(84) bytes of data. 64 bytes from 192.168.1.101: icmp_seq=1 ttl=64 time=0.044 ms 64 bytes from 192.168.1.101: icmp_seq=2 ttl=64 time=0.050 ms 64 bytes from 192.168.1.101: icmp_seq=3 ttl=64 time=0.044 ms ^C --- dfdfd.maxhome ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2179ms rtt min/avg/max/mdev = 0.044/0.046/0.050/0.003 ms
Теперь любое сочетание символов xxxx.maxhome будет разрешаться на домашний компьютер, причем аналогичным образом можно создать файлы для других компьютеров в нашей домашней сети и всегда будет ясно на каком компьютере какой сайт расположен. Теперь не нужно каждый раз после создания нового виртуального домена редактировать файл hosts на всех компьютерах.
разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться
комментарии: