Руководство системного администратора • третье издание { h h y с п п т п р


К ifconfig hmeO 192.108.21.48 netmask 255.255.255.0 up



Pdf просмотр
страница29/82
Дата12.11.2016
Размер7.94 Mb.
Просмотров14057
Скачиваний0
ТипРуководство
1   ...   25   26   27   28   29   30   31   32   ...   82
К ifconfig hmeO 192.108.21.48 netmask 255.255.255.0 up
f route add default 192.10B.21.254
Следующие примеры демонстрируют, как просмотреть статус сетевого интерфейса и содержимое таблиц маршрутизации. Команды, вызываемые посредством утилиты sudo, запускаются от имени суперпольза пптел я. Последний пример иллюстрирует особенность команды route в операционных системах Solaris и FreeBSD, отсутствующую в других системах при наличии аргумента get отображается информация о следующем переходе на пути к заданному узлу.
% ifconfig -а
1о0: flags=B4 9Демон routed ие имеет средств контроля доступа и принимает все поступающие сообщения
Узел, на котором была запушена команда routed -q, принимает запросы, ио не отвечает на них. При отсутствии опции -q узел оповещает о маршрутах. Такой узел может нарушить работу ссти, так как все осталы-гые демоны routed будут принимать его сообщения.
Гпово 13. Сети TCP/IP
331
m e t 1 2 7 , 0 . 0 . 1 n e t m a s k ffOOOOOO h m e O : f l a g f l - B 6 3 < U P , B R O A D C A S T , N O T R A I L E R S , R U N N I N G , M U L T I C A S T ? m t u 1 5 0 0 m a t 1 9 2 . 1 0 8 . 2 1 . 4 8 n e t m a s k f f f f f f O D b r o a d c a s t 1 9 2 . 1 0 8 . 2 1 - 2 5 5
% sudo ifconfig hmaO h m e O ; f l a g s - 8 6 3 < U F , B R O A D C A S T , N O T R A I L E R S , R U N N I N G , M U L T I C A S T » m t u 1 5 0 0 i n e t 1 9 2 . 1 0 8 . 2 1 . 4 8 n e t m a s k f f f f f f O O b r o a d c a s t 1 9 2 . 1 0 8 . 2 1 . 2 5 5 e t h e r 8 : 0 : 2 0 ; T 9 : 4 f : 4 9
Обратите внимание: когда команда ifconfig запускается от имени супер- пользователя, она отображает аппаратный адрес интерфейса, а когда ее выполняет рядовой пользователь, этого не происходит.
% n e t s t a t - n r
D e s t i n a t i o n
G a t e w a y
F l a g s
R e f
U s e
I n t e r f a c e
1 9 2 . 1 0 8 . 2 1 . 0 1 9 2 . 1 0 8 . , 2 1 . . 4 8 и
3 2 4 4 hmeO
2 2 4 . 0 . 0 . 0 1 9 2 . 1 0 8 . . 2 1 . . 4 8 и
3 0 hmeO d e f a u l t
1 9 2 . L O B . . 2 1 . . 2 5 4
UG
0 4 5 9 12">. 0 . 0 . 1 1 2 7 . 0 . 0 .
. 0
UH
0 2 9 £ l o D
% u d o route g a t a n c h o r . c s . c o l o r a d o . e d u r o u t e t o : a n c h o r . c s . C o l o r a d o . E D U d e s t i n a t i o n : d e f a u l t m a s k : d e f a u l t g a t e w a y : x o r - g w 2 i n t e r f a c e : hmeO f l a g s : < U P , G A T E W A Y , D O N E , S T A T I C » r e c v p i p e s e n d p i p e s s t h r r t t . m s e c r t t v a r h o p c t m t u e x p i r e
О
C
O
О
О
О 1 5 0 0 0
Конфигурирование DHCP
В Solaris имеется собственный DHCP-клиент. и эта операционная система заслуживает отдельной награды за самую простую и понятную процедуру конфигурирования данного клиента:
I f c o n f i g интерфейс dhcp Представьте себе, эта команда работает Она вызывает программу dhcpagent для получения параметров интерфейса от сервера DHCP и последующего конфигурирования интерфейса в соответствии с этими параметрами. Команде Ifconfig можно передавать различные опции, делающие интерфейс первичным, устанавливающие тайм-ауты, увеличивающие срок аренды параметров или запрашивающие отображение статуса интерфейса. Чтобы отменить конфигурацию клиента, выполните такую команду
I f c o n f i g интерфейс d r o p Все это очень удобно, но, как правило, требуется автоматически опрашивать сервер DHCP на этапе начальной загрузки. Данная процедура должна выполняться отдельно для каждого интерфейса. С этой целью необходимо создать файл /etc/dhcp.интерфейс Он может содержать дополнительные параметры, передаваемые команде ifconfig. Файл /etc/hostnanie.uwfleptfjebc по-прежнему должен существовать, чтобы интерфейс можно было активизировать. Но его можно оставить пустым, если применяется протокол DHCP. Когда файл hostname.интерфейс не является Ч ' >
332
Чость II. Роботов сетях
пустым, стартовые сценарии сначала статически конфигурируют интерфейс на основании содержимого этого файла, а затем осуществляют его перекон- фитурацию средствами DHCP. С помощью команды dhcpinfo можно узнать, какие параметры получены от сервера DHCP. Загляните также в файл /е1с/АЬср/интерфейс.Л\}с. который содержит текущие настройки указанного интерфейса. Программа dhcpagem управляет интерфейсом по протоколу DHCP. Помимо прочего оиа договаривается с сервером о продлении срока аренды и отменяет арендованные параметры, если они больше ненужны. Если интерфейс, получивший свои параметры от сервера, впоследствии переконфигурируется вручную, программа перестает управлять им. Программа dhcpagent собирает параметры, полученные от сервера стандартный маршрут, домен, адреса серверов имени т.д.), ноне управляет большинством из них напрямую. Вместо этого оиа записывает их в файлы соответствующих интерфейсов в каталоге /etc/dhcp. Далее эти параметры читаются сценариями /etc/rc.*. передаются в качестве аргументов команде route, помешаются в файл resolv.conf и т.д. в зависимости от конкретного параметра Программа dhcpagent регистрирует ошибки в системе Syslog (средство "daemon", вровень "err"),
- она также записывает информацию об ошибках в устройство /dev/console. Ошибки более низких уровней (предупреждающие сообщения, информационные сообщения и т.д.) по умолчанию не учитываются, если явно не включить их в командной строке посредством флага - IN.
Когда N равно 1, регистрируются предупреждающие сообщения при более высоких значениях регистрируются также сообщения самых нижних уровней. Если программе dhcpagent посылается сигнал USR1 (с помощью команды kill), оиа выводит информацию о состоянии аренды Найти конфигурационную информацию по конкретному интерфейсу можно в файлах каталога /etc/dhcp. Носам факт присутствия файла
интерфейс.dhc еше не означает, что программа dhcpagent управляет данным интерфейсом срок аренды мог истечь. Динамическое переконфигурирование и настройка Команда ndd в Solaris позволяет переконфигурировать драйвер устройства в выполняющейся системе. Возможно, "переконфигурировать'' — слишком сильное слово. Просто каждый драйвер предоставляет доступ к некоторым своим параметрам, которые можно просмотреть ив определенных случаях — изменить. Именно для просмотра конкретных параметров мы чаще всего применяем команду ndd. Например, с ее помощью можно узнать, с какой скоростью работает плата 10 Мбит/с или 100 Мбит/с. Синтаксис этой команды в Solaris почти такой же. как ив, но документация к ней гораздо хуже. Базовый синтаксис, упоминаемый на шап-странице, следующий ndd [ - s e t ] устройство ? I переменная значение
При наличии аргумента ? (его нужно защищать от интерпретации \ ? ) команда ndd возвращает список переменных, распознаваемых драйвером указанного устройства. Если задать имя переменной, будет получено ее значение, а если казать флаги значение, оно будет присвоено заданной переменной.
Гпово 13. Сети TCP/IP
333
К сожалению, в документации не упоминаются возможные имена устройств ничего не говорится о том. что для доступа к одним устройствам например, ip и hmc> требуются права суперпользователя, а к другим (tcp к udp) — нет. В случае отсутствия соответствующих прав доступа команда odd выдает загадочное сообщение об ошибке следующего вида
" c o u l d n ' t p u s h m o d u l e " i p " , N o s u c h d e v i c e o r a d d r e s s " В табл. 13.16 перечислены устройства, которые нам удалось обнаружить при работе с командой ndd.
Тоблицо 13.16. Устройство, с которыми роботоет комондо ndd в Salons Устройство Описание Имена переменных
/dev/tcp Переменные протокола TCP t c p
/dev/udp Переменные протокола UDP
U d p -
/dev/fp Переменные протокола IP ip_*
/dev/icmp Переменные протокола ICMP icmp_*
/dev/rawip Та же, что /dev/icmp lcmp *
/dev/ягр Переменные протокола ARP arp_*
/dev/hme Переменные Ethernet нет конкретной схемы Скорость работы большинства современных плат — либо
10 Мбит/с, либо 100 Мбнт/с. В наших сетях по мере перехода на новые технологии нам часто приходится выяснять, с какой скоростью в настоящий момент работает сетевая плата. Вот удобный сценарий, написанный Тоддом
Уилльямзом (Todd Williams) и предназначенный для определения параметров
Ei he платы посредством команды ndd
# : / b m / s h
[ ' n d d / d e v / h m e l i n k s t a t u s ' - e a 1 ] STATUS-UP | | STATUS-DOWN
[ ' n d d / d e v / h m e l i n k s p e e d
1
- e q 1 1 SPEED=100 | | SPEED=10
[ ' n d d / d e v / h m e l i n k _ m c d e ' - e q LI bS MODE-FULL 11 MODE=HALF e c h o " e t h e r n e t i s S{STATUS}, c u n n i n g S ' S F E E D } Mbps S'MODEl d u p l e x " Результаты работы сценария выглядит примерно так e t h e r n e t - s UP, r u n n i n g 1 0 Mbps HALP d u p l e x Если перевести это иа язык переменных, получим следующее
• l i n k _ s t a t u s = 1. если интерфейс активен, 0 — если неактивен
• l i n k s p e e d = I, если скорость равна 100. 0 — если она равна 10;
• li.nk_iTOde = 1. если интерфейс полнодуплексный. О — полудуплексный Есть друтой набор переменных, которые задают скорость работы и дуплексный режим при наличии нескольких интерфейсов. Следующий сценарий отключает процедуру автоматического согласования обоих интерфейсов, переводит первый интерфейс в полудуплексный режим со скоростью
10 Мбнт/с, а второй — в полнодуплексный режим со скоростью работы
100 Мбит/с:
# ! / b i n / s h n d d - s e t / d e v / h m e i n s t a n c e 0 n d d - s e t / d e v / h m e a d v a u t o n e g c a p 0 n o d - s e t / d e v / h m e a d v _ l 0 0 f d x _ c a p 0 334
Чость II Роботов сетях
ndd -вес /dev/hme adv_lOOhdx_cap 0 ndd -set /dev/hme advlOfdxcap 0 ndd -set /dev/hme adv_10hdx_cap 1 ndd -set /dev/hmfe instance 1 ndd -set /dev/hme adv_autoneg_cap О ndd -set /dev/hme adv_100fdx_cap 1 ndd -set /dev/hme adv_100hdx_cap D ndd -sec /dev/hme adv_10fdx_cap 0 naa -set /dev/hme advlOhcLxcap С Если процедура автосогласования в имеющейся сетевой плате не работает, можно отключить ее и задать параметры работы платы вручную, как это сделано в данном примере. Если имеется доступ к системе HP-UX, запустите команду ndd с флагом
-I» (вызов справки, чтобы получить доступ к интерактивному руководству, где можно узнать имена устройств и переменных, а также назначение этих переменных. Имена многих переменных там такне же, как н в Solaris. Безопасность, брандмауэры, фильтрация и система NAT В табл. 13.17 описано, как в Solaris реализован ряд технологий, касающихся безопасной работы в сети О них кратко рассказывалось в параграфе. Большинство настроек можно изменить с помошью команды ndd. Таблица 13.17. Поддержка технологий, связанных с сетевой безопосностью, в Solaris х п Переменной, изменяемой
Технологи, По умолчанию ^ ^
м
Щ
Перенаправление IP- отключено ip forwaraing: 0 — отключено. 1 — пакетов включено
Переадресуюшие принимаются Отменить это поведение нельзя, можно пакеты лишь изменить значение TTL Направленная разрешена ip_forward_src_rauted: О маршрутизация Широковещательные разрешены ip_respond_to_echo_broadcast: О пакеты ipforward directed broadcasts: О Как уже говорилось, не следует использовать систему (или систему) в качестве брандмауэра или шлюза NAT; для этой иели лучше купить специализированное оборудование, например систему Cisco PIX. В Solaris этому правилу следовать легче, поскольку в дистрибупте не входит ПО межсетевой зашиты и 1Р-фильтрации. Тем не менее в Solaris 1гмеется библиотека pfmod, с помошью которой можио создавать модули для фильтрации пакетов. Компания Sun также предлагает пакет программной организации брандмауэра для Solaris, но его нужно покупать отдельно Сторонние поставщики также разрабатывают программы фильтрации и системы N A T ДЛЯ Solaris. Наш фаворит — пакет IPFUter. Это бесплатное решение, распространяемое на условиях открытой лицензии и работающее на оборудовании SPARC или Intel. Пакет доступен последующему адресу htt р://с heops.anu.edu.au/
avalon/ip-n her. html
Гпово 13. Сети TCP/IP
335
Детали конфигурирования программ ipf и ipnat, входящих в этот пакет, приведены в параграфе 13.15. Коммерческая система Firewall-1 компании Checkpoint работает в Solan's и обеспечивает функциональные возможности, аналогичные пакету IPFilter. Правда, она достаточно дорогая и, по слухам, не очень хорошо зарекомендовала себя на узлах, занимающихся Web-хостингом.
Конфигурирование Р Р Р В Solaris имеется встроенный пакет "асинхронного" протокола РРР, поскольку он предназначен для уттрааления соединениями по стандартным последовательным линиям связи (например, модемами. Так как этот пакет является неотъемлемой частью Solaris, ненужно выполнять утомительные этапы по инсталляции соответствующего модуля ядра. Проверить наличие пакета можно с помощью такой команды
# p k g i n f o | g r o p р р р Если пакет присутствует в системе, будут получены следующие результаты РРР daemon c o n f i g f i l e s system SUNWapppu PPP/IP Async PPP daemon, l o g i n s e r v i c e system SUNWpppk. PPP/IP and I P d i a l u p Device D r i v e r s Если пакет еще не установлен, придется сделать это вручную. Соответствующую информацию можно получить иа странице, посвященной команде pkgadd. В табл. 13.18 перечислены файлы, отвечающие за конфигу- рирование протокола РРР и управление им в Solaris. Таблица 13.18. Файлы, связанные с протоколом РРР в Solaris Файл Назначение
/etc/knit.d/asppp Сценарий начальной загрузки для коммутируемых РРР-со- единений
/usr/sbin/aspppd Демон, управляющий РРР-соединениямл
/etc/asppp.cf Конфигурационный файл, в котором содержится список соединений
/usr/sbin/aspppls Регистрационный интерпретатор команд для коммутируемых соединений
/var/adm/log/asppp.log Файл регистрации сообщений РРР
/tmp/.asppp.fifo Используется демоном aspppd для коммутируемых соединена тап-странице, посвященной демону aspppd, говорится о том, что его регистрационный файл называется /etc/log/asppp.log. Это неверно. Выполняя команду grep над стартовыми сценариями и команду strings над двоичным файлом демона, мы выяснили, что файл на самом деле находится в каталоге
/var/adm. а не /etc. Мы были уверены, что протокол U U C P давно ушел в небытие, но (увы)
РРР-пакет в Solaris пользуется старыми конфигурационными файлами UUCP для задания РРР-серверов и управления модемами. Остается только тяжела вздохнуть. Чтобы установить РРР-соединение с удаленным узлом, необходимо
336 Часть II Работа в сетях
скачала добавить записи о модеме и узле в файлы Systems, Dialers ив каталоге /etc/uucp Мы описывали детали этой процедуры в предыдущем издании книги, но решили не включать данный материал здесь. Если у вас есть предыдущее издание, обратитесь к главе 30, а лучше всего — купите терминальный сервер и избавьте себя от ненужной головной боли. После того как записи о модеме и удаленном узле добавлены в файлы, необходимо отредактировать файл /etc/asppp-сГ. поместив в него адрес соединения и связав этот адрес с записью в файле Systems. Ниже показан пример файла /etc/asppp.cf, в котором описано соединение с узлом ppphub (192.225.32.1), устанавливаемое из узла mybost (192.225.32.2):
# залаем- адреса псе в дои н тер фей с а i f c o n f i g i p a p t p O p l u m b 1 9 2 . 2 2 5 . 3 2 . 2 1 9 2 . 2 2 5 . 3 2 . 1 u p f f динамические параметры соединения с псе в дои н тер фей сом _ s y s t e m _ n a m e p p p h u b # тоже, что в файле i m e o u t 6 0 0 тайма утес лине т связи в течением и нут Далее нужно вручную запустить РРР-демона с помощью такой команды
# / a t c / i n i t d/aappp s t a r t Этот этап необходим, только когда осуществляется самое лервое конфи- гурирование протокола РРР. При последующих перезагрузках системы демон будет запускаться программой init. Если все прошло успешно (сообщения об ошибках записываются в файл /var/adm/log/asppp.log). то можно обращаться к удаленному узлу с помошью программы ssh или ftp. Особенности сетевого конфигурировония В Solaris имеются две версии команды ifconfig: одна — в каталоге /sbin. а другая — в каталоге /usr/sbin. Впервой из них применяется фиксированный порядок поиска соответствия между сетевыми именами и I Р-адресами: сначала Просматривается файла затем — база данных DNS. Во второй версии последовательность поиска определяется на основании файла /etc/nsswitch.conf: это более "естественное" поведение. Когда команда
/sbin/ifconfig вызывается на этапе начальной загрузки, предполагается, что в файле /etc/hosts содержится достаточно записей для активизации интерфейсов и обращаться к серверу не потребуется. Результаты работы команды Ifconfig -а будут разными в зависимости оттого, кто ее вызывает пользователь root или рядовой пользователь. Это касается обеих версий команды. В первом случае помимо адресов и параметров отображаются также МАС-адреса.
Solaris разрешает менять МАС-адрес сетевой платы с помощью команды ifconfig. Мы считаем это ошибкой, а не полезной возможностью.
13.13. Сетевое конфигурирование HP-UX Операционная система HP-UX заслуживает золотую медаль за простоту сетевого конфигурирования. Все конфигурационные параметры хранятся в файле /etc/rc.config.d/neteonf. Значения параметров из этого файла (а также всех других файлоа в каталоге re.config.d) записываются в переменные среды на этапе начальной загрузки они используются сценарием /sbin/rc Файл
Гпово 13. Сети TCP/IP
337
netconf снабжен комментариями, в которых поясняется, что должно быть записано в ту или иную переменную и для чего она нужна. Базовое конфигурирование Чтобы назначить компьютеру имя и сконфигурировать его первый сетевой интерфейс, отредактируйте файл netconf, присвоив значения следующим переменным
HOSTNAME
INTERFACE_NAME[0]
I P A D D R E S S [ 0 |
SUBNET MASK[0] Например
HoSTNAME="cf i s a s t e r
INTERFACE_NAME [G] = lariO
I F _ A D D R £ S S [ 0 ] = 1 9 2 . 1 0 8 . 2 1 . 9 9
S U B N E T M A S K [ 0 ] = 2 5 5 . 2 5 5 . 2 5 5 . 0 Второй интерфейс будет иметь индекс 1. О его присутствии говорит значение переменной NET CARDS. равное 2. Файл netconf содержит также переменные, предназначенные для конфи- гурирования статических маршрутов и запуска демона маршрутизации. Чтобы задать стандартный маршрут, нужно выполнить следующие присваивания.
R 0 U T E _ D E S T I N A T 1 0 N [ C ] = d e f a u l t
ROUTE^MASK [ 0 ] *="*' г 0 ] = 1 9 2 . 1 0 8 . 2 1 . 2 5 4
ROUTE_COUNT[Oj=l
Переменная ROUTE_MASK нужна для сети, в которой маска подсети отличается от стандартной маски, используемой в данном классе адресов.
Переменная ROUT£_COUNT должна содержать 0, если в качестве шлюза выступает локальный компьютер, и 1, если шлюз расположен на удаленной машине. Параметры остальных статических маршрутов задаются в переменных с индексами [] >. у2\ и т.д. Эти значения передаются непосредственно команде route. Например, переменная ROUTE_DESTINATION
может содержать ключевое слово default, как показано выше, либо предложение адрес,
либо предложение host имя.
В HP-UX используется демона не routed. Необходимо задать переменную GATED равной I, а в массив GATED_ARG3 записать список аргументов, передаваемых демону. Подробнее о конфигурировании этого демона рассказывается в главе 14. Много полезной информации содержится па гпап-странице, посвяшенной маршрутизации (man routing). Многие переменные в файле netconf могут содержать либо сетевое имя. либо адрес. Если указано имя, оно обязательно должно присутствовать в файле /etc/hosts. На этапе начальной загрузки система просматривает только файл /etc/hosts и не использует никаких других механизмов поиска имен. В этом файле сначала должны идти полностью определенные доменные имена, затем короткие имена и псевдонимы. В системе имеется команда Ian scan, которая отображает информацию об имеющихся сетевых интерфейсах. Команда ifconfig -а не работает, зато работает команда ifconfig интерфейс. Имена сетевых интерфейсов начинаются
Ч6С
Чость I). Робота в сетях
с префикса "lan" или "snap". Префикс "lan" обозначает канальный уровень
Ethernet, а префикс "snap" — спецификацию IEEE 802.3. Первый интерфейс обозначается 1апО, второй — l a n l и т.д. В HP-UX. как ив, имеется концепция подключения интерфейсов Но все интерфейсы подключаются автоматически, когда команда ileonfig назначает им адреса.
SAM — это системная административная утилита, ос на шеи пая меню и позволяющая конфигурировать сетевые интерфейсы, а также выполнять многие другие административные задачи. Примерь конфигураций Чтобы вручную подключить сетевой интерфейс и задать стандартный маршрут, нужно выполнить команды следующего вида
I f i f c o n f i g l a n 0 1 9 2 . 1 0 6 . 2 1 . 9 9 n e t m a o k O x f f f f f f O O
# r o u t e a d d d e f a u l t 1 9 2 . 1 0 B . 2 1 . 2 5 4 1 * Команда lanscan выводит список сетевых интерфейсов, имеющихся в системе, и параметры связанных сними драйнеров. Команда lanscan -v отображает чуть больше информации. Ниже показан ряд примеров. Поле MAC со значением ETHER подразумевает, что именем устройства будет 1 а л 0 , а ие snapO. Команда ifconlig подтверждает, что это правда.
% l a n s c a n
H a r d w a r e S t a t i o n C r d H a w N e t - I n t N M MAC
P a t h A d d r e s s I n # S t a t e N a r a e P P A I D T y p e
B / 0 / 2 0 / 0 0 x 0 0 1 . . . 0 U P l a n O s n a p O 1 ETHER
% i f c o n f i g l a n O l a n O : f l a g s = 8 4 3 < U P , B R O A D C A S T , R U N N I N G , M U L T I C A S T > i n e t n e t m a s k f f f f f f O O b r o a d c a s t 1 9 2 . 1 0 8 . 2 3 . 2 5 5
% i f c o n f i g snapO i f c o n f i g : n o s u c h i n t e r f a c e Команда netsiai -i отображает имена сетевых интерфейсов, а команда netstat -nr выводит содержимое таблицы маршрутизации
% n e t * t a t - i
N a m e M t u
N e t w o r k
A d d _ e s s
I p k t s o p k t s l a n O 1 5 0 0 1 9 2 . 1 0 8 . 2 1 . 0 d i s a s t e r . x o r . c o m
6 0 4 7 3 6 4 6 l o O 4 1 3 6 1 2 " ) . 0 . 0 . 0 l o c a l h o s t - x o r - c o m
2 3 1 2 3 1
% netstat -nr
R o u t i n g r u b l e s
D e s t / N e t m a s k
G a t e w a y
F l a g s
R e f s
U s e
I n t
P m t u
1 2 7 . 0 0 . 1 1 2 7 . 0 . 0
UH
0 2 3 1 l o O
4 1 3 6 1 9 2 . 1 0 8 2 1 . 9 9 1 9 2 . 1 0 8 2 1
. 9 9 UH
8 i a r
4 1 3 6 1 9 2 . 1 0 8 . 2 1 . 0 1 9 2 . 1 0 8 . 2 1 . 9 9 U
2 0 l a n O
1 5 0 0 1 2 7 0 0 . 0 1 2 7 . 0 . 0 . 1
U С
0 l o O
4 1 3 6 d e f a u l t
1 9 2 . 1 0 8 . 2 1 . 2 5 4 UG
0 СВ счетчик числа переходов не требуется по умолчанию он равен 0, если Fie указано иное. В более ранних версиях системы счетчик должен был присутствовать.
H P - D L P I D L P I
S u p p o r t M j r t
Y e s 1 3 0 1 9 2 . 1 0 8 . 2 1 . 9 9
Гпово
13. Сети TCP/IP
339
Программа lanadmin отображает статистику сетевого трафика для каждого обнаруженного интерфейса. С ее помощью можно управлять работой интерфейсов. Эта программа оснащена текстовым меню, упрощающим доступ к нужной информации. Ниже показан пример сбора данных по интерфейсу l a n 0 :
% lan&dmln
LOCAL AREA NETWORK ONLINE ADMINISTRATION, V e r s i o n 1 . 0
C o p y r i g h t 1 9 9 4 H e w l e t t P a c k a r d C o m p a n y .
A l l r i g h t s a r e r e s e r v e d .
T e s t S e l e c t i o n m o d e . l a n = • LAN I n t e r f a c e A d m i n i s t r a t i o n m e n u - D i s p l a y t h i s menu q u i t - T e r m i n a t e t h e A d m i n i s t r a t i o n t e r s e - D o n o t d i s p l a y c o m m a n d menu v e r b o s e = D i s p l a y command m e n u
E n t e r c o m m a n d ; l a n
LAN I n t e r f a c e t e s t m o d e . LAN i n t e r f a c e PPA N u m b e r c l e a r - C l e a r s t a t i s t i c s r e g i s t e r s d i s p l a y * = D i s p l a y LAN I n t e r f a c e s t a t u s / s t a t i s t i c s e n d - E n d LAN I n t e r f a c e A d m i n . , g o u p I l e v e l m e n u - D i s p l a y t h i s menu p p a = PPA N u m b e r o f t h e LAN I n t e r f a c e q u i t . - T e r m i n a t e t h e A d m i n , r e t u r n t o s h e l l r e s e t = R e s e t LAN I n t e r f a c e , e x e c u t e s e l f t e s t s p e c i f i c = G o t o D r i v e r s p e c i f i c menu
E n t e r c o m m a n d : display
LAN INTERFACE STATUS DISPLAY
T h u , Mar 2 , 2 0 0 0 0 0 : 4 1 : 2 4
= С
PPA N u m b e r
D e s c r i p t i o n
R e v 0 .
T y p e ( v a l u e )
MTU S i z e
S p e e d
S t a t i o n A d d r e s s
A d m i n i s t r a t i o n S t a t u s ( v a l u e )
O p e r a t i o n S t a t u s ( v a l u e ) l a n O HP 1 0 / 1 0 0 TX H a l f - D u p l e x Hw e t h e r n e t - c s m a c d ( 6 )
1 5 0 0 10 Ох Ю ЯЗ О З е Э е б u p ( 1 ) up(l)
I n b o u n d U n i c a s t P a c k e t s
I n b o u n d N o n - U n i c a s t P a c k e t s
4 2 0 4 5 5 9 4
I n b o u n d Unknown P r o t o c o l s = 5 0 1
O u t b o u n d O c t e t s = • 4 5 4 9 0 3
O u t b o u n d U n i c a s t P a c k e t s = 36D3
D e f e r r e d T r a n s m i s s i o n s
L a t e C o l l i s i o n s
E x c e s s i v e C o l l i s i o n s К тому времени, когда была запущена эта программа, система работала всего 3 часа глубокой ночью (мы добавляли диск, поэтому часто перезагружались. В результате график оказался очень низким. Помимо команд lan и
340
Чость II. Робота в сетях
display, результаты работы которых показаны выше, мы также попытались выполнить команды clear (обнуляет счетчики) и reset (сбрасывает конфигурационные параметры интерфейса, но поскольку у нас не было прав суперпользователя, нам было отказано в этом.
Конфигурирование D H C P Как ив случае других сетевых параметров, включить использование протокола DHCP иа этапе загрузки можно путем задания переменных в файле
/etc/rc.conflg.d/netconf. В данном случае переменные хранятся в массиве
DHCP_ENABLE; индекс [0] означает первый интерфейс, индекс [1] — второй и т.д. Например, запись
D H C P _ E N A B L E [ 0 ] - 1 переводит первый интерфейс в режим DHCP. Сетевая плата получит свой
ГР-адрес, маску подсети и другие параметры от сервера, расположенного в локальной сети. Если задать переменную равной 0, поддержка протокола DHCP будет отключена придется назначать плате статический адрес в файле netconf. Если запись DHCP ENABLE отсутствует, считается, что соответствующая переменная по умолчанию равна 1. Сценарий /sbin/auto_parms берет на себя задачу взаимодействия с сервером Программа dhcpdb2conf записывает параметры DHCP, полученные сценарием autojparms, в файл netconf. из которого на этапе начальной загрузки извлекается конфигурационная информация. На стороне сервера система HP-UX реализует сервер в виде демона bootpd, который также обрабатывает запросы ВООТР Программа dlicptools записывает параметры DHCP в базу данных демона, проверяет конфигурационные файлы на предмет наличия ошибок, возвращает неиспользуемые адреса и выполняет множество других задач. Если возникнут проблемы, диагностическая информация программы dlicptools окажется очень кстати. Создаваемые ею файлы помешаются в каталоги в их именах присутствует компонент "dhcp".
Конфигурировать протокол DHCP можно также с помощью утилиты
SAM. Могут возникать проблемы совместимости, если клиенты HP-UX работают с посторонними серверами или. наоборот, серверы HP-UX взаимодействуют со сторонними клиентами. Динамическое пере кон фигурирование и настройка Как ив, можно применять команду ndd лля настройки различных сетевых параметров (более 100). Будучи вызванной в интерактивном режиме, команда ndd меняет значения "налету. Чтобы изменения стали постоянными, нужно добавить их в файл /etc/rc.config.d/nddconf, который читается на этапе начальной загрузки. Опция -h (вызов справки) очень удобна. При отсутствии дополнительных аргументов команда ndd -h выводит список всех настраиваемых параметров. Если указано имя переменной, отображается информация о том, для чего нужна переменная, каковы ее минимальное, максимальное и стандартное значения. Например
% ndd -h | grop aourcs i p _ f o r w a r d _ s r c _ r o u t e d - C o n t r o l s f o r w a r d i n g o f s o u r c e r o u t e c p a c k e t s
% n d d - h i p _ _ r o r * a r d _ « r c _ r o u t e d
Гпово 13. Сети TCP/IP
341
i p _ f o r w a r d _ s r c _ c o u t e d :
S e t t o 1 t o f o r w a r d s o u r c e - r o u t e d p a c k e t s ; s e t t o 0 t o d i s a b l e f o r w a r d i n g . I f d i s a b l e d , a n I CMP D e s t i n a t i o n
U n r e a c h a b l e m e s s a g e i s s e n t t o t h e s e n d e r o f s o u r c e - r o u t e d p a c k e t s n e e d i n g t o b e f o r w a r d e d . 1 0 , 1 ] D e f a u l t : 1 Как показывает команда ndd. в данной версии HP-UX (П) по умолчанию поддерживается направленная маршрутизация. (Надеемся, что, когда значение по умолчанию меняется, документация к команде ndd тоже обновляется) Чтобы просмотреть и модифицировать значение переменной i p _ f o r w a r d _ s r c _ r o u t e d , воспользуемся опциями -get и -set:
% ndd - g e t / d a v / i p i p f o r w a r d s r c r o u t e d
1
% sudo ndd - s e t / d e v / i p i p _ f o r w a r d _ « r c _ r o u t e d 0
% ndd - g e t / d e v / i p i p _ f o r w a x d _ a r c _ r o u t e d
0 Чтобы навсегда отключить направленную маршрутизацию, добавьте приведенные ниже строки в файл nddconf: t отключаем направленную маршрутизацию
TRANSPORT N A M E [ 0 ] = i p
N D D _ N A M E [ 0 ] - i p _ f o r w a r d s r c r o u t e d
NDD_VALUE[0]=0 Для следующей модифицируемой переменной нужно добавить в файл nddconf те же три строки, указав имя переменной и ее значение, а также индекса не 0. К сожалению, в этом файле можно задать всего 10 параметров. Безопасность, брандмауэры, фильтрация и система N A T В табл. 13.19 описано, как в HP-UX реализован ряд технологий, касающихся безопасной работы в сети О них кратко рассказывалось в параграфе 13.9. Большинство настроек можно шменить с помощью команды ndd Таблица 13.19. Поддержка технологии, связанных с сетевой безопасностью, в HP
-UX Технология По умолчанию Переменная, изменяемая командой ndd
Перенаправление пакетов динамическое ip f o r w a r d i n g : 0 — отключено. 1 — включено динамически
Переалрссующис пакеты принимаются Отменить это поведение нельзя Направленная маршрутнзяиия разрешена i p f o r w a r d _ s r c r o u t e d : 0 Ш нроковешателъ- ные пакеты разрешены i p f o r w a r d d i r e c t e d b r o a d c a s t s : 0 Разрешено для всех интерфейсов, номер которых больше 1. В HP-UX пет встроенных пакетов межсетевой защиты и фильтрации, за исключением РРР-соединений (см. далее. Система NAT также не поддерживается. Правда, Даррен Рид (Darren Reed) уже перенес свой бесплатный пакет IPFilter в HP-UX.
342
Чость II Работе в сетя*
Версия демона inetd в HP-UX содержит встроенные функции работы с тгротоколом TCP. которые можно конфигурировать посредством файла
/var/adm/ine Id .see Подробности даны в параграфе 21.7. Мы рекомендуем использовать специализированное оборудование, например систему Cisco PIX. в качестве брандмауэра. системы для этой роли слишком небезопасны. Если вас интересует, как именно ОС HP-UX оказывается незащищенной, обратитесь по адресу http://peopIe.hp.se/stevesk/bastionl 1 .html В этом документе описано, какие шаги следует предпринять, чтобы превратить компьютер, работающий под управлением HP-UX 11.00. в "бастион" на пути в незащищенную сеть. В нем перечислены все "ловушки, которые необходимо отключить в HP-UX, чтобы машина могла безопасно работать в Internet. Нам бы хотелось узнать, есть ли аналогичные узлы, посвященные другим рассматриваемым в книге системам
Конфигурирование Р Р Р В HP-UX входит РРР-пакет компании Morning Star, используюшнй tun — драйвер туннелей. Конфигурирование протокола РРР в HP-UX осуществляется почти также. как в Solaris. В обеих системах используется конфигурация HoneyDanBer UUCP, нов она оставлена без изменений, а в HP-UX файлы перемешены в другие катало!и и улучшена интерактивная документация. В табл. 13.20 перечислены файлы, связанные с протоколом РРР О некоторых из них рассказывалось в параграфе, посвященном конфигури- рованию РРР в Solaris. Таблица 13.20. Файлы, связанные с протоколом РРР в HP-UX Файл Назначение
/elc/ррр/Auth Содержит имена одноранговых компьютеров и параметры аутентификации Описывает физические устройства (модемы)
/etc/ppp/Dialers Содержи описание телефонных номеров для каждого систем нога модема
/etc/ppp/Filter Определяет параметры автоматическою набора номера, фильтрации и регистрации пакетов
/etc/ppp/Keys Содержит ключи для шифрования соединений
/etc/ppp/Systems Включает информацию о соседних системах
/etc/ppp/Autostart Содержит команду запуска демона pppd с соответствующими аргументами
/iLsr/bin/pppd Демон РРР Все man-cTpamiuhi, связанные с этими файлами, написаны качественно, ноу них странные имена имя каждой страницы начинается с префикса "ррр", за которым следует имя файла. Например, команда man Systems не работает, зато команда man ppp.Systems отображает летальное описание формата файла Systems, включал несколько примеров. В каталоге е содержится также ряд образцов для каждою конфигурационного файла. Ниже показан фрагмент файла Systems, езv: л им
Гпово 13. Сети TCP/IP
343
строкам предшествовали сотни строк комментариев, почти целиком повторяющих шап-странииу ppp.Systems:
# E x a m p l e s o f e n t r i e s t h a t w e u s e a t M o r n i n g S t a r T e c h n o l o g i e s
# t r o u g h у Any ACU 1 9 2 0 0 - P E P 5 5 5 1 2 1 2 o g l n : — o g i n : P r e m o r a s s w o r a : \ q k j L J H I u D
# m a n a t e e Any ACU 3 6 4 0 0 5 5 5 2 4 6 6 o g i n : — o g i n : P r e m o r a s s w o r d : \qd7DW3KiZ В каталоге /etc/ppp/examples находятся более специфичные примеры, посвященные терминальным серверам различных производителей. Чтобы протокол РРР работал в HP-UX, нужно заполнить файлы информацией о модеме и системе, с которой устанавливается соединение, включая регистрационное имя и пароль, передаваемые терминальному серверу на противоположном коице соединения. Необходимо создать и отредактировать сценарий /elc/ppp/Autostart, для того чтобы при установлении соединения запускался лемон pppd с нужными параметрами. Имеется образец такого сценария — Autostart.ex, снабженный хорошими комментариями. На этапе начальной загрузки один из сценариев в каталоге /sbln/rc2.d вызовет сценарий
Autostart автоматически. Особенности сетевого конфигурирования Операционная система HP-UX не любит, когда длина имени компьютера превышает 8 символов. Длинные имена можно использовать, но предварительно следует задать имя узла в формате UUCP в файле /etc/rc.con- lig.d/NODENAME, причем длина имени должна быть 8 символов или меньше.
13.14. Сетевое конфигурирование Red Hat В Red Hat большинство сетевых конфигурационных файлов хранится в каталогах /etc/sysconfig и /etc/sysconfig/network-scripts. Эта операционная система поддерживает протоколы DHCP и РРР, а также фильтрацию. В стеке сетевых протоколов имеется поддержка избирательных подтверждений, которые иногда улучшают производительность TCP в загруженных соединениях. Базовое конфигурирование Сетевое имя компьютера задается в файле /etc/syscon fig/network. где также определяется DNS-домеи и стандартный шлюз. К примеру, ниже показано содержимое файла network для компьютера, в котором одна плата и перенаправление пакетов не поддерживается
NETWORKING-yes
FORWARD_IPV 4 = f a l s e
H O S T N A M E = r e d h a t . x o r . c o m
DQMAINNAME-xor.com
G A T E W A Y - 1 9 2 . 1 0 8 . 2 1 . 2 5 4
GATEWAYDEV=ethO Имя компьютера должно также присутствовать в файле /etc/hostname. В настоящее время, однако, этот файл используется только для обратной совместимости. Данные, касающиеся конкретных интерфейсов, находятся в файлах
/etc/sysconfig/network-scripts/ifcfg-wiwiep^euc, где последний компонент — имя
344
Чость II. Робота в сетях
сетевого интерфейса. В этих файлах можно задавать адрес, маску подсети, сетевой и широковещательный адреса каждого интерфейса. Имеется также строка, в которой вы можете указать, должен ли интерфейс активизироваться на этапе начальной загрузки, что особенно полезно в портативных компьютерах. Обычно в системе присутствуют файлы лля платы (ethO) и интерфейса обратной связи (о. Вот каким будет содержимое файлов ifcfg-ethO и ifcfg-loO для компьютера redhat.xor.com, описанного выше в файле network:
D E V I C E e t h O
I P A D D R - l 9 2 . 1 O B . 2 1 . 7 3
N E T M A S K = - 2 5 5 . 2 5 5 - 2 5 5 . 0
N E T W 0 R K = 1 9 2 . 1 0 8 . 2 1 . 0
B R O A D C A S T ^ l 9 2 . 1 0 8 - 2 1 . 2 5 5
O N B O O T - y e s И
D E V I C E - l O
I P A D D R - 1 2 7 . 0 . 0 - 1
N E T M A S K = 2 5 5 . 0 . 0 . 0
N E T W 0 R K = 1 2 7 . 0 . 0 . 0
B R O A D C A S T = 1 2 7 . 2 5 5 . 2 5 5 . 2 5 5
O N B O O T - y e s В Red Hat имеется ряд удобных сценариев, которые упрощают управление интерфейсами. Сценарии /sbin/ifup и /sbin/ifdown принимают в качестве аргумента имя интерфейса и соответственно подключают или отключают интерфейс. После изменения любого файла в каталоге /etc/syseonfig не забудьте выполнить последовательно команды /sbin/ifdown интерфейс и
/sbin/lfup интерфейс. А еще лучше перезагрузить систему, чтобы быть уверенным в отсутствии скрытых побочных эффектов. Если нужно управлять всеми интерфейсами одновременно, воспользуйтесь сценарием /etc/rc.d/init.d/network, принимающим аргументы start, slop, restart и status. На этапе начальной загрузки этот сценарий вызывается с аргументом start. Стартовые сценарии также могут конфигурировать статические маршруты. Любой маршрут, внесенный в файл /etc/sysconfig/static-routes, добавляется в таблицу маршрутизации на этапе начальной загрузки. Записи из этого файла содержат аргументы для команды route add. e c h O r e t 1 3 0 . 2 2 5 . 2 0 4 . 4 8 n e t m a s k 2 5 5 . 2 5 5 . 2 5 5 . 2 4 8 g w 1 3 0 . 2 2 5 . 2 0 4 . 4 9 e t h l r e t 1 9 2 . 3 8 . 8 . 0 n e t m a s k 2 5 5 . 2 5 5 . 2 5 5 . 2 2 4 g w 1 9 2 . 3 8 . 8 . 1 2 9 Первым указывается интерфейс, за ним — аргументы команды route: тип маршрута ( n e t или h o s t ) , адресуемая сеть, маска дтя этой сети и, наконец, шлюз для следующего перехода. Ключевое слово gw необходимо. В существующих ядрах Linux не поддерживается параметр m e t r i c команды route, но его можно добавить в таблицу маршрутизации, чтобы о нем узнали демоны маршрутизации. В Red Hat 5.1 и более поздних версий имеется утилита linuxconf. С ее помощью можно выполнять многие административные задачи, включая вопросы, связанные с конфигурированием сети.
Гпово 13. Сети TCP/IP
345
Примеры конфигураций Следующие команды активизируют сетевой интерфейс и добавляют стандартный маршрут. Обратите внимание иа то, что ключевое слово up в строке вызова команды ifconfig не требуется, но ключевое слово gw в строке вызова команды route должно присутствовать
# ifconfig ethO В. 21.73 netmaak 255.255.255.0
I route add default gw 192.108.21.254 ethO
Но умолчанию команда ifconfig is Red Hal выдает множество информации, включая аппаратный адрес, данные канального уровня и различную статистику e t HWaddr O 0 : C 0 : F 0 : l F : 5 7 : 6 1 m e t a d d r ; 1 9 2 . 1 0 8 . 2 1 . 7 3 B e a s c : 1 9 2 . 1 0 8 . 2 1 . 2 5 5
M a s k : 2 b 5 : 2 5 5 : 2 5 5 : 0
UP BROADCAST RUNNING MULTICAST M T U : 1 5 0 0 M e t r i c : 1
R X p k t s : 2 4 8 7 2 5 e r r o r s : 0 d r o p p e d : 0 o v e r r u n s : 0 f r a m e : 0
T X p k t s : 5 2 1 9 e r r o r s : 2 4 d r o p p e d : 0 o v e r r u n s : 0 c a r r i e r : 2 0 c o l l i s i o n s : 1 2 8 0 t x q u e u e i e n : 1 0 0
I n t e r r u p t : 1 С B a s e a d d r 0 x 6 5 0 0 l o L i n k e c n a p : L o c a l L o o p b a c k i n e t a d d r : 1 2 7 . 0 . 0 . 1 M a s k : 2 5 5 . 0 . 0 . 0
UP BROADCAST RUNNING MULTICAST M T U : 3 9 2 4 M e t c i c : l
R X p k t s : 4 4 e r r o r s : 0 d r o p p e d : 0 o v e r r u n s : 0 f r a m e : 0
T X p k t s : 4 4 e r r o r s : d r o p p e a : 0 o v e r r u n s : 0 c a r r i e r : 0 c o l l i s i o n s : 0 t x q u e u e i e n : 1 0 0 Число конфликтов пакетов для платы равно 1280, что составляет
24,5% от числа отправленных пакетов. Это чрезвычайно высокий показатель, который свидетельствует о том. что сеть перегружена и должна быть разделена на несколько подсетей или же следует перейти на коммутируе\гую архитектуру. Как ив большинстве систем, команда netstat -nr выводит таблицу маршрутизации, а команда netstat -i отображает информацию о сетевых интерфейсах
% netstat -nr
K e r n e l I P r o u t i n g t a o l e
D e s t i n a t i o n G a t e w a y G e n r a a s k F l a g s MSS Window i r t t I f a c e
1 9 2 . 1 0 8 . 2 1 . 7 3 0 . 0 . 0 . 0 2 6 5
. 2 5 5 . 2 5 5 . 2 5 5 UH
0 0 0 e t h O
1 9 2 . 1 0 8 . 2 1 . 0 0 . 0 . 0 . 0 2 5 5
. 2 5 5 . . 2 5 5 . 0
U
0 0 0 e t h O
1 2 7 . 0 . 0 . 0 0 . 0 . 0 . 0 2 5 5
. 0 . 0 .0
U
0 0 0 l o С . 0 . 0 . 0 19B.I08.21.254 0 . 0 . 0 . 0
UG
0 0 0 e t h O
% netstat -i
K e r n e l I n t e r f a c e t a b l e
R e c e i v e
- T r a n s m i t -
I f a c e MTU MeL OK ERR DRP
OVR
OK
ERR DRP OVR f i g e t h O 1 5 0 0 0 2 5 1 6 8 4 0 0 0
5 7 1 0 2 4 0 0
BRU lo 3 9 2 4 0 44 0 0 0
44 0 0 0
LRL' Команда netstat -i показывает для каждого интерфейса число обычных пакетов, ошибок, удаленных пакетов и переполнений как во входной, таки в выходной очередях.
Чость II. Робота в сетях

Конфигурирование D H C P В Red Hal имеется сервер dhcpd и два различных клиента pnmp и dhcpcd (старая разработка университета Карнеги-Меллона. представляющая собой усовершенствованный вариант демона bootpd). Мы рекомендуем отказаться от обоих клиентов и воспользоваться программой, предоставленной организацией ISC (www.isc.org). По нашему опыту, она надежнее. сервер Red Hat разработан этой же организацией, поэтому остается только удивляться, почему в данную операционную систему не включен аналогичный клиент. Конфигурирование lSC-югиента рассматривается далее в параграфе 13.15. Программа pump — это стандартный клиент в Red Hat. Он запускается на этапе начальной загрузки из сценария /etc/sysconfig/neiwork-
scripts/ifcf%-UHtnep Например, чтобы задать автоматическое конф ер и - рование интерфейса e t h O посредством D H C P , нужно отредактировать файл
/etc/sysconfig/network-scripts/ifefg-ethQ, указав вместо адреса, маски подсети и других параметров строку
BOOTPRoTO=dhcp Если требуется вручную запустить программу pump для управления интерфейсом e t h O , воспользуйтесь командой
# ришр -1 «ithO Остановить программу pump можно так
I pump -г -1 othO Демон dhcpcd, являющийся альтернативой программе pump, практически не используется. Наверное, разработчики Red Hat не удалили его только потому, что боялись нарушить работу существующих приложений. Этот демон конфигурируется посредством файлов в каталоге /etc/dhcpc.
Диномическое переконфигурировоние и настройка В Linux настройка ядра и сетевых параметров осуществляется не так, как в других операционных системах. Вместо того чтобы предоставить команды для чтения и установки параметров, разработчики Linux поместили "образ" каждой настраиваемой переменной в специальную файловую систему /ргос. Важные сетевые параметры находятся в каталоге /proc/sys/net/ipv4. Вот их сокращенный перечень
% c d / p r o c / e y a / n e t / i p v 4 ; l a - F c o n f / i c m p _ d e s t u n r e a c h _ r a t e i c m p _ e c h o _ i g n o r e _ b r o a d c a s t s i c m p _ i g n o r e _ b o g u s _ e r r o r _ r e s p o n s e s i cmp_timeexceed_rate ip_always_de f r a g ip_de f a u 1 t _ t 11 i p _ f o r w a r d i p j m a s k debu g i p f r a g _ h i g h t h r e s h i p f r a g _ t i m e r o u t e / t c p k e e p a l i v e p r o b e s icmp_echo_ignore_al1 i cmp_e chorep1y_r a t e lcmp_paramprob_rate icrap_max_memberships i p a u t o c o n f i g ip_dynaddr i p _ l o c a l _ p o r t _ r a n g e i p n o _ p m tu _d i sc i p f r a g _ l o w _ t h r e s h n e i g h / t c p f i n_tinieou t t c p k e e p a l i v e t i m e
Глово 13. Сети TCP/IP
347
tcp_max_ka_p r o b e s tcp_max_syn_backlog t c p _ r e t r a n s _ c o l l a p s e t c p r e t r i e s i t c p _ r e t n e s 2 t c p _ r f c l 3 3 7 t c p s a c k t c p _ s t d u r g tcp_syn__re t r i e s t c p _ s y n c o o k i e s t c p _ t i m e s t a m p s tcp_window_scaling Многие переменные, в именах которых присутствуют компоненты "rate" и "max", используются для пресечения атак вида "отказ в обслуживании" В подкаталоге conf хранятся переменные, устанавливаемые для каждого интерфейса по отдельности. Там есть подкаталоги all и defaults, а также подкаталоги для всех интерфейсов (включая интерфейс обратной связи) В каждом подкаталоге содержится одинаковый набор файлов
% i s -F a c c e p t _ r e d i r e c t s a c c e p t _ s o u r c e _ r o u t e b o o t p _ r e l a y f o r w a r d i n g log_raarcians mc_forwarding p r o x y _ a r p r p _ f i l t e r s e c u r e _ r e d i r e c t s send r e d i r e c t s shared_meaia Изменения, производимые в подкаталоге all, отражаются на всех интерфейсах. Но если та же самая переменная меняется, скажем, в подкаталоге ethO, то это затронет только соответствующий интерфейс. В подкаталоге defaults содержатся стандартные значения переменных на момент инсталляции системы. Чтобы узнать шачение переменной, воспользуйтесь командой cat. Изменить это значение можно с помощью команды echo, перенаправив ее результаты в соответствующий файл. Например, команда
% c a t i c m p _ e c h o _ _ i g n o r e _ b r o a d c a a t e показывает, что текущее значение переменной i c m p _ e c h o _ i g n o r e _ b r o a d - c a s t s равно 0, те. широковещательные пакеты допустимы. Чтобы сделать ее равной 1 Си тем самым защитить систему от атак типа "smurf'). введите
% s u d o c e h - с " e c h o 1 > i c n i p e c h o _ i g n o r e _ b r o a d c a e t s " В документе /usr/src/linux/Doeumentation/proc.txt, написанном разработчиками, приведены хорошие примеры настройки ядра средствами файловой системы /ргос. В нем объясняется, что означает таили иная переменная, иногда указывается, какие значения лучше всего задавать.
Безопосность, брандмоуэры, фильтрация и системо N A T В табл. 13.21 описано, как в Red Hat реализован ряд технологий, касающихся беюпасной работы в сети. О них кратко рассказывалось в параграфе 13.9. Если задать команду sudo echo 1 > icmp echo ignorc broadcasts, будет получено сообщение "permission denied" (доступ запретен). поскольку интерпретатор команд попытается от- кры гь выходной файл до запуска программы sudo. В данном случае необходимо, чтобы права суперпользователя распространялись не только на команду echo, но и на операцию перенаправления. Следовательно, нужно создать порожденный интерпретатор с правами пользователя гоо(, в котором будет выполнена вся команда.
343
Чость II Роботов сетях

Тоблицо 13.21. Подцержко технологий, связонных с сетевой беэопосностью, в Linux Шлюз Технология Узел Управляющий файл в каталоге /proc/sys/ne*J
Перенаправление отключено
[Р-пяхстов включено
Перевдресующие пакеты Направленная маршрутизация принимаются игнорируются не разрешена разрешена
Широковешатсль- принимаются принимаются ные пакеты lpv4/ip_forward для всей системы lpv4/conf/uKme/>^uc/forwarding для каждого интерфейса
\руЛ/соп1/интерфейс/гссер1_ге-
dlrects ipv4/conf/u»we/j^ewc/*ceep{_sonr- cejroute ipv4/ip_eehoJgnore_broadcasla В качестве параметра
интерфейс может быть задано имя конкретного интерфейса или ключевое слово all. Чтобы сделать изменение любого из параметров постоянным (точнее, чтобы переустанавливать его всякий раз при перезагрузке системы, добавьте соответствующую команду echo в сценарий, выполняющийся в процессе начальной загрузки. В Red Hat имеется неплохая программа фильтрации. Обычно мы не рекомендуем использовать компьютер на базе UNIX (или Windows NT) в качестве брандмауэра, поскольку в целом этн операционные системы не обеспечивают надлежащий уровень безопасности. Но уж лучше ставить программный брандмауэр, чем вообще ничего, если речь идет о домашнем компьютере или организации, бюджет которой не предусматривает покупку специализированного оборудования (например, системы Cisco PIX). Именно поэтому мы подробно описываем программу ipchains. Устанавливая систему в качестве брандмауэра, убедитесь, по крайней мере, что она включает самые последние обновления и "заплаты, касающиеся брешей в системе защиты. В главе 21 описаны многие вопросы, которые обязательно следует учесть, чтобы сделать систему максимально безопасной. Компьютер, играющий роль брандмауэра, — идеальное место для практической проверки рекомендаций, изложенных в главе по безопасности. (В параграфе 21.9 даны сведения, касающиеся брандмауэров в целом. Читателям, незнакомым с концепцией брандмауэра, советуем предварительно прочитать приведенный там материал) В программе ipchains применяется концепция упорядоченной "цепочки" правил, согласно которым проверяются сетевые пакеты. В каждой цепочке имеется директива, определяющая, что следует делать с пакетами, подчиняющимися данному правилу. Если пакет прошел проверку, его судьба предрешена и другие проверки не выполняются. По этой причине правила в цепочке задаются в направлении от наиболее конкретного к наименее конкретному. По умолчанию существуют три цепочки i n p u t , o u t p u t и f o r w a r d . Можно создавать и свои собственные цепочки. Каждый пакет, обрабатываемый ядром, поступает на проверку лишь в одну стандартную цепочку. В цепочке f o r w a r d проверяются все пакеты, которые поступают в одии интерфейс и перенаправляются в другой. В цепочке i n p u t обрабатываются пакеты, поступающие из внешней сети и адресованные локальному компьютеру. И наконец, в цепочке o u t p u t проверяются только пакеты, посланные
Гпово 13. Сети TCP/IP
349
с локального узла. Для каждого сетевого интерфейса существуют свои копии этих непочек, поэтому для разных интерфейсов можно назначать свои критерии обработки пакетов. Наиболее распространенные директивы — ACCEPT. DENY. REJECT. MASQ.
REDIRECT и RETURN. Директива ACCEPT разрешает пакету следовать своим маршрутом. Директивы DENY и REJECT запрещают пропускать пакет, но первая приводит к "безмолвному" удалению пакета, а вторая — к выдаче iCMP-сообщекия об ошибке. Директива t4ASQ включает механизм маскирования (на жаргоне Linux зто синоним системы NAT)". Чтобы этот механизм заработал, нужно задать переменную FORWARD_LPV4 в файле network равной t r u e и скомпилировать ядро с установленным параметром cONFIG_IP_MASQUERADE. Директива REDIRECT перенаправляет пакеты прокси-серверу. Чтобы она имела силу, нужно скомпилировать ядро с установленным параметром
CONFTG_IP_TP.ANSPARENT_PP.OXY. Эта особенность удобна, когда весь трафик узла должен проходить через кэцгирующую программу, такую как
Squid. Директива RETURN объявляет конец пользовательской цепочки. В Red Hal брандмауэр обычно реализуется в виде последовательности команд ipchains, содержащихся в стартовом сценарии rc.firewall. Отдельные команды ipchains. как правило, имеют один из двух форматов i p c h a i n s - F
иыяиепочки
ipchains -А иия_цепочки -i интерфейс -j директива
В первом случае из цепочки удаляются все предыдущие правила. Во втором случае заданное правило добадляется к цепочке. Опции -i и -j обязательны для каждого добавляемого правила. Программа ipchains поддерживает также ряд других опций (табл. 13.22).
Тоблицо 13.22. Дополнительные опции программы Ipchoins Опция Назначение Соответствие протоколу tcp, ИАР ИЛИ icrop Соответствие исходному адресу узла или сети (допускается нотация CIDR) Соответствие целевому адресу узла или сети Соответствие номеру исходного порта (обратите внимание иа двойной дефис)
-dport номер порта Соответствие номеру целевого порта (обратите внимание на двойной дефис) Соответствие типу ICMP-сообшения (обратите внимание на двойной дефис) Регистрация пакетов в системе Syslog (средство "kernel", приоритет "info") Соответствие только новым запросам иа установление соединения (проверяются флаги заголовка пакета) Инверсия смысла опции

протокол
-s
исходный
-d цеяевойадрес
— s p o r t
номер порта
i c m p _ t y p e тип
Строю говоря, в Red Hal применяется ограниченная разновидность системы NAT, которую правильнее называть PAT (Port Address Translation — грансляция адресов портов. В ней не используется диапазон частных адресов, как в истинной системе NAT, а все соединения коммутируются по одному-единственному адресу. С практической точки зрения это не имеет особого значения, поэтому для простоты мы будем продолжать употреблять термин "NAT".
350



Поделитесь с Вашими друзьями:
1   ...   25   26   27   28   29   30   31   32   ...   82


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал