Иногда требуется создать временную точку доступа по Wi-Fi для определенных нужд (раздача интернета, игры по сети, обмен файлами и т.д.), в моем случаи это подключение смартфона к сети интернет.
Первым дело проверим поддерживает ли карточка Wi-Fi создание точки доступа:
1
|
sudo
lshw
|
less
|
Стрелками вверх/вниз перемещаемся к разделу PCI и ищем наше устройство.
Далее смотрим, какой драйвер использует система для работы с Wi-Fi адаптером. Если используется ath5k или ath9k, то значит можете смело читать дальше. Если же будет madwifi, то данное руководство к вам не подойдёт, т.к. при настройке madwifi есть несколько нюансов.
Для создания точки доступа в Ubuntu нам понадобится установить две дополнительные утилиты: hostapd (обеспечивает работу сетевой карты в режиме точки доступа) и dnsmasq (выступает в качестве DHCP и DNS сервера).
Итак установим необходимые пакеты:
1
|
sudo
apt
-
get
install
hostapd
dnsmasq
|
Следующие команды останавливают работающие утилиты и отключают их запуск при загрузке системы:
1
2
3
4
|
sudo
service
hostapd
stop
sudo
service
dnsmasq
stop
sudo
update
-
rc
.d
hostapd
disable
sudo
update
-
rc
.d
dnsmasq
disable
|
Теперь нужно прописать минимальные конфиги. Для dnsmasq:
1
|
sudo
gedit
/
etc
/
dnsmasq
.conf
|
И вписываем строки:
1
2
3
4
5
6
|
# Bind to only one interface
bind
-
interfaces
# Choose interface for binding
interface
=
wlan0
# Specify range of IP addresses for DHCP leasses
dhcp
-
range
=
192.168.150.2
,
192.168.150.10
|
Для hostapd:
1
|
sudo
gedit
/
etc
/
hostapd
.conf
|
Соответственно вставляем в конце всех строк. Имя точки - dell-wifi, можно сменить по-своему усмотрению (имя_точки_без_пробелов), и пароль - parolone (не менее 8 символов):
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# Define interface
interface
=
wlan0
# Select driver
driver
=
nl80211
# Set access point name
ssid
=
dell
-
wifi
# Set access point harware mode to 802.11g
hw_mode
=
g
# Set WIFI channel (can be easily changed)
channel
=
6
# Enable WPA2 only (1 for WPA, 2 for WPA2, 3 for WPA + WPA2)
wpa
=
2
wpa_passphrase
=
parolone
|
И создаем скрипт start.sh, который переводит сетевую карту в режим точки доступа и обратно. Если интернет через кабель то соответственно меняем ppp0 на eth0:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/bin/bash
# Start
# Configure IP address for WLAN
sudo
ifconfig
wlan0
192.168.150.1
# Start DHCP/DNS server
sudo
service
dnsmasq
restart
# Enable routing
sudo
sysctl
net
.ipv4
.ip_forward
=
1
# Enable NAT
sudo
iptables
-
t
nat
-
A
POSTROUTING
-
o
ppp0
-
j
MASQUERADE
# Run access point daemon
sudo
hostapd
/
etc
/
hostapd
.conf
# Stop
# Disable NAT
sudo
iptables
-
D
POSTROUTING
-
t
nat
-
o
ppp0
-
j
MASQUERADE
# Disable routing
sudo
sysctl
net
.ipv4
.ip_forward
=
0
# Disable DHCP/DNS server
sudo
service
dnsmasq
stop
sudo
service
hostapd
stop
|
Вот и все! Запускаем наш скрипт в терминале при включенном Wi-Fi адаптере.