Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Команда ifconfig: конфигурирование сетевых интерфейсов



Команда ifconfig используется для подключения и отключения сетевого интер­ фейса, а также задания его IP-адреса, маски подсети, других опций и параметров. Она обычно выполняется на этапе начальной загрузки. Аргументы командной строки берут­ ся из конфигурационного файла, но могут применяться и для внесения изменений в ра­ ботающую систему. Будьте осторожны при модификации удаленной системы, так как не всегда есть возможность оперативно исправить ошибки.

В большинстве случаев команда ifconfig имеет следующий формат. ifconfig интерфейс [семейство] адрес опции ...

Например, команда

ifconfig eth0 128.138.240.1 netmask 255.255.255.0 up

задает IPv4-адрес и сетевую маску, связанную с интерфейсом eth0, и приводит интер­ фейс в состояние готовности.

Параметр интерфейс обозначает аппаратный интерфейс, к которому применяется команда. Обычно он представляет собой двух- или трехсимвольное имя, за которым следует число, но в системе Solaris этот параметр может быть длиннее. Наиболее распро­ страненные имена — ie0, lе0, le1, ln0, en0, we0, qe0, nme0, eth0 и lan0. В системе Linux интерфейс обратной связи называется lo, а в системах Solaris, HP-АХ и AIX — lо0. В большинстве систем команда ifconfig -а перечисляет сетевые интерфейсы си­ стемы и их текущие установки. В системе HP-UX для этой цели используется команда netstat -i.

В системе Solaris необходимо сначала “присоединить” сетевые интерфейсы с помощью команды ifconfig интерфейс plumb и лишь затем настраивать конфигурации и выводить на экран с помощью команды ifconfig -а.

Параметр семейство сообщает команде ifconfig, какой именно протокол (“семей­ ство адресов”) вы хотите конфигурировать. Вы можете установить несколько протоко­ лов для одного интерфейса и использовать их одновременно, но конфигурировать их необходимо по отдельности. Основными опциями являются inet для протокола IPv4 и inet6 — для протокола IPv6. По умолчанию используется параметр inet. Система Linux поддерживает также множество унаследованных протоколов, таких как AppleTalk и Novell IPX.

Параметр адрес задает IP-адрес интерфейса. Имя узла также допускается в качестве адресного параметра, но на этапе загрузки по имени узла должен определяться его адрес.

Для основного машинного интерфейса это значит, что имя узла должно находиться в локальном файле hosts, поскольку другие методы разрешения имен зависят от инициа­ лизированной сети.

Ключевое слово up указывает на активизацию интерфейса, а ключевое слово down — на его отключение. Когда команда ifconfig назначает интерфейсу IP-адрес, как в опи­ санном выше примере, ключевое слово up подразумевается неявно и может быть опущено.

Команда ifconfig понимает множество опций. Мы рассмотрим лишь самые основ­ ные. Как всегда, детали, касающиеся конкретной системы, можно узнать на страницах интерактивного руководства. Все опции имеют символические имена. Некоторые опции требуют аргументов, которые должны следовать сразу за названием опции через пробел.

Опция netmask задает маску подсети для данного интерфейса. Эта опция обязатель­ на, если подсеть формируется не на основании класса адреса (А, В или С). Маску можно указывать в точечной нотации либо в виде четырехбайтового шестнадцатеричного чис­ ла, начинающегося с префикса 0х. В любом случае единичные биты являются частью номера сети, а нулевые биты — частью номера узла.

Опция broadcast задает широковещательный IP-адрес интерфейса в шестнадцате­ ричной или точечной записи. По умолчанию в широковещательном адресе все биты ма­ шинной части равны единице. В приведенном выше примере использования команды ifconfig автоматически конфигурируется широковещательный адрес 192.168.1.255.

В качестве широковещательного адреса можно использовать любой IP-адрес, допу­ стимый в сети, к которой подключен компьютер. В некоторых организациях широкове­ щательный адрес специально выбран нестандартным для предотвращения сетевых атак, основанных на широковещательной команде ping. Однако это рискованно и, вероятно, излишне. Сбой при конфигурации каждого широковещательного адреса компьютера может вызвать широковещательный шторм, в ходе которого пакеты будут блуждать от машины к машине, пока не будет исчерпано время TTL (Time to live — время жизни Па­ кета данных в протоколе IP. — Примеч. ред.)17

Лучший способ избежать проблем с широковещательными запросами состоит в том, чтобы запретить пограничному маршрутизатору перенаправлять их, а отдельным узлам — отвечать на них. В главе 22 будет рассказано о том, как реализовать подобные ограничения.

Система Solaris интегрирует команду ifconfig с клиентским демоном про­ токола DHCP. Команда ifconfig интерфейс dhcp конфигурирует именован­ ный интерфейс с помощью параметров, арендованных у локального DHCP- сервера, затем запускает программу dhcpagent, чтобы управлять этими параметрами в течение долгого времени. Другие системы используют команду ifconfig независимо от протокола DHCP, при этом программное обеспече­ ние DHCP функционирует на отдельном уровне.

17 Широковещательный шторм (broadcast storm) возникает из-за того, что для транспорта паке­ тов должен использоваться один и тот же широковещательный адрес, независимо от того, какой адрес установлен. Например, машина X считает, что широковещательный адрес равен А1, а маши­ на Y считает, что он равен А2. Если машина X посылает пакет по адресу А1, то машина Y получит пакет (поскольку адрес назначения на уровне соединения — это широковещательный адрес), затем увидит, что этот пакет предназначен ни ей, ни широковещательному адресу (поскольку машина Y полагает, что широковещательный адрес равен А2), и может возвратить этот пакет обратно в сеть. Если обе машины находятся в состоянии машины Y, то пакет будет циркулировать в сети, пока не закончится его время жизни. Широковещательные штормы могут разрушить полосу пропускания, особенно в больших коммутируемых сетях.

528 Часть II. Работа в сети

Кроме того, с помощью команды ifconfig интерфейс можно получить конфигура­ цию отдельного интерфейса.

solaris$ ifconfig e1000g0

e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500

index 2 inet 192.168.10.10 netmask ffffff00 broadcast 192.168.10.255 redhat$ ifconfig e1000g0

eth0 Link encap:Ethernet HWaddr 00:02:B3:19:C8:86

inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric:1

RX packets:206983 errors:0 dropped:0 overruns:0 frame:0

TX packets:218292 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

Interrupt:7 Base address:0xef00

Отсутствие коллизий в интерфейсе Ethernet во втором примере может указывать на слабо загруженную сеть или, что более вероятно, на коммутируемую сеть. В сети обще­ го доступа (организованной с помощью концентраторов, а не коммутаторов) этот по­ казатель должен быть ниже уровня 5% от числа отправленных пакетов. Большое число коллизий свидетельствует о загруженности сети, которую, возможно, требуется разбить на подсети или перевести на коммутируемую инфраструктуру.

Теперь, когда мы рассмотрели процедуру ручного конфигурирования сетевого ин­ терфейса, осталось выяснить, как задавать параметры команды ifconfig на этапе на­ чальной загрузки системы. Кроме того, требуется убедиться в том, что новые значения введены правильно. Для этого необходимо отредактировать один или несколько конфи­ гурационных файлов. Информация, касающаяся конкретных систем, приведена далее в этой главе.

И еще одно замечание по поводу команды ifconfig: вы можете назначать интерфей­ су несколько адресов, используя “интерфейсы виртуальной сети” или “IP-псевдонимы” (IP-aliases). Администраторы могут делать это для того, чтобы позволить одной машине служить хостом для нескольких веб-сайтов (см. раздел 23.3).

 

Демоны маршрутизации

Мы не рекомендуем использовать системы UNIX и Linux в качестве маршрутизато­ ров в производственных сетях. Специализированные маршрутизаторы проще, надежнее, безопаснее и более быстродействующие (даже если они скрытно запускают ядро системы Linux). Иначе говоря, очень хорошо иметь возможность организовать новую подсеть, ис­ пользуя всего лишь сетевую карту стоимостью 15 долл. и коммутатор за 40 долл. Это впол­ не разумный подход к организации разреженных, тестовых и вспомогательных сетей.

Системы, действующие как шлюзы в таких подсетях, не требуют дополнительных инструментов для управления их собственными таблицами маршрутизации. Статические маршруты вполне адекватны как для машин, используемых в качестве шлюзов, так и д ля машин, представляющих собой узлы самой подсети. Однако если вы хотите, чтобы ваша подсеть была доступной для других сетей в вашей организации, вам необходимо сооб­ щить о ее существовании и идентифицировать маршрутизатор, к которому будут при­ вязаны пакеты, посылаемые данной подсети. Обычно для этого на шлюзе запускается демон маршрутизации.

Системы UNIX и Linux могут участвовать в большинстве протоколов маршрутизации с помощью различных демонов маршрутизации. Важным исключением из этого правила является протокол EIGRP, который, насколько нам известно, не имеет широко доступ­ ной реализации в системах UNIX и Linux.

Поскольку демоны маршрутизации редко реализуются в производственных систе­ мах, мы не будем подробно описывать их использование и конфигурацию. Тем не менее в следующих разделах мы приведем краткое описание типичных программ и укажем, где искать детали конфигурации.

Демон route: устаревшая реализация в протоколе RIP

Долгое время демон routed был стандартным демоном маршрутизации, и его до сих пор включают в дистрибутивы некоторых систем. Демон routed понимает только протокол RIP и при этом плохо: даже поддержка версии RIPv2 не поправила ситуацию. Демон routed не понимает протокол RIPng, реализация которого основана на совре­ менных демонах, таких как Quagga и ramd в системе HP-UX.

Демон routed целесообразно использовать в пассивном режиме (-q), в котором он принимает сообщения об обновлениях маршрутов, но не осуществляет широковещатель­ ную рассылку собственных сообщений. Кроме указания опций в командной строке, демон routed не требует конфигурирования. Он представляет собой дешевый и простой способ получения сообщений об обновлениях маршрутов без сложного конфигурирования.

Демон заносит обнаруженные маршруты в таблицу ядра. Все маршруты долж­ ны анонсироваться, как минимум, каждые четыре минуты, иначе они будут удалены. Правда, демон route помнит, какие маршруты он добавлял, и не удаляет статические маршруты, заданные с помощью команды route.

Команда route описана в разделе 14.9.

570 Часть II. Работа в сети

Демон gated: первый многопротокольный демон маршрутизации

Демон gated — элегантная и легко доступная программа маршрутизации, позволяю­ щая одновременно использовать несколько протоколов маршрутизации. Он предостав­ ляет администратору полный контроль над анонсированными маршрутами, широкове­ щательными адресами, правилами безопасности и метриками стоимости. Демон gated разрешает нескольким протоколам использовать одни и те же маршруты, позволяя тем самым создавать шлюзы между автономными областями, в которых приняты разные си­ стемы маршрутизации. Наконец, демон gated имеет один из самых удобных командных интерфейсов и форматов файлов конфигурации среди всего административного про­ граммного обеспечения.

Увы, демон gated мертв (или, по крайней мере, при смерти), хотя память о нем еще живет в выпусках систем HP-UX 3.5.9 и AIX 6.0, которые вообще медленно реагируют на происходящие изменения.

Демон gated представляет собой поучительный пример риска, с которым связаны попытки разрабатывать открытое программное обеспечение. Он задумывался как сво­ бодно распространяемая программа, но в 1992 году был приватизирован и переделан консорциумом по разработке программ; в результате его обновления стали доступными только членам этого консорциума. В конце концов консорциум был расформирован, и права на коммерческую версию демона gated несколько раз “меняли” владельцев. Тем временем открытые проекты Zebra и Quagga вытеснили демон gated и сами стали играть ведущие роли в области открытых пакетов маршрутизации. В настоящее время

демон gated угас и как коммерческий продукт, и как открытый проект. Печальный ко­ нец полезного и хорошо спроектированного пакета.

Пакет Quagga: основной демон маршрутизации

Quagga (quagga.net) — это опытно-конструкторское подразделение проекта Zebra, выполняемого в рамках проекта GNU. Проект Zebra был запущен Кунихиро Ишигуро (Kunihiro Ishiguro) и Йошинари Йошикава (Yoshinari Yoshikawa) для реализации много­ протокольной маршрутизации с помощью коллекции независимых демонов, а не одного монолитного приложения. В реальной жизни квагга (quagga) — это исчезнувший подвид зебры, которая была последний раз сфотографирована в 1870 году. Но его цифровая ре­ инкарнация Quagga выжила, а проект Zebra закрылся.

В настоящее время пакет Quagga реализует все протоколы RIP (все версии), OSPF (версии 2 и 3), BGP и IS-IS. Он выполняется в системах Linux, Solaris и разных вариан­ тах системы BSD. В системе Solaris и версиях системы Linux, имеющихся в нашем рас­ поряжении, пакет Quagga либо инсталлирован по умолчанию, либо доступен в качестве вспомогательного пакета, который можно загрузить из стандартного системного репози­ тория программного обеспечения.

В пакете Quagga демон zebra играет роль информационного центра для маршрути­ зации. Он управляет взаимодействием между таблицей маршрутизации ядра и демона­ ми, соответствующими отдельным протоколам маршрутизации (ripd, ripngd, ospfd, ospf6d, bgpd и isisd). Кроме того, он управляет потоками информации о маршрутах, которыми обмениваются протоколы. Каждый демон имеет свой собственный конфигу­ рационный файл в каталоге /etc/quagga.

Для того чтобы послать запрос или изменить конфигурацию, можно соединиться с любым из демонов Quagga с помощью интерфейса командной строки (vtysh в системе

Глава 15. Маршрутизация 571

Linux и quaggaadm в системе Solaris). Командный язык разработан так, чтобы он был понятен пользователям операционной системы IOS компании Cisco; дополнительные детали можно найти в разделе 15.6, посвященном маршрутизаторам Cisco. Как и в си­ стеме IOS, для того чтобы войти в режим “суперпользователя”, необходимо выполнить команду enable, для того чтобы ввести команды конфигурирования, необходимо вы­ полнить команду config term, а для того чтобы сохранить изменения конфигурации в файле конфигурации демона, необходимо выполнить команду write.

Официальная документация доступна на сайте quagga.net в виде файлов в форма­ тах HTML и PDF. Несмотря на свою полноту, эта документация содержит, в основном, удобный каталог опций, а не общий обзор системы. Более практичную документацию можно найти на сайте wiki.quagga.net. Здесь находятся подробно прокомментиро­ ванные примеры файлов конфигурации, ответы на часто задаваемые вопросы и советы.

Несмотря на то что файлы конфигурации имеют простой формат, необходимо знать протокол, конфигурацию которого вы настраиваете, а также понимать, что означают те или иные опции. Список рекомендованной литературы по этому вопросу приведен в конце главы.

Системы Solaris и Red Hat содержат в каталоге /ets/quagga/ кол­ лекцию полезных примеров файла конфигурации для разных демо­ нов Quagga.

Демон ramd: многопротокольная система маршрутизации для HP-UX

Система HP-UX содержит набор демонов маршрутизации, которые по своей архитектуре напоминают демонов Zebra и Quagga. Мы не знаем, можно ли объяснить эту схожесть подражанием, конвергентной эволюцией или, воз­ можно, ранним ответвлением от основного кода проекта Zebra.

В любом случае эта схожесть носит лишь поверхностный характер. Важным различи­ ем является то, что система HP поддерживает только протокол IPv6 и протоколы внеш­ ней маршрутизации (RIPng, BGP и IS-IS), но вообще не поддерживает протокол OSPF. Кроме того, язык конфигурации отличается от базового, а управляющая утилита (rdc, в отличие от утилит vtysh или quaggaadm пакета Quagga) принимает аргументы только из командной строки; она не имеет независимой интерфейсной оболочки.

Эта подсистема системы HP называется Route Administration Manager Daemon, а ее демон ramd играет ту же роль, какую в пакете Quagga играет демон zebra. Как и в па­ кете Quagga, демоны, соответствующие разным протоколам, называются ripngd, isisd и bgpd.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.