
Иногда требуется создать временную точку доступа по 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 адаптере.