Команда arp
Команда ARP (Address Resolution Protocol— протокол преобразования адресов) транслирует IP-адреса в аппаратные МАС-адреса. Знать особенности этого протокола важно, чтобы понимать, как работает команда агр. Когда компьютер хочет послать трафик по конкретному IP-адресу, он сверяет этот адрес со своим собственным адресом и маской, чтобы определить, находится ли получатель в непосредственно подключенной сети. Если это" не так, компьютер обращается к маршрутной таблице и находит шлюз, ведущий к получателю. Далее формируется широковещательный ARP-запрос who-has, в который включаются исходные IP-адрес и маска, а также IP-адрес шлюза. Этот запрос рассылается через соответствующий сетевой интерфейс и принимается всеми компьютерами данного широковещательного домена. Тот компьютер, который узнает свой IP-адрес, возвращает отправителю свой аппаратный МАС-адрес. Это позволяет компьютерам устанавливать соединения на канальном уровне.
В протоколе ARP формируется специальная кэш-таблица с результатами последних запросов. Доступ к этой таблице осуществляется посредством команды агр.
Будучи вызванной без параметров, команда отображает текущее содержимое таблицы.
Показывается IP-адрес, тип сетевого интерфейса, МАС-адрес и интерфейс, из которого была получена эта информация. Раньше сообщалась также маска, но теперь она не используется. Флаг С говорит о том, что запись является полной, т.е. аппаратный адрес определен. Так бывает не всегда.
Опция -а
При наличии опции -а узел команда агр выдаст информацию только о заданном узле. Можно указать либо имя узла, либо его IP-адрес.
С помощью этой команды можно легко узнать, какие компьютеры в сети сконфигурированы неправильно, т.е. имеют одинаковый IP-адрес, но разные МАС-адреса. *
Опция -н
Параметр -Н тип заставляет команду arp выдавать записи, относящиеся только к сетевым интерфейсам определенного типа.
Команда arp поддерживает те же типы сетевых интерфейсов, что и команда ifconfig.
Опция -i
Команда arp может сообщить обо всех записях, полученных через заданный интерфейс. Для этого предназначена опция -i интерфейс.
Опция -n
Опция -п отключает преобразование IP-адресов в доменные имена.
Для Linux ifconfig
Команда ifconfig обслуживает сетевые интерфейсы на нижних уровнях модели OSI, позволяя задавать тип передающей среды, скорость работы интерфейса и сетевые адреса. Обычно команда находится в каталоге /sbin, и запускать ее могут непривилегированные пользователи. Но менять конфигурацию интерфейсов разрешено только суперпользователю. В большинстве версий Linux команда ifconfig входит в пакет net-tools, который можно получить по адресу http: //www. tazenda. demon, со. uk/phil/net-tools.
Функции, выполняемые командой ifconfig, можно разделить на две группы: выдача статистики работы интерфейсов и конфигурирование интерфейсов.
Отчет о состоянии интерфейсов
Команда ifconfig часто используется при поиске неисправностей в сети, так как позволяет получить отчет о состоянии сетевых интерфейсов.
Команда сообщила обо всех интерфейсах, известных ядру. В первой строке показан ее МАС-адрес (48 битов), во второй — IP-адрес, широковещательный адрес и сетевая маска. В третьей строке говорится о том, что интерфейс запущен (UP), т.е. может посылать и принимать трафик, работает в широковещательном режиме (стандарт для сетей Ethernet) и может принимать многоадресный трафик. Максимальный размер передаваемого блока (maximum transmission unit — MTU) равен 1500 байтам, что составляет стандартный Ethernet-кадр. Это предельный размер пакетов, передаваемых через данный интерфейс. Если администратор вручную задаст меньшее значение, то это повлияет только на исходящие пакеты, т.е. при получении пакетов система по-прежнему будет ориентироваться на значение параметра MTU, принятое для сети данного типа. Предельные размеры пакетов в различных сетях перечислены в табл. 1.
Таблица 1. Максимальные размеры пакетов в сетях различных типов
|
Тип сети MTU
|
Ethernet 1500 FDDI 4352 PPP 1500 SLIP 1006 Token Ring 4464
|
В строках 4-6 отображается статистика работы интерфейса. Отношение числа коллизий к числу отправленных пакетов достаточно велико. Возможно, это говорит о несогласованности работы полудуплексного порта Linux-маршрутизатора и полнодуплексного порта Ethernet-платы. В последней строке сообщается о ресурсах, используемых драйвером сетевой платы. В данном случае это прерывание 10 и сегмент памяти, начинающийся с адреса Oxb800.
Приведенное описание сетевой платы весьма типично, так как технология Ethernet очень популярна. Но в Linux поддерживаются и другие сетевые технологии.
Типы сетевых интерфейсов -
В табл..2 перечислены типы сетевых интерфейсов, поддерживаемых в операционной системе Linux.
Таблица.2. Типы сетевых интерфейсов, поддерживаемых в Linux, и их обозначения в команде ifconfig
| |
Тип
|
Обозначение
|
Adaptive Serial Line IP
|
adaptive
|
Amateur NET/ROM
|
netrom
|
Amateur ROSE
|
rose .
|
Amateur X.25
|
ax25
|
ARCnet
|
arcnet
|
Ash
|
ash
|
Cisco HDLC
|
hdic
|
Compressed Serial Line IP
|
cslip
|
Compressed Serial Line IP 6 bit
|
cslip6
|
Econet
|
ec
|
Ethernet
|
ether
|
Fiber Distributed Data Interface
|
fddi
|
Frame Relay Access Device
|
frad
|
Frame Relay DLCI
|
dici
|
High-Performance Parallel Interface
|
hippi
|
IP in IP Tunneling
|
tunnel
|
IPv6 in IPv4 Tunneling
|
sit
|
IrLAP
|
irda
|
LAPB
|
lapb
|
Локальная сеть обратной связи
|
loop
|
Point-to-Point Protocol
|
PPP
|
Serial Line IP
|
slip
|
Serial Line IP 6 bit
|
slip6
|
Token Ring
|
tr
|
Типы адресов
Если снова обратиться к отчету, выданному командой ifconfig, то можно заметить, что все приведенные в нем IP-адреса записаны в стандарте IPv4. В Linux поддерживаются и другие типы адресов. Некоторые из них перечислены в табл. 3.
Таблица 3. Типы адресов, поддерживаемых в Linux, и их обозначения в команде ifconfig
| |
Протокол
|
Обозначение
|
IPv6 Amateur Radio X.25 Internetwork Packet Exchange AppleTalk Datagram Delivery Protocol
|
inet6 ах25 ip ddp
|
Конфигурирование интерфейсов
Команда ifconfig позволяет менять параметры сетевых интерфейсов. Она обычно выполняется во время начальной загрузки системы, но может применяться и для динамического изменения конфигурации сети. Такие изменения будут иметь силу до того момента, пока не произойдет перезагрузка системы. Чтобы установки сохранялись постоянно, соответствующие команды нужно поместить в сценарии начальной загрузки (этот процесс здесь не показан). Будьте осторожны: в случае ошибки компьютер может оказаться отключенным от сети.
Подключение и отключение интерфейсов
Чаще всего команда ifconfig применяется для активизации и отключения интерфейсов. Например, следующая команда отключает интерфейс ethO:
ifconfig ethO down
А эта команда снова включает его:
ifcontig ethO down
Изменение IP-адресов
С помощью команды ifconfig можно назначить интерфейсу новый IP-адрес, например:
ifconfig ethO 192.168.1.253
Разрешается также менять сетевую маску:
ifconfig ethO 192.168.1.253 mask 255.255.255.248
Назначение интерфейсу нескольких IP-адресов
Одному физическому интерфейсу может соответствовать несколько IP-адресов. Для этого вводится понятие виртуального, или логического, интерфейса. Правило именования виртуальных интерфейсов таково: берется имя физического интерфейса и через двоеточие к нему добавляется логический номер, например ethO: 1.
Следующая команда создает новый виртуальный интерфейс;
ifconfig eth0:l 192.168.1.250 mask 'b255.255.255.240
В результате за интерфейсом eth0:l будет закреплен адрес 192.168.1.250, а сам интерфейс будет активизирован.
Необходимо помнить об ограничениях виртуальных интерфейсов. Во-первых, как видно из результатов работы команды ifconfig, статистика выдается только по физическому интерфейсу, в данном случае ethO. Во-вторых, при отключении физического интерфейса отключаются и все его виртуальные интерфейсы, т.е. команда
ifconfig ethO down
эквивалентна команде
ifconfig eth0:l down
Когда виртуальный интерфейс неактивен, он не отображается в результатах работы команды ifconfig.
Задание типа передающей среды
Сети Ethernet могут создаваться на основе различных кабельных систем, требующих разных сетевых плат. Например, в стандарте 10Base2 (ЮМбит/с) используется коаксиальный кабель и BNC-коннекторы. В стандарте lOBaseT (10 Мбит/с) используется витая пара и разъем RJ-45. Различные варианты технологии Ethernet, поддерживаемые в Linux, описаны в табл. 4.
Таблица 4. Поддерживаемые варианты Ethernet
| |||
Стандарт
|
Скорость
|
Среда
|
Разъем
|
10Base2 10Base5 lOBaseT 100BaseT
|
10 Мбит/с 10 Мбит/с 10 Мбит/с 100 Мбит/с
|
Тонкий коаксиальный кабель Толстый коаксиальный кабель Витая пара Витая пара
|
BNC AUI, подключаемый к MAU RJ-45 RJ-45
|
Обычно не возникает необходимости задавать тип среды, поскольку современные сетевые платы и драйверы определяют его автоматически на этапе начальной загрузки. Но бывают и исключения.
Предположим, плата поддерживает соединения RJ-45 и AUI, и есть подозрение, что соединение RJ-45 не функционирует. Исправить ситуацию позволяет следующая команда:
ifconfig ethO medi lObaseT
Прочие параметры
Мы описали далеко не все параметры команды ifconfig, так как многие из них используются крайне редко. Тем не менее о некоторых параметрах нужно упомянуть хотя бы вкратце.
Режим группового вещания можно отключить с помощью опции -allmulti. Опция promise переводит интерфейс в "беспорядочный" режим, а опция -promise отключает этот режим. Данный режим представляет интерес для разработчиков сетевых приложений. В этом режиме работают многие анализаторы пакетов, например команда tcpdump, рассматриваемая ниже. "Беспорядочный" режим рекомендуется включать лишь на короткие промежутки времени, так как производительность работы интерфейса снижается.
Параметр metric позволяет назначать приоритеты интерфейсам, находящимся в одной сети. Эта возможность требует поддержки со стороны драйверов и демонов маршрутизации.
Опция mtu позволяет администраторам менять значение параметра MTU (максимальный размер передаваемого блока). Время от времени публикуются разные методики повышения производительности путем регулирования данного параметра, но их практическая польза сомнительна. Обычно менять параметр MTU нужно лишь в том случае, когда в сети возникают проблемы с предварительным определением максимального размера блока (из-за наличия разных типов сред).
Опция broadcast позволяет указывать другой широковещательный адрес, чем тот, что определяется на основании IP-адреса и маски интерфейса.