Европейский Университет в Санкт-Петербурге
Опубликован: 19.10.2005 | Доступ: свободный | Студентов: 1763 / 169 | Оценка: 4.31 / 3.82 | Длительность: 18:28:00
Лекция 3:

Настройка и обслуживание сетевых соединений

Протокол DHCP

Протокол DHCP (dynamic host configuration protocol) используется для динамического назначения параметров настройки подсистемы IP в любых операционных системах. Этот протокол организован по принципу клиент-сервер: клиент запрашивает информацию, делая широковещательный запрос в сеть, а сервер сообщает ее клиенту в ответ. Серверы DHCP используются для динамического назначения IP-адресов, а также для сообщения клиентам DHCP такой настроечной информации, как маска сети, адрес сервера имен и т.д. Обязательно назначается только адрес и маска, все остальное может быть назначено в зависимости от настроек сервера и клиента DHCP.

Протокол динамической настройки параметров системы имеет смысл использовать в сетях, где мы имеем дело с большим количеством компьютеров. Если у вас всего три компьютера, проще дать им фиксированные IP-адреса, чем заниматься настройкой DHCP. Дело в том, что DHCP имеет неоспоримые плюсы и столь же неоспоримые минусы:

Таблица 13.1. Недостатки и преимущества DHCP
+DHCP -DHCP
Не надо настраивать каждый компьютер в отдельности, системы Windows по умолчанию настраиваются как клиенты DHCP, при установке систем UNIX указать, что они - клиенты DHCP тоже очень просто Если сервер DHCP не доступен, многие из компьютеров сети вообще не смогут начать работу, и через определенное время, связанное с политикой назначения адресов, все компьютеры окажутся "отрезанными" от сети
Все настройки делаются централизованно, при изменении одной настройки (например, адреса основного шлюза сети), нет нужды менять настройки на каждом компьютере Сбои DHCP труднее диагностировать, т.к. они проявляются в виде жалоб пользователей (причем не одновременных), на невозможность войти в сеть, а это может быть вызвано дюжинами причин
Можно забыть о настройке параметров сети всех компьютеров, кроме DHCP -сервера, навсегда о них позаботится сервер DHCP Использование DHCP усложняет учет событий в сети: ведь в файлы протоколов заносятся IP-адреса компьютеров. Там, где адреса компьютерам выдаются динамически, один и тот же адрес может принадлежать разным компьютерам в разное время

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

Что касается сложности учета событий, то учет можно вести и по MAC-адресам сетевых карт. Это требует работы с командой arp и знания, в каких компьютерах какие сетевые адаптеры (в смысле - с какими именно MAC- адресами ) установлены. Думаете, это легко? Вспомните, когда вас последний раз интересовал MAC-адрес чьей-нибудь машины? Если в последнюю неделю хоть один из них попался вам на глаза, то вы - везунчик. Расскажите об этом подруге, она будет удивлена, что кому-то интересны эти дурацкие адреса.

Основное внимание в настройке DHCP -сервера следует уделить диапазону адресов, из которого они будут назначаться клиентам DHCP ( адресов должно хватить всем!), и доступности DHCP -сервера (этот компьютер не должен оказаться выключенным тогда, когда клиент хочет получить IP-адрес ).

Настройка DHCP-сервера

DHCP -сервер, т.е. программа, которая принимает запросы от DHCP -клиентов и отвечает им, в Solaris носит название in.dhcpd. Для настройки параметров DHCP -сервера следует модифицировать таблицы dhcptab и dhcp_network. Первая определяет группы различных параметров (например, совокупность диапазона назначаемых адресов, адреса шлюза и сервера имен), вторая устанавливает соответствие между определенными клиентами DHCP и IP-адресами. Эту таблицу можно использовать для задания явно указанных адресов отдельным компьютерам в сети. Подробнее формат файлов таблиц описан в руководстве по dhcptab(4) и dhcp_network(4) .

В Solaris DHCP -сервер выполняет также функции BOOTP-сервера (если это требуется) или может быть настроен как BOOTP-посредник (BOOTP-relay). Например, при старте программы dhcpmgr последняя спрашивает, хотим ли мы настроить BOOTP-relay или DHCP -сервер:

Окно dhcpmgr сразу после запуска

Рис. 13.2. Окно dhcpmgr сразу после запуска

Для комплексной настройки DHCP -сервера можно применять графическую программу dhcpmgr (/usr/sadm/admin/bin/dhcpmgr), которая предоставляет доступ ко всем необходимым параметрам DHCP -сервера и обладает функциональностью трех утилит управления DHCP -сервером: dhcpconfig, dhtadm и pntadm:

Рабочее окно dhcpmgr

Рис. 13.3. Рабочее окно dhcpmgr

Настройка DHCP-клиента

Для того чтобы система полагала некий сетевой интерфейс динамически настраиваемым через DHCP, достаточно команды

ifconfig имя_интерфейса dhcp start

После этого программа ifconfig автоматически вызовет демона dhcpagent, который занимается отправкой DHCP -запросов и настройкой интерфейса в соответствии с полученным ответом. Посмотреть параметры, полученные через dhcp, можно с помощью команды

ifconfig имя_интерфейса dhcp status

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

Трансляция адресов и фильтрация пакетов

"Трансляция", или "подстановка" адресов (NAT - network address translation) широко распространена в таких системах UNIX, как Linux и FreeBSD. В Solaris нет поставляемого в комплекте с системой пакета, который позволял бы выполнять трансляцию адресов. Так как эта функция может понадобиться в сети, в том числе и там, где устанавливать FreeBSD или Linux нецелесообразно, существуют по крайней мере два пакета - совершенно бесплатный и бесплатный на определенных условиях - которые обладают функциональностью NAT. Это пакет IPFilter (бесплатен и доступен для многих систем UNIX) и пакет SunScreen от Sun Microsystems для Solaris. Оба дают возможность как подставлять "честные" адреса при передаче пакетов в Интернет из сетей с "приватными" IP-адресами, так и выполнять "фильтрацию" пакетов, т.е. разрешать только определенные виды соединений, с учетом адресов и портов отправителя и получателя пакетов, используемых протоколов и т.п. Первый управляется из командной строки, второй - с помощью графического интерфейса.

IPFiter и SunScreen являются полноценными фильтрами пакетов. Программы этого типа также называют брандмауэрами (brandmauer) или файрволами (firewall).

Особенностью IPFilter является то, что, в отличие от других популярных программ фильтрации пакетов, она выполняет проверку пакета на соответствие ВСЕМ правилам таблицы фильтрации, поэтому, если в таблице правил за более строгими идут менее строгие правила, к пакету будут применены менее строгие. Например, если запрещен входящий трафик с адреса 192.168.8.7, но, кроме того, разрешен входящий трафик из сети 192.168.8/25, то фактически пакеты с адреса 192.168.8.7 будут проходить сквозь фильтр. Подробнее о правилах фильтрации можно узнать из руководства по соответствующим пакетам.

Программа IPFilter доступна по адресу http://cheops.anu.edu.au/~avalon/ip-filter.html (текущая версия 4.1.12), а SunScreen - http://wwws.sun.com/software/securenet/lite/download.html.