ALT Linux в офисе |
WWW.TEKCT.RU | Содержание книги | Предыдущий раздел | Следующий раздел |
8.6. DHCP и DNSИз всех сетевых служб DHCP (Dynamic Host Configuration Protocol), наверное, самая простая, тем более, что в некоторых случаях без нее можно обойтись. Если сеть невелика, и у каждого компьютера задан IP-адрес, DHCP не нужна. Более того, без DHCP сеть работает намного надежнее. Я думаю, что если в сети до 100 компьютеров, можно обойтись фиксированными адресами. С другой стороны, если надо быстро подключить к сети рабочую станцию или ноутбук, а списка задействованных адресов под рукой нет, то лучше, чтобы DHCP, все-таки, работала — присваивала адрес новому компьютеру автоматически. Конечно, получать автоматически адреса шлюза и DNS тоже удобнее. Если мы используем для адресации только четвертый октет IP-адреса (маска 255.255.255.0), то можем подключить до 254 устройств (не все из них должны быть компьютерами). Тогда адреса могут выбираться из диапазона 192.168.1.1-192.168.1.254. Как известно, «192.168» — стандартный диапазон, используемый для локальных сетей. Третий октет (например, «1») указывает на принадлежность компьютера к данной подсети. Понятно, что для системного администратора не так уж и сложно вести учет такого количества компьютеров. Но если организация большая, приходится задействовать два октета адреса (маска 255.255.0.0). Количество компьютеров в одной подсети может исчисляться тысячами, и без DHCP не обойтись. С другой стороны, DHCP можно организовать и «аппаратно». Сейчас продается много устройств (со стоимостью от 2000 рублей) со встроенным DHCP-сервером. Обычно это маршрутизаторы. Настраиваются они достаточно просто, а преимущество их в том, что они надежнее компьютеров: в них нет движущихся частей, а потребляют они намного меньше энергии. Они могут работать непрерывно годами. Но, поскольку мы рассматриваем конкретный сервер, выясним, что нам предлагает Linux. С точки зрения теории о DHCP надо знать следующее: 1. IP-адрес выдается станции на время, оно называется «временем лизинга» (lease time). По прошествии этого времени станция должна взаимодействовать с сервером, чтобы продлить использование IP-адреса на следующий период. 2. Задается диапазон адресов, из которого сервер может назначать адреса. Адреса вне этого диапазона можно использовать как статические. 3. В Linux Server при назначении какого-либо статического адреса компьютеру, нужно указывать и МАС-адрес сетевого интерфейса. Для настройки DHCP надо использовать все тот же web-интерфейс. Служба называется dhcpd. В первую очередь надо включить службу и установить галочку, чтобы служба запускалась при старте системы. Кроме того, надо создать конфиг-файл /etc/dhcp/dhcpd.conf. Вот его пример. # File /etc/dhcpd.conf ddns-update-style none; one-lease-per-client on; option domain-name-servers 192.168.1.2, 192.168.1.4; subnet 192.168.1.0 netmask 255.255.255.0 { # new.subnet option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.1.100 192.168.1.254; option domain-name "ofis.local"; option broadcast-address 192.168.1.255; option routers 192.168.1.1; default-lease-time 43200; max-lease-time 50000; host vasya { hardware ethernet 00:11:22:33:44:55; fixed-address 192.168.1.15; } } Мы задали режим выдачи одного адреса на клиента, указали два адреса серверов DNS, определили диапазон адресов локальной сети (subnet) 192.168.1.1-192.168.1.254, маску сети 255.255.255.0, выделили для DHCP диапазон 192.168.1.100-192.168.1.254, задали имя домена ofis.local, широковещательный адрес 192.168.1.255 (стандартный), адрес шлюза (маршрутизатора) 192.168.1.1, время лизинга 12 часов (43200 секунд), указали, что в сети есть компьютер с сетевым именем vasya и фиксированным адресом 192.168.1.15. Если мы хотим указать, что только этот сервер может выдавать IP-адреса, в файл надо добавить строку: authoritative; После перезагрузки сервера мы увидим эти данные и в web-интерфейсе (рис. 8.7) (мы могли бы сразу задать большинство этих параметров в нем, и конфиг-файл был бы создан автоматически). Правда, web-интерфейс позволяет задать не все параметры. Рис. 8.7. Настройка DHCP сервера Доступ в Интернет с рабочей станции будет зависеть от того, как построен шлюз. Возможно, в реальной сети для обеспечения доступа в Интернет в файле /etc/dhcp/dhcpd.conf в параметр domain-name-servers надо будет добавить адреса DNS, полученные от провайдера. В отличие от DHCP, DNS (Domain Name Service) — наверное, одна из самых сложных областей сетевого строительства. Описание зон, форвардинг, репликация — все это надо (вроде бы) изучать и настраивать. Но попробуем выпустить чертика из коробки и обойтись малой кровью. Для ALT Linux предусмотрены два основных DNS сервера: bind и dnsmasq. Первый — сложный и универсальный, второй годится для ограниченного круга задач. Но dnsmasq просто настраивается, поэтому для локальной сети выберем его. Интересно, что в состав дистрибутива ALT Linux Office Server не входит ни одна из этих программ. Поэтому нам придется получить пакет на сайте Sisyphus. Я скачал такой: dnsmasq-2.38-alt1.i586.rpm. Устанавливается он безо всяких проблем. Дополнительно надо установить компоненты на рабочей станции (которые есть в дистрибутиве): nmap и bind-utils. Последний пакет включает несколько полезных программ для тестирования сети, в частности, nslookup. Идея dnsmasq проста как все гениальное. Во многих случаях от локального DNS требуется немного функций. Во-первых, организация прямой зоны (конвертация символьного адреса или имени в числовой IP-адрес). Во-вторых, перенаправление запросов на внешние DNS, если это необходимо (так работает выход в Интернет или другую локальную сеть). И, наконец, как бесплатное приложение, функции DHCP (хотя это, как я уже упоминал, можно получить самыми разными способами). Так вот, гениальность dnsmasq заключается в том, что эта служба берет необходимую информацию из конфиг-файлов уровня станции. То есть, адреса внешних DNS она берет из файла /etc/resolv.conf, а имена и адреса хостов локальной сети — из файла /etc/hosts. Когда служба dnsmasq запускается, она подменяет эти файлы своими, когда останавливается, возвращает все на свои места, что позволяет сохранить прежнюю функциональность. Вообще, /etc/hosts — это самая простая реализация прямой DNS зоны, которую только можно вообразить. Поскольку заполнить эти файлы информацией может даже школьник, по сложности задача настройки DNS переходит из разряда сисадминской в разряд пользовательской. Правда, необходимо еще правильно написать конфиг-файл самой dnsmasq (/etc/dnsmasq.conf), и тут нужны знания. В файле /etc/resolv.conf в тривиальном случае указываются адреса DNS, полученные от Интернет-провайдера, например: nameserver 212.48.000.00 nameserver 212.48.100.00 В файле /etc/host перечисляются хосты локальной сети, например: 127.0.0.1 server1.ofis.local server1 localhost.localdomain localhost 192.168.1.2 server1 server.ofis.local 192.168.1.15 vasya vasya.ofis.local 192.168.1.16 petya petya.ofis.local И т.д. Исходный файл /etc/dnsmasq.conf очень напоминает краткое руководство, и прочитав его, можно выяснить назначение многих параметров. Сложнее понять, какие именно параметры нужны. Для настройки надо раскомментировать и отредактировать нужные строки. Ниже приведен листинг файла с настройками для нашего примера. domain-needed bogus-priv filterwin2k localise-queries expand-hosts domain=ofis.local dhcp-range=192.168.1.100,192.168.1.254,255.255.255.0,12h dhcp-host=server1,192.168.1.2,infinite dhcp-leasefile=/var/lib/misc/dnsmasq.leases Опция domain-needed запрещает пересылать запросы на внешние DNS, если в имени нет точки или указания домена. Опция localise-queries позволяет возвращать запрос на тот же интерфейс, с которого он пришел. Опции expand-hosts и domain используются совместно. Параметр dhcp-range задает диапазон адресов для DHCP и время лизинга. С помощью параметра dhcp-host мы задали неограниченное время лизинга для сервера. Параметр dhcp-leasefile определяет файл, в который записываются хосты DHCP. «Слушать» запросы можно только по определенному IP-адресу: listen-address=127.0.0.1, 192.168.1.2 Можно вести лог: log-queries Есть и другие полезные параметры. Почитать документацию по dnsmasq можно здесь: http://thekelleys.org.uk/dnsmasq/docs/setup.html Для проверки DNS надо набрать символьный адрес в браузере, например: https://server1:8080/. Самое интересное, что все это работает :) |
WWW.TEKCT.RU | Содержание книги | Предыдущий раздел | Следующий раздел |
© Алексей Гончаров, 2010 |