Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Активизация контроллеров LAN и WLAN вручную

19 марта 2014

Как правило, при запуске компьютера контроллеры LAN и WLAN автоматически распознаются и инициализируются. В этой статье рассмотрено, как именно протекает данный процесс и что нужно делать, чтобы при необходимости активизировать эти контроллеры вручную. Разумеется, я не ставлю своей целью научить вас, как настраивать целые сетевые интерфейсы вручную. Гораздо важнее, прочитав раздел, понять основы этого процесса. Кроме того, сообщаемая здесь информация должна пригодиться, если у вас возникнут проблемы с активизацией или автоматическим конфигурированием контроллера WLAN.

Активизация контроллера LAN



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

Распознавание оборудования



Сначала необходимо удостовериться, что в ядро загружен модуль, необходимый для конкретного сетевого контроллера. Часто ядро делает это автоматически. В таком случае команда выполняется без ошибок (см. ниже). Если на данном этапе возникнут проблемы, необходимо проверить, какой сетевой контроллер стоит в вашем компьютере и какой модуль ядра за него отвечает. Соответствующую информацию в таких случаях выдает команда lspci:

<code>root# lspci | grep -i net

02:01.0 Ethernet controller: Intel Corporation 82540EP Gigabit Ethernet

Controller (Mobile) (rev 03)</code>

Это означает, что в ноутбуке используется контроллер Gigabit-Ethernet 82540ЕР от Intel. Далее остается только найти для этого контроллера подходящий драйвер (то есть модуль ядра из каталога /lib/modules/n.n/net/*). Если поискать в Интернете по запросу linux kernel module 82540ЕР, то быстро найдется нужный модуль ядра elOOO:

<code>root# modinfo e1000

filename: /lib/modules/2.6.28-ll-generic/kernel/drivers/net/el000/el000.ko

version: 7.3.21-k3-NAPI

license: GPL

description: Intel® PRO/IOOO Network Driver

author: Intel Corporation, <linux.nics@intel.com>

srcversion: 3472A241AA7F05737E0D2F3</code>


С помощью команды lsmod можно проверить, загрузился ли модуль. Как правило, такое предположение подтверждается — это значит, что Linux правильно распознала контроллер уже при запуске системы. Если же вы получите другой результат, вам понадобится загрузить с помощью modprobe подходящий модуль:

root# modprobe e1000


Команда dmesg показывает, не возникло ли при загрузке модуля ошибок (в дан-номслучаеошибокнебыло).Предупреждение link is not ready всеголишьозна-чает, что интерфейс пока не сконфигурирован и поэтому не активен.

root# dmesg -c

Intel® PRO/IOOO Network Driver — version 7.3.21-k3-NAPI Copyright © 1999-2006 Intel Corporation.

elOOO 0000:02:01.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11 elOOO: 0000:02:01.0: el000_probe: (PCI:33MHz:32-bit) 00:U:25:32:4f:5d elOOO: ethO: el000_probe: Intel® PRO/IOOO Network Connection ADDRCONF(NETDEV_UP): ethO: link is not ready

Чтобы в дальнейшем модуль загружался автоматически, занесите взаимосвязь между интерфейсом ethO и модулем ядра е1000 в файл конфигурации модулей (см. раздел 15.1):

# Файл конфигурации модулей /etc/modprobe.conf или /etc/modprobe.d/aliases alias ethO elOOO

Настройка параметров контроллеров



Обычно сетевой контроллер сам распознает параметры, необходимые для обмена данными по сети. Лишь очень редко приходится вручную настраивать такие параметры, как скорость, дуплексный режим ит.д. В подобных ситуациях вам приго-дитсякоманда ethtool (см. man ethtool).

Активизация интерфейса



Активизируйте сетевой интерфейс с помощью команды ifconfig:

root# ifconfig ethO up


Если модуль ядра не загружен либо загружен неподходящий модуль, выводится сообщение об ошибке ethO: unknown interface: No such device (Неизвестный интерфейс. Такого устройства не существует). Более подробную информацию об успешном или неудачном выполнении ifconfig дает команда dmesg:

root# dmesg -c

elOOO: ethO: el000_watchdog: NIC Link is Up 1000 Mbps Full Duplex,

Flow Control: RX/TX ADDRCONF(NETDEV_CHANGE): ethO: link becomes ready ethO: no IPv6 routers present

Конфигурирование интерфейса



Чтобы задать конфигурацию сетевого интерфейса, сообщите ifconfig его название (ethO) и нужный IP-адрес. Если затем повторно выполнить команду, не указывая адреса, то она отобразит всю имеющуюся в системе информацию о сетевом интерфейсе:

root# ifconfig ethO 192.168.0.2 root# ifconfig eth0

ethO Protocol:Ethernet Hardware Address 00:11:25:32:4F:5D

inet Address:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 Address: fe80::211:25ff:fe32:4f5d/64 scope:connection UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:l RX packets:82 errors:0 dropped:0 overruns:0 frame:0 TX packets:49 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 Send queue size:100 RX bytes:9252 (9.0 KiB) TX bytes:7732 (7.5 KiB) Basic address:0x8000 memory:c0220000-c0240000

Теперь с помощью команды ping можно проверить, разрешено ли вам связаться с другими компьютерами по сети. Благодаря параметру -c 2 отсылается ровно два пакета ping:

root# ping -c 2 192.168.0.1

PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmp_seq=l ttl=64 time=2.95 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.169 ms — 192.168.0.1 ping statistics --2 packets transmitted, 2 received, 0^ packet loss, time 1002ms rtt min/avg/max/mdev = 0.169/1.560/2.952/1.392 ms

Конфигурация сервера имен



Пока команда ping исправно функционирует лишь при условии, что вы правильно укажете IP-адрес. Чтобы можно было находить компьютер и по названию, в файле /etc/resolv.conf должен содержаться IP-адрес сервера имен. В следующем примере предполагается, что в локальной сети есть отдельный сервер имен с IP-адресом 192.168.0.1. Но сервер имен может быть и за пределами сети, если его предоставляет интернет-провайдер.

# /etc/resolv.conv nameserver 192.168.0.1

Шлюз, задаваемый по умолчанию

Пока вы можете обмениваться пакетами только в пределах локальной сети. Чтобы обеспечить и выход в Интернет, компьютер должен «знать», куда направлять такие пакеты. Для этого вам следует указать адрес интернет-шлюза вашей сети с помощью команды route. В следующем примере IP-адрес шлюза — 192.168.0.1:

<code>root# route add default gw 192.168.0.1

root# route -n</code>

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.0.0 0.0.0.0 255.255.255.0 U0 0 0 ethO 0.0.0.0 192.168.0.1 0.0.0.0 UG0 0 0 ethO

Теперь вы сможете посылать пакеты по любым адресам в Интернете:

root# ping -c 2 yahoo.com

PING yahoo.com (216.109.112.135) 56(84) bytes of data.

64 bytes from w2.rc.vip.dcn.yahoo.com (216.109.112.135): icmp_seq=l ttl=52 time=116 ms 64 bytes from w2.rc.vip.dcn.yahoo.com (216.109.112.135): icmp_seq=2 ttl=52 time=115 ms — yahoo.com ping statistics --2 packets transmitted, 2 received, 0^ packet loss, time 999ms rtt min/avg/max/mdev = 115.397/115.807/116.217/0.410 ms

Получение информации о DHCP



Если в сети есть DHCP-сервер, вы можете воспользоваться им при конфигурации. После активизации интерфейса (указывается ifconfig ethO up без дополнительных данных) выполните в Debian и Ubuntu команду dhclient3:

root# dhclient3 eth0


Listening on LPF/eth0/00:ll:25:32:4f:5d Sending on LPF/eth0/00:ll:25:32:4f:5d Sending on Socket/fallback

DHCPDISCOVER on ethO to 255.255.255.255 port 67 interval 3

DHCPOFFER from 192.168.0.1

DHCPREQUEST on ethO to 255.255.255.255 port 67

DHCPACK from 192.168.0.1

bound to 192.168.0.15 — renewal in 36624 seconds.

В SUSE для достижения той же цели требуется команда dhcpcd: root# dhcpcd ethO

В Red Hat и Fedora, равно как и в Debian и Ubuntu, для конфигурации клиентов DHCP используется dhclient. В любом случае исходная конфигурация этой команды не позволяет вызывать ее вручную. В этих дистрибутивах dhclient можно использовать только в рамках процесса Init-V, когда сценарий настраивает конфигурацию сети автоматически.

Деактивизация интерфейса



Чтобы снова деактивизировать интерфейс, выполните ifconfig с параметром down:

root# ifconfig eth0 down


Управление несколькими контроллерами



Во многих компьютерах содержится по нескольку сетевых контроллеров. Система udev обеспечивает правильное соотнесение оборудования (то есть контроллеров) и названий интерфейсов (ethO, eth1 и т. д.), так что каждый контроллер всегда связывается с одним и тем же интерфейсом.

Активизация контроллера WLAN


На первом этапе нужно загрузить модуль, подходящий для работы с вашим адаптером WLAN. В идеальном случае модуль загрузится автоматически уже при запуске компьютера. Чтобы узнать, удалось ли системе автоматически распознать контроллер, просмотрите результат выполнения команды iwconfig. Она выдает информацию по всем доступным адаптерам WLAN. Следующий вывод был получен на уже не новом ноутбуке Centrino, где применяется контроллер Intel PRO Wireless 2100. Система распознала контроллер автоматически.

root# iwconfig



lo no wireless extensions. (Петлевой интерфейс) ethO no wireless extensions. (Интерфейс LAN) irdaO nowireless extensions. (Инфракрасный интерфейс) panO no wireless extensions. (Интерфейс Bluetooth) ethl unassociated ESSID:off/any Nickname:«ipw2100»

Mode:Managed Channel=0 Access Point: Not-Associated

Bit Rate:0 kb/s Tx-Power:16 dBm

Retry short limit:7 RTS thr:off Fragment thr:off

Encryption key:off

Power Management:off

Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:2 Missed beacon:0

Если такой список результатов выполнения iwconfig отсутствует, вам потребуется самостоятельно загрузить необходимые модули с помощью команды modprobe. Выполнив dmesg или просмотрев /var/log/messages, вы увидите, нормально ли прошла загрузка модуля. При работе с модулем ipw2100 сообщения ядра выглядят так:

root# dmesg | grep ipw2100


ipw2100: Intel® PRO/Wireless 2100 Network Driver, git-1.2.2 ipw2100: Copyright© 2003-2006 Intel Corporation

ipw2100 0000:02:02.0: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11 ipw2100: Detected Intel PRO/Wireless 2100 Network Connection ipw2100 0000:02:02.0: firmware: requesting ipw2100-1.3.fw

Если вы не знаете, какой контроллер WLAN установлен в вашей системе, выполните команду lspci (или lspcmcia, если работаете с картой PCMCIA):

root# lspci


02:02.0 Network controller: Intel Corporation PRO/Wireless LAN 2100 3B Mini

PCI Adapter (rev 04)

Название интерфейса



Некоторые модули ядра, отвечающие за WLAN, предоставляют WLAN-интерфейс не под названием ethn, а как wlann или athn (таков, например, драйвер MadWifi для контроллера Atheros). Подобный метод позволяет снизить риск того, что нумерация сетевых интерфейсов собьется при подключении нового адаптера WLAN.

В принципе измененная номенклатура незначительно влияет на работу системы. Во всех следующих командах также нужно изменить eth1 на wlanO или athO.

Чтобы карта WLAN могла обмениваться информацией с точкой доступа, вам, как правило, потребуется настроить три параметра: режим, последовательность символов SSID и ключ. Режим и SSID настраивается с помощью команды iwconfig:

root# iwconfig eth1 mode managed root# iwconfig eth1 essid wlan-sol


WEP.

Дальнейший ход работы зависит от того, как вы обезопасите доступ WLAN. Наиболее просто (и наименее надежно) устроен метод WEP: при его использовании вы сообщаете шестнадцатеричный ключ команде iwconfig:

root# iwconfig eth1 key c8192b13adf4ee58309953eebe

Если все пройдет удачно, то dmesg -c выдаст несколько новых сообщений ядра, которые будут выглядеть примерно так:

root# dmesg -c

ieee80211_crypt: registered algorithm 'WEP' ADDRCONF(NETDEV_CHANGE): ethl: link becomes ready eth1: no IPv6 routers present

WPA.

Работа WPA или WPA2 построена несколько сложнее. В данном случае в ходе инициализации соединения и дальнейшего обмена информацией применяются постоянно изменяющиеся ключи, генерируемые фоновой программой wpa_supplicant из одноименного пакета. Установив этот пакет, создайте конфигурационный файл с названием /etc/wpa_supplicant.conf.

В этом файле содержатся некоторые глобальные настройки, а также специфические параметры для конкретных сетей WLAN. В следующем примере показан простейший вариант конфигурации, которого достаточно для соединения компьютера с точкой доступа или WLAN-роутером методом персонального шифрования WPA или WPA2. Два самых важных параметра — это ssid для идентификации сети и psk, содержащий ключ, повторно зашифрованный в целях безопасности (ключ WPA также можно указать в кавычках обычным текстом).

<code># /etc/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant

network={

ssid="sol"

Psk=00a38f42e6681596ela5a4c5ede9al5250fb2a01c21028c6d490bb3458b8ea00

}

network={

ssid="wlan-sol2"

Psk=053633deb59038da9e9168e015fef97d3d54ae3794d4al2d31ee75a830cccec2

}</code>

При шифровании WPA-пароля, состоящего из нескольких слов, поможет команда wpa_passphrase. Результат ее выполнения можно скопировать прямо в файл wpa_supplicant.conf, после чего по возможности следует удалить ту строку, в которой пароль записан обычным текстом.

<code>root# wpa_passphrase sol 'Мой секретный-пресекретный пароль!'

network={ ssid="sol"

#рэк="Мой секретный-пресекретный пароль!"

Psk=020d93e2ddb2cdee51e800b977ff7d58fde47d0913cd394f2133648al47f513f

}</code>

Теперь можно запустить wpa_supplicant. Команда будет работать, пока вы не завершите ее, нажав Ctrl+C. Эта команда отвечает за инициализацию WLAN-соеди-нения, а в дальнейшем — за регулярное обновление ключа к соединению. Другими словами, пока вы работаете с WLAN, должна работать и эта программа. Продолжайте работу в другой консоли.

Еще несколько замечаний о параметрах команды: -i указывает сетевой интерфейс, -c — конфигурационный файл (его название можете выбрать на свое усмотрение); -D указывает, какой драйвер WLAN вы используете. Для начала попробуйте поработать с wext — это общий интерфейс WLAN, поддерживаемый многими драйверами. Только если этот интерфейс не заработает, прямо укажите свой драйвер, например, -D madwifi. Справка man wpa_supplicant выдает список всех поддерживаемых драйверов:

root# wpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant.conf

Trying to associate with 00:13:46:b5:25:6e (SSID='soV freq=0 MHz) Associated with 00:13:46:b5:25:6e

WPA: Key negotiation completed with 00:13:46:b5:25:6e [PTK=TKIP GTK=TKIP] CTRL-EVENT-CONNECTED — Connection to 00:13:46:b5:25:6e completed (auth) [id=0 id_str=]


Конфигурация сети



Теперь нам предстоит подключить интерфейс WLAN к сети. Для этого, как и при работе с интерфейсами LAN, используется команда ifconfig. Если в сеть необходимо интегрировать компьютер с IP-адресом 192.168.0.12, команда будет выглядеть так:

root# ifconfig eth1 up 192.168.0.12

С помощью ping можно проверить, работает ли соединение с роутером WLAN или точкой доступа (для этого нужно знать IP-адрес роутера или точки доступа соответственно). Чтобы иметь возможность выходить в Интернет, требуется также настроить адрес шлюза и сервер имен — эти вопросы рассматривались в начале этого раздела.

Определение статуса WLAN. Команда iwconfig в обобщенном виде выдает важнейшие данные, касающиеся всех интерфейсов WLAN:

root# iwconfig eth1


ethl IEEE 802.11b ESSID:«wlan-sol2» Nickname:«ipw2100»

Mode:Managed Frequency:2.462 GHz Access Point: 00:16:B6:9D:FF:4B

Bit Rate=ll Mb/s Tx-Power:16 dBm

Retry short limit:7 RTS thr:off Fragment thr:off

Encryption key:6C23-CB3C-EB50-97A9-1884-0128-C42C-80E4 Security mode:open Power Management:off

Link Quality=86/100 Signal level=-72 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:4 Missed beacon:0

Общая информация о текущем качестве WLAN-соединения также содержится в псевдофайле /proc/net/wireless:

root# cat /proc/net/wireless


Inter-| sta-| Quality | Discarded packets | Missed | WE

face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 ethl: 0020 91. 189. 0.00004 0

Иногда бывает полезна команда iwlist: она позволяет определить возможные настройки для различных предлагаемых параметров, а также вариант, активный в настоящий момент. В двух следующих примерах показан активный частотный канал и сети WLAN, находящиеся в зоне досягаемости:

root# iwlist eth1 channel


ethl 14 channels in total: available frequencies: Channel 01: 2.412 GHz Channel 02: 2.417 GHz

Channel 12: 2.467 GHz Channel 13: 2.472 GHz Current Channel=10 root# iwlist eth1 scan

eth1 Scan completed:

Cell 01 — Address: 00:13:46:B5:25:6E ESSID:«so!»

ProtocoLIEEE 802.11bg Mode:Master Channel:6 Encryption key:on

Cell 02 — Address: 00:16:B6:9D:FF:4B ESSID:«wlan-sol2»
Читайте так же:
Конфигурационные файлы LAN

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать