Без сети в 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