Как получить доступ (конфигурация ip и port) к планшету с Linuxmint, работающему с hostapd + DHCP

Вопрос или проблема

Моя задача: Настроить и запустить Точку доступа (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: Не удается подключиться к удаленному хосту: Нет маршрута к хосту

Вопрос:

  1. Что я пропустил?
  2. Как настроить доступ к планшету, на котором работают hostapd + DHCP?

Ответ или решение

Для успешной настройки Access Point (AP) на вашем планшете с Linux Mint, чтобы устройства могли подключаться и взаимодействовать с планшетом, необходимо обратить внимание на несколько важных аспектов. Давайте подробно разберем ваш случай, добавив недостающие элементы конфигурации и процесс устранения неполадок.

1. Проверка конфигурации сетевых интерфейсов

Убедитесь, что интерфейсы правильно настроены. Ваша конфигурация, которая включает wlp1s0_ap, выглядит корректной, так как у него назначен статический IP-адрес 192.168.1.111. Однако, убедитесь, что таблица маршрутизации на устройствах-клиентах, подключенных к AP, настроена правильно. Убедитесь, что они получают правильные адреса (например, в диапазоне 192.168.1.100192.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. Каждый шаг важен для правильной настройки сети и обеспечения стабильной работы сервера. Если после выполнения всех шагов проблема остается, посмотрите другие возможные причинные факторы, такие как оборудование или конфликты с другими сетевыми интерфейсами.

Оцените материал
Добавить комментарий

Капча загружается...