Без сети в Gentoo-desktop катастрофически тяжело. Поэтому еще до того, как я начну настройку и установку программного обеспечения, сразу после получения более-менее работающего собственноручно собранного ядра, настраиваем сеть.

Начну с общего. Для начала пропишу адреса DNS серверов, которые буду использовать. Для этого имеется /etc/resolv.conf

nameserver 8.8.4.4
nameserver 8.8.8.8

Ethernet

Начнем с простого - Ethernet. Предположим, что все необходимые опции в ядре имеются (если нет - гуглим настройку нашей сетевой карточки), то есть ifconfig показывает нам eth0 интерфейс. Далее всё просто, если в вашей сети имеется dhcp, то всё должно заработать из коробки. Максимум придётся включить eth0 интерфейс:

ifconfig eth0 up

Если dhcp отсутствует, задаём вручную IP и, возможно, шлюз по умолчанию

ifconfig eth0 192.168.1.2
route add default gw 192.168.1.1

WiFi

Добавляю опции в настройки ядра, чтобы оно могло определить мою wifi-карточку:

Device Drivers -->
[*] Network device support -->
[*] Wireless LAN
<M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlagn)

Ставлю wpa_supplicant. Необходимо его настроить. Подробней о настройке wpa_supplicant можно почитать на официальном сайте. В моём случае это простейший WEP со статическим паролем

# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
# ограничим доступ к настройкам WPA только для root
ctrl_interface_group=0
# пусть wpa_supplicant заботится о сканировании и выборе точки доступа
ap_scan=1
# подключение с общим ключом WEP (не WPA, не IEEE #802.1X)
network={
  ssid="JASSY-NET"
  key_mgmt=NONE
  wep_key0=simple_static_password
  wep_tx_keyidx=0
  priority=5
}

Как и в большинстве роутеров, в моем имеется dhcp. Буду использовать его, для этого корректируем /etc/conf.d/net.

#/etc/conf.d/net
#Wireless
module="wpa_supplicant"
config_wlan0="dhcp"
dhcp_wlan0="nodns"
note:В самом начале я указал какие DNS сервера буду использовать и не хочу, чтобы точка навязывала свои, о чём говорит опция dhcp_wlan0.

Создаём скрипт инициализации и добавляем его в автозапуск

cd /etc/init.d
cp net.lo net.wlan0
rc-update add net.wlan0 default
note:Существует небольшая проблема. Скрипт rc запускает интерфейс wlan0, но не дожидается, пока он будет инициализирован, а продолжает цепочку загрузки. Таким образом, wlan0 уже поднят, но ему не назначен адрес и проч., то есть интернета нет, а службы зависящие от сети пытаются загрузится. Никакие параметры типа sleep_associate, wait_associate почему-то не помогают, поэтому все службы, которые должны грузится после сети удаляем из rc и прописываем в postup(). Следует учесть, что postup должен отрабатывать только для wlan0:
#/etc/conf.d/net
#Wireless
module="wpa_supplicant"
config_wlan0="dhcp"
dhcp_wlan0="nodns"
postup() {
        if [ ${IFVAR} != "lo" ]; then # prevent lo long wail
                /etc/init.d/ntp-client start
        fi
}

Можно запускать

/etc/init.d/net.wlan0 start

Интернет с мобильного телефона

Настройка bluetooth - тема для отдельного разговора. Если вкратце, необходимо настроить поддержку железа в ядре. Настроить rfcomm, поставить pppd, написать скрипт дозвона


Comments

comments powered by Disqus