- Вопрос или проблема
- Я выполнил следующие части:
- 1. Создан виртуальный WiFi интерфейс
- 2. Добавлен новый виртуальный интерфейс в игнорируемые для NetworkManager
- 3. Настроен hostapd
- 4. Настроен DHCP сервер
- Конфигурация isc-dhcp-server
- 5. Присвоен статический IP-адрес для созданного виртуального интерфейса
- Указанные выше части работают, и я могу подключаться к AP.
- Список ifconfig:
- Проблема:
- Ответ или решение
- 1. Анализ текущей конфигурации
- 2. Шаги по исправлению конфигурации
- 2.1. Проверка настройки DHCP-сервера
- 2.2. Проверка маршрутизации и подключения
- 2.3. Проверка конфигурации hostapd
- 3. Проверка применяемых настроек
- Заключение
Вопрос или проблема
Моя задача: Настроить и запустить Точка доступа (AP) на планшете (x86) с Linux Mint с доступом от устройств, подключенных к созданной AP.
Контекст как дополнительная информация (но это не тема вопроса, реальный вопрос в конце описания):
- Некоторые измерительные устройства должны подключаться к этому планшету через AP и отправлять данные на него через TCP-сокет.
Я выполнил следующие части:
1. Создан виртуальный WiFi интерфейс
- созданный интерфейс работает как изолированный (не в мостовом режиме, как маршрутизатор)
Все скрипты предоставлены для физического WiFi интерфейса wlp1s0
Я создал виртуальный интерфейс с именем wlp1s0_ap
- Создан файл юнита (сервиса) как
/lib/systemd/system/[email protected]
[Unit]
Description=Создание виртуального беспроводного интерфейса
Requires=sys-subsystem-net-devices-wlp1s0.device
#After=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 (NB! добавьте к существующим)
[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
.
Конфигурация isc-dhcp-server
- установить:
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 Destination Host Unreachable
From 192.168.1.101 icmp_seq=2 Destination Host Unreachable
From 192.168.1.101 icmp_seq=3 Destination Host Unreachable
From 192.168.1.101 icmp_seq=4 Destination Host Unreachable
^C
--- 192.168.1.111 ping statistics ---
5 packets transmitted, 0 received, +4 errors, 100% packet loss, time 4065ms
вывод telnet:
~$ telnet 192.168.1.111
Trying 192.168.1.111...
telnet: Unable to connect to remote host: No route to host
Вопросы:
- Что я упустил?
- Как настроить доступ к планшету, на котором работают
hostapd + DHCP
?
Ответ или решение
Как получить доступ к конфигурации IP и порта на планшете с Linux Mint, использующем "hostapd + DHCP"
Чтобы организовать функционирование точки доступа (AP) на вашем планшете с установленной системой Linux Mint и програмным обеспечением "hostapd + DHCP", требуется обеспечить правильную конфигурацию сетевых интерфейсов и возможность взаимодействия между устройствами, подключенными к созданной AP, и самим устройством.
1. Анализ текущей конфигурации
На данный момент вы создали виртуальный интерфейс wlp1s0_ap
, настроили ИП-адрес, запустили службы hostapd
и isc-dhcp-server
. Однако, потери пакетов при попытке подключения указывают на потенциальные проблемы в конфигурации сети.
Проблемы, которые могут возникать:
- Убедитесь, что ваши устройства, подключенные к AP, находятся в том же диапазоне IP-адресов (в вашем случае от
192.168.1.100
до192.168.1.200
) и имеют соответствующую подсеть255.255.255.0
. - Проверьте, что DHCP-сервер правильно выдает IP-адреса клиентам, подключающимся к
wlp1s0_ap
.
2. Шаги по исправлению конфигурации
2.1. Проверка настройки DHCP-сервера
-
Убедитесь, что в файле
/etc/dhcp/dhcpd.conf
указаны правильные параметры, включая диапазон IP-адресов, которые сервер должен выдать:subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.111; # IP вашего AP }
-
Запустите команду для проверки статуса DHCP-сервера:
sudo systemctl status isc-dhcp-server
2.2. Проверка маршрутизации и подключения
-
Убедитесь, что активные подключения с помощью
ifconfig
иip addr
показывают правильные настройки для всех интерфейсов. -
Проверьте, исправно ли работает
iptables
:sudo iptables -L -n -v
Убедитесь, что нет правил, предотвращающих доступ к вашему AP.
-
Временно отключите любые активные фаерволы для тестирования соединения:
sudo ufw disable
-
После изменений проверьте связь с помощью
ping
:ping 192.168.1.111
2.3. Проверка конфигурации hostapd
-
В конфигурации
hostapd.conf
обратите внимание на правильность указания параметров:interface=wlp1s0_ap bridge=br0 # если используете бридж driver=nl80211 ssid=EVT hw_mode=g channel=10
-
Перезапустите службу
hostapd
для применения изменений:sudo systemctl restart hostapd
3. Проверка применяемых настроек
-
Подключите другое устройство к созданной AP и проверьте, получил ли оно IP-адрес. Вы можете использовать команду
ipconfig
(Windows) илиifconfig
(Linux/Unix) для этого. -
Если проблема не устраняется после всех проверок и изменений, рассмотрите возможность подключения к
wlp1s0_ap
с другого устройства и выполните следующие команды для диагностики:-
Проверьте, виден ли точка доступа с другого устройства:
iw dev wlp1s0_ap station dump
-
Проанализируйте логи
hostapd
иsyslog
на наличие ошибок:sudo journalctl -u hostapd sudo journalctl -f
-
Заключение
Следуя указанным шагам, вы сможете настроить IP- и порт-конфигурацию на планшете под управлением Linux Mint и обеспечить доступ к AP для других подключаемых устройств. Убедитесь, что ваш DHCP-сервер был правильно настроен и функционирует должным образом, а также проверьте все сетевые настройки и маршрутизацию. В случае сложностей, детальный анализ логов и состояния сетевых интерфейсов поможет выявить корень проблемы.