Настройка и обслуживание сетевых соединений
Протокол DHCP
Протокол DHCP (dynamic host configuration protocol) используется для динамического назначения параметров настройки подсистемы IP в любых операционных системах. Этот протокол организован по принципу клиент-сервер: клиент запрашивает информацию, делая широковещательный запрос в сеть, а сервер сообщает ее клиенту в ответ. Серверы DHCP используются для динамического назначения IP-адресов, а также для сообщения клиентам DHCP такой настроечной информации, как маска сети, адрес сервера имен и т.д. Обязательно назначается только адрес и маска, все остальное может быть назначено в зависимости от настроек сервера и клиента DHCP.
Протокол динамической настройки параметров системы имеет смысл использовать в сетях, где мы имеем дело с большим количеством компьютеров. Если у вас всего три компьютера, проще дать им фиксированные IP-адреса, чем заниматься настройкой DHCP. Дело в том, что DHCP имеет неоспоримые плюсы и столь же неоспоримые минусы:
Зная это, мы можем решать, будем ли мы экономить свое рабочее время (ставим 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 -сервер:
Для комплексной настройки DHCP -сервера можно применять графическую программу dhcpmgr (/usr/sadm/admin/bin/dhcpmgr), которая предоставляет доступ ко всем необходимым параметрам DHCP -сервера и обладает функциональностью трех утилит управления DHCP -сервером: dhcpconfig, dhtadm и pntadm:
Настройка 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.