- Вопрос или проблема
- Моя задача: Настроить и запустить Точку доступа (AP) на планшете (x86) с Linuxmint с доступом с устройств, подключенных к созданной AP.
- Я выполнил следующие части:
- 1. Создал виртуальный WiFi интерфейс
- 2. Добавил новый виртуальный интерфейс в игнорируемые для NetworkManager
- 3. Настроил hostapd
- 4. Настроил DHCP сервер
- искусственный сервер DHCP конфигурация
- 5. Назначен статический IP адрес для созданного виртуального интерфейса
- Вышеописанные части работают, и я могу подключиться к AP.
- ifconfig вывод:
- Проблема:
- Вопрос:
- Ответ или решение
- 1. Проверка конфигурации сетевых интерфейсов
- 2. Проверка настроек DHCP-сервера
- 3. Проверка настроек hostapd
- 4. Проверка маршрутизации и блокировок
- 5. Проверьте маршруты
- 6. Устранение проблем с маршрутизацией
- Итоги
Вопрос или проблема
Моя задача: Настроить и запустить Точку доступа (AP) на планшете (x86) с Linuxmint с доступом с устройств, подключенных к созданной AP.
Предыстория как дополнительная информация (но это не тема вопроса, реальный вопрос в конце описания):
- Некоторые измерительные устройства должны подключаться к этому планшету через AP и отправлять данные через tcp сокет.
Я выполнил следующие части:
1. Создал виртуальный WiFi интерфейс
- созданный интерфейс работает изолированно (не в режиме моста, как маршрутизатор)
Все скрипты предоставлены для физического WiFi интерфейса wlp1s0
Я создал виртуальный интерфейс с именем wlp1s0_ap
- Создан файл блока (сервиса) как
/lib/systemd/system/[email protected]
[Unit]
Description=Создать виртуальный беспроводной интерфейс
Requires=sys-subsystem-net-devices-wlp1s0.device
#После=network.target
After=sys-subsystem-net-devices-wlp1s0.device
[Service]
Type=oneshot
#ExecStart=/usr/sbin/iw dev wlp1s0 interface add %I type __ap addr "00:0c:e3:6f:78:ee"
ExecStart=/usr/sbin/iw dev wlp1s0 interface add %I type managed addr "00:0c:e3:6f:78:ee"
#ExecStart=/usr/bin/iw dev wlan0 interface add wlp1s0_ap type __ap addr "00:0c:e3:6f:78:ee"
[Install]
WantedBy=multi-user.target
-
Затем выполните
systemctl enable wireless-device@wlp1s0_ap.service
-
Перезагрузите ПК
2. Добавил новый виртуальный интерфейс в игнорируемые для NetworkManager
редактировать:
sudo nano /etc/NetworkManager/NetworkManager.conf
добавив wlp1s0_ap созданный интерфейс в раздел unmanaged-devices (Внимание! добавьте к уже существующим)
[keyfile]
unmanaged-devices=interface-name:wlp1s0_ap
выполните
sudo nmcli general reload
3. Настроил hostapd
Я назвал AP как EVT
с паролем ******
. Более подробная информация ниже.
- установить
hostapd
sudo apt install hostapd
- отредактировать файл
sudo nano /etc/default/hostapd
- текущая версия ниже
DAEMON_CONF="/etc/hostapd/hostapd.conf"
- отредактировать файл конфигурации (ниже приведён текущий вариант):
sudo nano /etc/hostapd/hostapd.conf
interface=wlp1s0_ap
driver=nl80211
country_code=EE
ssid=EVT
wpa_passphrase=****
hw_mode=g
channel=10
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
ieee80211n=1
- демон запускается как
sudo systemctl start hostapd
4. Настроил DHCP сервер
Выбран DHCP сервер isc-dhcp-server
.
искусственный сервер DHCP конфигурация
- установка:
sudo apt install isc-dhcp-server
- отредактировать файл
sudo nano /etc/dhcp/dhcpd.conf
, (ниже текущий вариант):
# dhcpd.conf
#INTERFACES="wlp1s0_ap"
option domain-name "etv.org";
option domain-name-servers 192.168.1.2, 192.168.1.3;
default-lease-time 86400;
max-lease-time 604800;
ddns-update-style none;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
interface wlp1s0_ap;
## диапазон IP для dhcp ##
range 192.168.1.100 192.168.1.200;
option subnet-mask 255.255.255.0; ## подсеть
option broadcast-address 192.168.1.255; ## широковещательный адрес
option routers 192.168.1.254; ## IP маршрутизатора
}
Демон запускается как
service isc-dhcp-server start
5. Назначен статический IP адрес для созданного виртуального интерфейса
Я изменил файл, чтобы назначить IP 192.168.1.111
интерфейсу wlp1s0_ap
:
sudo nano /etc/network/interfaces
содержимое файла /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto wlp1s0_ap
iface wlp1s0_ap inet static
address 192.168.1.111
netmask 255.255.255.0
gateway 192.168.1.0
broadcast 192.168.1.255
dns-nameservers 192.168.1.2,192.168.1.3
Вышеописанные части работают, и я могу подключиться к AP.
ifconfig
вывод:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1386 bytes 149889 (149.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1386 bytes 149889 (149.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.92.22 netmask 255.255.255.0 broadcast 172.20.92.255
inet6 fe80::9ea9:58d3:aa31:b7e9 prefixlen 64 scopeid 0x20<link>
ether 00:0c:e3:6f:78:ed txqueuelen 1000 (Ethernet)
RX packets 1111808 bytes 125498550 (125.4 MB)
RX errors 0 dropped 7507 overruns 0 frame 0
TX packets 23673 bytes 3070974 (3.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp1s0_ap: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:e3ff:fe6f:78ee prefixlen 64 scopeid 0x20<link>
ether 00:0c:e3:6f:78:ee txqueuelen 1000 (Ethernet)
RX packets 808 bytes 124999 (124.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 893 bytes 155057 (155.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Проблема:
Однако я не могу связаться с этим планшетом
Например, ping
на назначенный IP ping 192.168.1.111
дает следующий ответ:
PING 192.168.1.111 (192.168.1.111) 56(84) bytes of data.
From 192.168.1.101 icmp_seq=1 Host недоступен
From 192.168.1.101 icmp_seq=2 Host недоступен
From 192.168.1.101 icmp_seq=3 Host недоступен
From 192.168.1.101 icmp_seq=4 Host недоступен
^C
--- 192.168.1.111 статистика ping ---
5 пакетов отправлено, 0 получено, +4 ошибок, 100% потеря пакетов, время 4065мс
вывод telnet:
~$ telnet 192.168.1.111
Попытка 192.168.1.111...
telnet: Не удается подключиться к удаленному хосту: Нет маршрута к хосту
Вопрос:
- Что я пропустил?
- Как настроить доступ к планшету, на котором работают
hostapd + DHCP
?
Ответ или решение
Для успешной настройки Access Point (AP) на вашем планшете с Linux Mint, чтобы устройства могли подключаться и взаимодействовать с планшетом, необходимо обратить внимание на несколько важных аспектов. Давайте подробно разберем ваш случай, добавив недостающие элементы конфигурации и процесс устранения неполадок.
1. Проверка конфигурации сетевых интерфейсов
Убедитесь, что интерфейсы правильно настроены. Ваша конфигурация, которая включает wlp1s0_ap
, выглядит корректной, так как у него назначен статический IP-адрес 192.168.1.111
. Однако, убедитесь, что таблица маршрутизации на устройствах-клиентах, подключенных к AP, настроена правильно. Убедитесь, что они получают правильные адреса (например, в диапазоне 192.168.1.100
–192.168.1.200
).
2. Проверка настроек DHCP-сервера
Проверьте, что DHCP-сервер правильно запускается и работает, а также что он назначает адреса другим устройствам. Запустите команду для просмотра логов сервера:
sudo tail -f /var/log/syslog | grep dhcpd
Проверьте, появляются ли записи о выдаче IP-адресов. Если DHCP-сервер не выдает адреса клиентам, необходимо устранить проблему.
3. Проверка настроек hostapd
Убедитесь, что hostapd
правильно настроен и запускается. Проверьте логи для hostapd
, чтобы обнаружить возможные ошибки:
sudo journalctl -u hostapd
Если AP не работает, вы можете добавить дополнительные настройки безопасности и улучшить совместимость, изменив тип шифрования на wpa=3
и убедитесь, что у вас установлены необходимые пакеты для работы с вашим драйвером nl80211
.
4. Проверка маршрутизации и блокировок
Убедитесь, что у вас нет активных правил файрвола, которые блокируют доступ к AP. Для временной проверки можно остановить файрвол и проверить связь:
sudo ufw disable
Если это решает проблему, вам нужно будет настроить файрвол, чтобы разрешить доступ для вашего диапазона IP.
5. Проверьте маршруты
Убедитесь, что вы можете обратиться к вашему планшету с подключенного устройства. Выполните команду на клиенте для просмотра текущих маршрутов:
route -n
Убедитесь, что есть маршрут к сети 192.168.1.0
.
6. Устранение проблем с маршрутизацией
Если все вышеописанные шаги не помогли, вам следует проверить настройки iptables
. Если у вас есть дополнительные правила в iptables
, это может блокировать трафик. Для сброса всех правил выполните:
sudo iptables -F
Однако учитывайте, что это удалит все настройки NAT и другие правила.
Итоги
Следуя вышеперечисленным шагам, вы сможете выяснить, в чем заключается проблема с доступом к планшету через созданный AP. Каждый шаг важен для правильной настройки сети и обеспечения стабильной работы сервера. Если после выполнения всех шагов проблема остается, посмотрите другие возможные причинные факторы, такие как оборудование или конфликты с другими сетевыми интерфейсами.