# arp -d host
Можно также просмотреть кэш ARP для одного сетевого интерфейса с помощью команды:
$ arp -i interface
Страница руководства arp(8) содержит объяснение того, как вручную настроить записи в кэше ARP, но вам это вряд ли потребуется.
примечание
Не смешивайте кэш ARP с протоколом RARP (Reverse Address Resolution Protocol, протокол определения адреса по местоположению узла). Протокол RARP преобразует MAC-адрес обратно в имя хоста или в IP-адрес. До того как стал популярен протокол DHCP, некоторые бездисковые рабочие станции и другие устройства использовали протокол RARP для получения своей конфигурации, но сегодня он применяется редко.
9.23. Беспроводная сеть Ethernet
Беспроводные сети Ethernet (сети Wi-Fi) незначительно отличаются от проводных сетей. Подобно любым проводным аппаратным средствам, они обладают MAC-адресами и применяют кадры Ethernet, чтобы передавать и получать данные, в результате чего ядро Linux способно «общаться» с беспроводным сетевым интерфейсом во многом так же, как если бы это был проводной интерфейс. Все, что находится на сетевом уровне и выше, точно такое же; главные отличия — это дополнительные компоненты на физическом уровне, такие как частоты, идентификаторы сети, безопасность и т. д.
В отличие от проводных сетевых аппаратных средств, которые очень хороши при автоматической подстройке без лишней суеты под нюансы физической составляющей, конфигурация беспроводной сети допускает намного больше свободы. Чтобы беспроводной интерфейс работал корректно, в Linux необходимы дополнительные инструменты конфигурирования.
Вкратце рассмотрим дополнительные компоненты беспроводных сетей.
• Подробности передачи. Они содержат физические характеристики, такие как радиочастота.
• Идентификация сети. Поскольку одну и ту же базовую среду могут совместно использовать несколько беспроводных сетей, должна быть возможность их различения. Параметр SSID (Service Set Identifier, идентификатор сервисного набора, известный также как «имя сети») является идентификатором беспроводной сети.
• Управление. Хотя возможно настроить беспроводную сеть так, чтобы хосты взаимодействовали друг с другом напрямую, большинство беспроводных сетей управляется с помощью одной или нескольких точек доступа, через которые проходит весь трафик. Точки доступа часто выполняют функцию моста между беспроводной и проводной сетями, в результате чего обе они выглядят единой сетью.
• Аутентификация. Вам может понадобиться ограничение доступа к беспроводной сети. Чтобы это выполнить, можно настроить точки доступа таким образом, чтобы они запрашивали пароль или какой-либо аутентификационный ключ, прежде чем начать взаимодействие с клиентом.
• Шифрование. В дополнение к ограничению начального доступа к беспроводной сети, как правило, необходимо шифровать весь трафик, который передается с помощью радиоволн.
Конфигурация Linux, а также утилиты, которые работают с этими компонентами, расположены в нескольких областях системы. Некоторые находятся в ядре: Linux располагает набором расширений для работы с беспроводными сетями, стандартизирующими доступ к аппаратным средствам из пространства пользователя. По мере разрастания пространства пользователя беспроводная конфигурация может усложниться, поэтому большинство пользователей предпочитает использовать внешние графические интерфейсы, такие как апплет рабочего стола для менеджера NetworkManager, чтобы привести все в действие. Опять-таки иногда стоит посмотреть, что происходит за кулисами.
9.23.1. Утилита iw
Можно просмотреть и изменить конфигурацию устройств и сети в пространстве ядра с помощью утилиты iw. Чтобы ее использовать, обычно необходимо знать имя сетевого интерфейса для устройства, например wlan0. Вот пример, в котором выводится перечень доступных беспроводных сетей. Если вы находитесь в городе, будьте готовы к появлению длинного списка.
# iw dev wlan0 scan
примечание
Для того чтобы эта команда сработала, необходимо, чтобы сетевой интерфейс функционировал (если это не так, запустите команду ifconfig wlan0 up), но вам не потребуется настраивать какие-либо параметры сетевого уровня, например IP-адрес.
Если сетевой интерфейс подключился к беспроводной сети, можно просмотреть сведения о сети следующим образом:
# iw dev wlan0 link
Адрес MAC, показанный в отчете этой команды, является адресом точки доступа, к которой вы в данный момент подключены.
примечание
Утилита iw делает различие между именами физических устройств, такими как phy0, и именами сетевых интерфейсов, например wlan0, и позволяет вам изменить различные параметры в каждом случае. Можно даже создать несколько сетевых интерфейсов для единственного физического устройства. Тем не менее почти во всех основных случаях вы будете использовать имя сетевого интерфейса.
Для подключения сетевого интерфейса к незащищенной беспроводной сети воспользуйтесь такой командой:
# iw wlan0 connect network_name
Подключение к защищенным сетям — это совсем другая история. Для довольно ненадежной системы WEP (Wired Equivalent Privacy, протокол шифрования в беспроводной связи) можно использовать в команде iw параметр keys. Однако, если вы серьезно относитесь к защите, не следует применять протокол WEP.
9.23.2. Безопасность беспроводных сетей
Для большинства настроек беспроводной сети Linux опирается на демон wpa_supplicant, который управляет аутентификацией и шифрованием для интерфейса беспроводной сети. Этот демон может работать со схемами аутентификации WPA (Wi-Fi Protected Access, защищенный доступ к беспроводной сети) и WPA2, а также почти с любым типом шифрования, используемым в беспроводных сетях. При своем первом запуске этот демон читает конфигурационный файл (по умолчанию /etc/wpa_supplicant.conf) и пытается идентифицировать себя с точкой доступа, а затем установить связь на основе предоставленного имени сети. Система хорошо документирована; в частности, страницы руководства wpa_supplicant(1) и wpa_supplicant.conf(5) содержат множество подробностей.
Ручной запуск демона каждый раз, когда вам необходимо установить соединение, является слишком трудоемким. На самом деле уже само создание файла конфигурации довольно утомительно вследствие большого количества возможных вариантов. Чтобы усугубить ситуацию, все работы по запуску утилиты iw и демона wpa_supplicant всего лишь позволяют вашей системе физически подключиться к беспроводной сети, при этом не выполняется даже настройка сетевого уровня. Именно здесь такие менеджеры автоматической сетевой конфигурации, как NetworkManager, избавляют от большей части неприятных моментов. Хотя они не выполняют никакой работы самостоятельно, им известна правильная последовательность действий и необходимая конфигурация для каждого шага на пути к получению работающей беспроводной сети.
9.24. Резюме
Понимание места и роли различных сетевых уровней очень важно для усвоения того, как происходит работа с сетью в Linux и каким образом выполняется конфигурирование сети. Хотя мы рассмотрели только основы, более сложные темы, связанные с физическим, сетевым и транспортным уровнями, подобны тому, что вы увидели. Сами уровни зачастую делятся на более мелкие части из-за различных составляющих физического слоя беспроводной сети.
Значительная часть действий, которые вы наблюдали в этой главе, происходит в ядре с добавлением некоторых основных управляющих утилит из пространства пользователя, работающих с внутренними структурами данных ядра (например, с таблицами маршрутизации). Это традиционный способ работы с сетями. Однако некоторые задачи не подходят для ядра из-за своей сложности и требуемой от них гибкости. Тогда к делу подключаются утилиты из пространства пользователя. В частности, менеджер NetworkManager контролирует ядро и выполняет запросы, а затем управляет конфигурацией ядра. Еще один пример — поддержка протоколов динамической маршрутизации, таких как протокол BGP (Border Gateway Protocol, пограничный шлюзовый протокол), который используется в больших интернет-маршрутизаторах.