суббота, 9 февраля 2013 г.

Настройка wi-fi точки доступа в Debian.

Хочу сразу предупредить не использую никакие network-manager'ы ибо не тру :).

Определяем модель устройства:
Для usb затычек:
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 003 Device 003: ID 04f3:0103 Elan Microelectronics Corp.
Bus 006 Device 002: ID 7392:7711 Edimax Technology Co., Ltd EW-7711UTn nLite Wireless Adapter [Ralink RT2870]
Для PCI устройств использовать:
# lspci
В моем случае модель это EW-7711UTn на основе чипа Ralink RT2870 и установка сводиться к:
# aptitude install firmware-ralink
Для других устройств нужно пойти на http://wiki.debian.org/WiFi
найти свое устройство в списке и почитать руководство по установке драйвера.
После чего установить пакет wireless-tools:
# aptitude update
# aptitude install wireless-tools
Затем в /etc/network/interfaces прописываем наш интерфейс:
auto wlan0
iface wlan0 inet static
      address 192.168.1.1
      netmask 255.255.255.0
Перезапускаем сеть:
# /etc/init.d/networking stop
# /etc/init.d/networking start
или
# service networking restart
После чего проверить поднялся ли интерфейс:
# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 80:1f:02:42:2e:d5  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::821f:2ff:fe42:2ed5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3670828 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1959115 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1163320151 (1.0 GiB)  TX bytes:180098936 (171.7 MiB)
Затем установить hostapd:
# aptitude install hostapd
В файл /etc/hostapd/hostapd.conf (если такого файла нет нужно его создать):
interface=wlan0
ssid=MyAP
country_code=RU
hw_mode=g
channel=8
macaddr_acl=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_passphrase=123123123
wpa_pairwise=TKIP 
rsn_pairwise=CCMP
Где interface      - имя интерфейса у нас wlan0.
    ssid           - имя точки доступа.
    country_code   - код страны (RU,UA,US и тд.).
    wpa_passphrase - пароль точки доступа.
все остальное это настройки шифрования и режимов подключения.
Если будут проблемы с качеством сигнала попробуйте поменять channel
на какой-нибудь другой.

Как раздать интернет.
Есть много способов я использую iptables + isc-dhcp-server.
Можно также посмотреть в сторону dnsmasq.
Устанавливаем dhcp сервер:
# aptitude install isc-dhcp-server
в самый конец /etc/dhcp/dhcpd.conf дописать:
subnet 192.168.1.0 netmask 255.255.255.0
{
 range 192.168.1.3 192.168.1.254;
 option domain-name-servers 8.8.8.8;
 option routers 192.168.1.1;
 
}
Где:
   subnet 192.168.1.0 netmask 255.255.255.0; - определение подсети в которой компьютеры будут получать 
                                               ip в нашем случае для wlan0 с ip 192.168.1.1 подсеть 
                                               будет 192.168.1.0 .
   range 192.168.1.3 192.168.1.254;          - диапазон адресов которые будут выдаваться dhcp сервером.
   option domain-name-servers 8.8.8.8;       - адрес DNS-сервера который будет выдаваться
                                               подключающемуся компьютеру.
   option routers 192.168.1.1;               - ip точки доступа (wlan0).
Перезапускаем dhcp-сервер:
# service isc-dhcp-server restart
Последний штрих настройка форвардинга и NAT
Разрешаем форвардинг:
# sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
Настраиваем iptables:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -o eth0 -j ACCEPT
# iptables-save > /etc/wifi-iptables.conf
# echo '#!/bin/sh' > /etc/network/if-up.d/iptables 
# echo 'iptables-restore < /etc/wifi-iptables.conf' >> /etc/network/if-up.d/iptables 
# chmod +x /etc/network/if-up.d/iptables 
Где:
    eth0 - имя вашего основного сетевого интерфейса. В основном eth0, но может и отличаться.

Вот вроде бы всё.


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

  1. Что делать если после всех действий в списке доступных сетей так и нет моей?

    ОтветитьУдалить
    Ответы
    1. Мне нужно больше информации чтобы вам помочь.
      Дайте вывод lspci и ifconfig -a для начала.

      Удалить
  2. Не работает. После всех действий - ничего. Оставлю вывод ifconfig на всякий случай.

    eth0 Link encap:Ethernet HWaddr 00:14:2a:bf:cd:73
    inet addr:192.168.0.6 Bcast:192.168.0.255 Mask:255.255.255.0
    inet6 addr: fe80::214:2aff:febf:cd73/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1326 errors:0 dropped:0 overruns:0 frame:0
    TX packets:875 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:1264429 (1.2 MiB) TX bytes:139559 (136.2 KiB)
    Interrupt:22 Base address:0x2000

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    pan0 Link encap:Ethernet HWaddr 0e:9c:03:58:3e:f3
    BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    wlan0 Link encap:Ethernet HWaddr 00:21:91:54:6f:20
    inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    ОтветитьУдалить
  3. WTest v4.0 программный комплекс для проверки безопасности беспроводных сетей.
    Бесплатный интернет через Wi-Fi.
    Видео: https://goo.gl/H1tyyk

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