Точка доступа из десктопа с использованием внешного шлюза и dhcp

Имеется USB  адаптер Acorp WUG и рабочая машина(ffadm) с Debian Lenny, нужно настроить этот компьютер в качестве точки доступа для ноутбуков(ffeee), при этом IP адреса должны выдаваться от находящегося в локальной сети DHCP сервера (ffserv)

Обалдеть, теоретически всё так просто, а на деле оказалось, что есть целая куча проблем связанных в драйверами, например в Ubuntu 8.04.3 этот адаптер не переводится в режим точки доступа, а в Debian lenny при одних настройках каждый раз работает с вероятностью 50%, за то потрясающая гибкость

Настройка wifi соединения в режиме точки доступа(ffadm) (пока без шифрования)

ifconfig wlan0 down 
iwconfig wlan0 mode ad-hoc
iwconfig wlan0 essid home
iwconfig wlan0 channel 6
iwconfig wlan0 freq 2.412G
ifconfig wlan0 up

Настройка wifi соединения на ноутбуке (ffeee)

ifconfig wlan0 down
iwconfig wlan0 essid home
iwconfig wlan0 ap auto
iwconfig wlan0 channel auto
iwconfig wlan0 freq 2.412G
ifconfig wlan0 up
dhclient3 wlan0

Перед изменением режима работы WiFi адаптеров их необходимо останавливать вот так ifconfig wlan0 down иначе будут ошибки типа

Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

Теперь нужно разрулить получение от dhcp адреса от ноутбука, то-есть придётся настраивать мост и перестроить сетевые интерфейсы на десктопе(ffadm), для этого нужно установить средства управления мостами (bridge)

aptitude install bridge-utils

теперь необходимо озаботиться деактивацией подключаемых в мост интерфейсов(ffadm) (eth0, wlan0), если они были активированны

ip addr flush dev eth0
ip addr flush dev wlan0

создаём мост и добавляем в него нужные интерфейсы(ffadm)

brctl addbr bridge 
brctl addif bridge eth0
brctl addif bridge wlan0
# получаем IP для моста(на ffadm) DHCP
dhclient3 bridge

Для привязки ноутбука к одномк DNS имени (ffeee) по MAC адресу его сетевой карты и WiFi адаптера необходимо в настройки dhcp3 добавить секцию для wifi адаптера ноута

host eee{
  hardware ethernet 00:1F:C6:E9:0B:8D;
  fixed-address ffeee.a;
}
host eee-wifi{
  hardware ethernet 00:15:AF:95:BF:67;
  fixed-address ffeee.a;
}

Теперь ноутбут будет одинаково хорошо подключать в сети и иметья одно имя, что по-моему удобнее чем запоминать кучи алиасов

А теперь нужно разобраться как это хозяйство заставить запускаться автоматически, учитывая при этом то, что usb WiFi адаптер не всегда покдлючен, пока что я сделал так, выкинул из /etc/network/interfaces  и добавил код запускующуй и создающий мост совсместно с WiFi соединением

auto bridge
iface bridge inet dhcp
    pre-up ifconfig eth0 down
    pre-up ifconfig wlan0 down
    pre-up brctl addbr bridge
    pre-up brctl addif bridge eth0
    pre-up brctl addif bridge wlan0
    pre-up iwconfig wlan0 mode ad-hoc
    pre-up iwconfig wlan0 essid home
    pre-up iwconfig wlan0 channel 6
    pre-up iwconfig wlan0 freq 2.412G
    pre-up ifconfig eth0 up
    pre-up ifconfig wlan0 up
    post-down ifconfig eth0 down
    post-down ifconfig wlan0 down
    post-down brctl delif bridge eth0
    post-down brctl delif bridge wlan0
    post-down ifconfig bridge down
    post-down brctl delbr bridge

С таким конфигом сеть ни за что не запустится если не вставлен WiFi адаптер, ну и разумеется пока отсутствует шифрование

Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут