Создание Wi-Fi точки доступа в Linux
Для начала следует установить две программы.
# prt-get depinst hostapd dhcp
Во-первых, hostapd, — программа создает точку доступа к которой по Wi-Fi смогут подключаться любые другие устройства и обмениваться данными.
После установки файл
/etc/hostapd/hostapd.conf
нужно привести к следующему виду.interface=wlan0
driver=nl80211
ieee80211n=1
wmm_enabled=1
ssid=spoofing_home
channel=6
hw_mode=g
ht_capab=[HT40+][SHORT-GI-40][DSSS_CKK-40]
auth_algs=3
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=Voglea'sSecret
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
macaddr_acl=0
В данном случае точка доступа будет называться
spoofing_home
, а пароль для подключения к ней Voglea'sSecret
. Режим точки доступа 802.11n, но всё зависит от оборудования, и если Wi-Fi адаптер имеет всего одну антенну, то скорость передачи данных не превысит 150Mbps.Во-вторых, dhcp, — программа раздаёт IP-адреса, но это необязательно, поскольку IP-адрес при желании возможно указать вручную.
Для настройки dhcp в файл
/etc/dhcpd.conf
нужно добавить два блока.subnet 10.0.0.0 netmask 255.0.0.0 {
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.5 192.168.0.9;
default-lease-time 86400;
max-lease-time 604800;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name "spfng.com";
option domain-name-servers 74.82.42.42, 4.2.2.4, 8.8.8.8, 8.8.4.4;
}
Где
10.0.0.0/8
— локальная сеть провайдера, а раздавать IP-адреса другим абонентам не рекомендуется, поэтому блок с подсетью провайдера намеренно оставлен пустым. Так же необязательно добавлять этот блок в конфигурационный файл, поскольку dhcp-сервер можно запустить просто указав сетевой интерфейс для выдачи IP-адресов.192.168.0.0/24
— подсеть на интерфейсе wlan0. Как видно из примера, указан небольшой диапазон IP-адресов для выдачи, с 192.168.0.5
по 192.168.0.9
.Для запуска Wi-Fi точки доступа и корректной работы сети остаётся только разрешить компьютеру выступать в роли маршрутизатора, для чего и создаётся целый ряд правил для брандмауэра.
#!/bin/bash
set -x
(
WAN=ppp0
LAN=wlan0
ADDR=192.168.0.1
MASK=24
GW=192.168.0.1
/sbin/ip addr add ${ADDR}/${MASK} dev ${LAN} broadcast +
/sbin/ip link set ${LAN} up
/usr/sbin/dhcpd ${LAN}
/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf
/usr/sbin/iptables -t nat -P PREROUTING ACCEPT
/usr/sbin/iptables -t nat -P OUTPUT ACCEPT
/usr/sbin/iptables -t nat -P POSTROUTING ACCEPT
/usr/sbin/iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
/usr/sbin/iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
/usr/sbin/iptables -t filter -A FORWARD -i ${LAN} -o ${WAN} -j ACCEPT
/usr/sbin/iptables -t filter -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
)
Указав корректные WAN — интерфейс с интернетом, LAN — интерфейс Wi-Fi адаптера, а так же IP-адрес и подсеть, скрипт желательно поместить в автозапуск.
На этом настройка точки доступа завершена. Удачной работы за компьютером!