суббота, 19 февраля 2011 г.

Настройка wi-fi точки доступа на лаптопе

Имеется лаптоп с беспроводным broadcom-адаптером bcm4312. Задача "раздавать интернет" на другие wifi-устройства.

Пунктики:

Перевод беспроводного интерфейса в режим точки доступа. Через iwconfig сделать не удалось. Сделал через hostapd. Подправив /etc/hostapd.conf до следующего вида:

interface=wlan0
driver=nl80211

ssid=YOUR_AP_NAME

country_code=RU

hw_mode=g

channel=11



macaddr_acl=0



wpa=3

wpa_key_mgmt=WPA-PSK

wpa_passphrase=YOUR_PASSWORD

wpa_pairwise=TKIP CCMP


Перезапустил hostapd

sudo service hostapd start


Проверил, что интерфейс в режиме точки доступа командой iwconfig, увидел что все в норме:

wlan0 IEEE 802.11bg Mode:Master Frequency:2.462 GHz Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off


Далее в /etc/network/interfaces добавил параметры интерфейса wlan0, теперь файлик имеет вид:

auto lo

iface lo inet loopback



auto eth0

iface eth0 inet static

address 10.3.51.102

network 10.3.50.0

netmask 255.255.254.0

gateway 10.3.50.1



auto wlan0

iface wlan0 inet static

address 192.168.0.1

network 192.168.0.0

netmask 255.255.255.0

broadcast 192.168.0.255


DNS для eth0 прописан в /etc/resolv.conf

nameserver 193.124.209.65


Перезапустил интерфейсы

sudo /etc/init.d/networking restart


Проверил, через ifconfig появления wlan0 в списке:

wlan0 Link encap:Ethernet HWaddr 00:1c:26:30:9f:34
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21c:26ff:fe30:9f34/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:13144 (13.1 KB)


После этого настроил dns и dhcp для wlan0 путем добавления в dnsmasq.conf строчек:

# Never forward plain names (without a dot or domain part)

domain-needed

# Never forward addresses in the non-routed address spaces.

bogus-priv

dhcp-range=192.168.0.50,192.168.0.150,12h


Теперь точка доступа раздает адреса. Нужно настроить NAT. Сделал через iptables:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADED

sudo iptables-save > /etc/iptables.up.rules


Разрешил портфорвардинг в /etc/sysctl.conf

net.ipv4.ip_forward = 1


Добавил в /etc/network/interfaces строчки:

pre-up iptables-restore < /etc/iptables.up.rules

up route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1

up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0

Вуаля, после перезагрузки все работает как надо.



3 комментария:

  1. ой, только не рассказывай что все это ты почерпнул из манов :) давай ссылки на оригиналы в народ!

    ОтветитьУдалить
  2. ))))

    http://habrahabr.ru/blogs/linux/89420/
    http://help.ubuntu.ru/wiki/wifi_ap
    http://kubuntu.ru/nat-iptables

    с помощью манов я убился бы )

    ОтветитьУдалить
  3. правда iptables сам настроил, но возник какой-то глюк, в результате последняя ссылка помогла

    ОтветитьУдалить