Создание программной точки доступа

Материал из База знаний проекта Russian Fedora

Перейти к: навигация, поиск

Данная статья описывает процесс создания программной точки доступа Wi-Fi (software access point, SAP) используя USB wi-fi адаптер. Работа с PCI-адаптерами не сильно отличается. В данной статье рассматривается простой случай, когда драйвер и firmware карты доступа существует в природе и поддерживает создание SAP. Предполагается, что компьютер имеет 2 сетевых интерфейса, в дальнейшем будут именоваться как eth0 (ethernet) и wlan0 (wi-fi SAP). Адаптеру wlan0 будет присвоен адрес 192.168.1.1; адреса по wi-fi будут выдаваться в диапазоне 192.168.1.10...100.

Порядок действий:

  1. Подключить устройство к USB. Убедиться, что оно распознано, выполнив команду lsusb (в её выводе должно быть устройство). Для устройств PCI команда называется lspci;
  2. Установить, если не установлены, следующие пакеты: wireless-tools, hostapd;
  3. Отредактировать /etc/hostapd/hostapd.conf, как показано ниже. Вместо wlan0 выставить название интерфейса из ifconfig -a, если оно отличается от wlan0. MyAP - имя SAP, MyPass - пароль:
     interface=wlan0 
     driver=nl80211
     ssid=MyAP
     country_code=RU
     hw_mode=g
     channel=1
     macaddr_acl=0
     wpa=3
     wpa_key_mgmt=WPA-PSK
     wpa_passphrase=MyPass
     wpa_pairwise=TKIP CCMP
  4. Открыть system-config-network, на вкладке "Устройства" выбрать "Создать", выбрать "Беспроводное соединение", на следующем шаге выбрать наш интерфейс (обычно - wlan0), на следующем шаге выбрать управляемый режим, SSID - из hostapd.conf, на следующем шаге присвоить статический IP-адрес (сеть не должна совпадать с существующей сетью), маску подсети (обычно - 255.255.255.0), адрес основного шлюза (к которому подключен основной проводной адаптер), в качестве DNS можно выбрать OpenDNS, 208.67.222.222 и 208.67.220.220 в качестве первичного и вторичного), на следующем шаге всё проверить и нажать "Применить", сохранить изменения (Файл - сохранить).
  5. hostapd: подключить systemctl enable hostapd.service и запустить systemctl start hostapd.service, перезагрузить сеть (systemctl restart network.service);
  6. С этого момента можно проверить доступность SAP с помощью любого wi-fi устройства. Не ожидайте, что вы подключитесь и попадёте в Интернет.
  7. Установить dhcpd, отредактировать /etc/dhcp/dhcpd.conf подобным образом (subnet должна включать в себя wlan0):
    subnet 192.168.1.0 netmask 255.255.255.0 {
    	option routers                  192.168.1.1;
            option subnet-mask              255.255.255.0;
    
            option domain-name              "example.com";
            option domain-name-servers       208.67.222.222;
    
    	range 192.168.1.10 192.168.1.100;
    }
  8. Отредактировать /etc/sysconfig/dhcpd, оставив там строку DHCPDARGS="wlan0";
  9. Включить в автозагрузку и запустить dhcpd: systemctl enable dhspd.service; systemctl start dhspd.service;
  10. Включаем форвардинг IP4: в /etc/systemctl.conf устанавливаем net.ipv4.ip_forward = 1
  11. Устанавливаем разрешения и маскарад в iptables, сохраняем результат:
    iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT
    iptables -I FORWARD -d 192.168.1.0/24 -j ACCEPT
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
    /usr/libexec/iptables.init save

В случае проблем с устройством (не определяется), ищите драйвер и firmware к нему на linuxwireless.org