Первый – с использованием NetworkManager
Второй – немного специфичный, без него.
Когда мне пришлось впервые настраивать беспроводную сеть, первый вариант меня не устроил. Так как NM запускается после того как вы залогинились в систему, это не всегда удобно. Второй способ поможет избежать данной проблемы. Он подойдет для серверов или обычных машин, к которым вы не имеете непосредственного локального доступа.
Он нам понадобится только на этапе настройки.
Итак, первый способ:
1. Для начала убедимся, что адаптер нормально определился системой. У меня D-link’овская карточка DWL-G550. Ваша карточка должна присутствовать в выводе команды lspci. Мой адаптер выглядит так:
Код: Выделить всё
lspci
…
Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
…
2. Устанавливаем Ливну. Она понадобится нам для установки драйвера для wi-fi-адаптера
Код: Выделить всё
wget http://rpm.livna.org/livna-release-7.rpm
rpm –ivh livna-release-7.rpm
3. Обновляем ядро, так как модуль ядра для вашего wi-fi-адаптера специфичен для каждой версии. У меня на данном этапе возникли проблемы. Последнее стабильное ядро на момент написания статьи было 2.6.22.1-27, но пакета madwifi, который содержит утилиты для работы с беспроводной сетью и набор драйверов для различных адаптеров, под данную версию ядра не было. Был только под версию 2.6.21-1.3228, поэтому мне пришлось делать даунгрейд до этой версии. Так что рекомендую, для начала, проверить существование этого пакета под ваше ядро.
4. Ну и, наконец, сам пакет madwifi.
Код: Выделить всё
yum install madwifi
5. Теперь загрузим нужный модуль в ядро. Для моей карточки, а так же для всех PCI-карточек на основе набора микросхем от Atheros Communications, модуль называется ath_pci. Если у вас иной адаптер, вам придется узнать название модуля ядра самостоятельно.
Код: Выделить всё
modprobe ath_pci
6. После загрузки модуля в системе должен появиться файл устройства вашей беспроводной карточки. Проверим это:
Код: Выделить всё
iwconfig
lo no wireless extencions
eth0 no wireless extencions
wifi0 no wireless extencions
ath0 IEEE 802.11g ESSID:"Tortuga" Nickname:""
Mode:Managed Frequency:2.437 GHz Access Point: 00:17:9A:41:A8:54
Bit Rate:54 Mb/s Tx-Power:15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX Security mode:restricted
Power Management:off
Link Quality=28/94 Signal level=-67 dBm Noise level=-95 dBm
Rx invalid nwid:1 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
У меня устройство уже настроено, у вас конфиг устройства, конечно, будет отличаться – не обращайте внимания, на данный момент важен только факт его наличия.
7. И, наконец, последний шаг.
Запускаем NetworkManager, выбираем сеть, тип шифрования, вводим пароль. Тут все элементарно, думаю, разберетесь =)
Все готово!
Теперь перейдем ко второму способу.
Первые шесть пунктов из предыдущего способа, естественно, потребуется выполнить и здесь, а вот работу NM нам придется выполнить врукопашную.
Начнем.
7. Если wpa_supplicant не установлен то установите.
Для начала отключим автозапуск NM, wpa_supplicant и нашего сетевого интерфейса.
Код: Выделить всё
chkconfig -–levels 345 NetworkManager off
chkconfig -–levels 345 NetworkManagerDispatcher off
chkconfig -–levels 345 wpa_supplicant off
Теперь отредактируем файл настройки сетевого интерфейса
Код: Выделить всё
vim /etc/sysconfig/network-scripts/ifcfg-ath0
В параметр ONBOOT поставим no
Код: Выделить всё
ONBOOT=no
Забегая вперед, можете сразу добавить в параметр ESSID имя вашей беспроводной сети, а в параметр MODE добавьте Managed
8. Теперь настроим wpa_supplicant
Создадим хэш вашего пароля для доступа к беспроводной сети
Код: Выделить всё
wpa_passphrase <ssid> <passphrase> > /etc/wpa_supplicant/wpa_supplicant.conf
ssid - имя вашей сети
passphrase - пароль доступа к сети
9. Теперь, для будущего удобства, отредактируем файл /etc/sysconfig/wpa_supplicant и добавим в соответствующие переменные имя драйвера и сетевого интерфейса в виде -i<имя интерфейса> -D<имя драйвера>
Код: Выделить всё
INTERFACES=”-iath0”
DRIVERS=”-Dmadwifi”
10. Настало время все это проверить
Код: Выделить всё
wpa_supplicant –iath0 –Dmadwifi –c/etc/wpa_supplicant/wpa_supplicant.conf –B
dhclient ath0
Если сеть поднялась и все в порядке, освободим арендованный IP-адрес и остановим wpa_supplicant
Код: Выделить всё
dhclient ath0 –r
service wpa_supplicant stop
11. Ну и, наконец, настроим автозапуск. Ничего, кроме как написать init-скрипт, мне не пришло в голову. Это, конечно, не совсем изящный способ, не без недостатков, но прекрасно работает и избавил меня от кучи проблем. А самое главное - вы получаете работоспособную сеть сразу после нажатия кнопки включения вашей машины, в отличие от способа номер один, где вам придется залогиниться.
В папке /etc/rc.d/init.d создайте файл с именем wireless-network (имя можете выбрать любое, не принципиально) со следующим содержанием:
Код: Выделить всё
#!/bin/sh
case "$1" in
start)
service wpa_supplicant start
ifup ath0
;;
stop)
ifdown ath0
service wpa_supplicant stop
;;
status)
echo $"Currently active devices:"
echo $(/sbin/ip -o link show up | awk -F ": " '{ print $2 }')
;;
restart)
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
12. Теперь создадим симлинк для запуска скрипта при старте на пятом уровне выполнения, если вы работаете в иксах или третьем уровне, если вы работаете в консоли. Моя машина по-умолчанию грузится в иксы.
Код: Выделить всё
ln –s /etc/rc.d/init.d/wireless-network /etc/rc.d/rc5.d/S98wireless-network
Обратите внимание на имя симлинка. Оно строится из трех компонент:
1. Буквы K и S означают Kill и Start соответственно. Означают остановку или запуск сервиса на данном уровне выполнения.
2. Двузначное число до 99 означает приоритет запуска скриптов. Чем меньше число, тем раньше запустится скрипт
3. Имя сервиса. Тут, думаю все ясно.
Можете поиграться с симлинками для запуска сети на других уровнях.
Ну вот и все, перезагрузитесь и полюбуйтесь на вашу беспроводную сеть =)
Удачи =)