Как получить доступ к конфигурации IP и порта планшета под управлением Linuxmint с “hostapd + DHCP”

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

Моя задача: Настроить и запустить Точка доступа (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

Вопросы:

  1. Что я упустил?
  2. Как настроить доступ к планшету, на котором работают 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-сервера

  1. Убедитесь, что в файле /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
    }
  2. Запустите команду для проверки статуса DHCP-сервера:

    sudo systemctl status isc-dhcp-server

2.2. Проверка маршрутизации и подключения

  1. Убедитесь, что активные подключения с помощью ifconfig и ip addr показывают правильные настройки для всех интерфейсов.

  2. Проверьте, исправно ли работает iptables:

    sudo iptables -L -n -v

    Убедитесь, что нет правил, предотвращающих доступ к вашему AP.

  3. Временно отключите любые активные фаерволы для тестирования соединения:

    sudo ufw disable
  4. После изменений проверьте связь с помощью ping:

    ping 192.168.1.111

2.3. Проверка конфигурации hostapd

  1. В конфигурации hostapd.conf обратите внимание на правильность указания параметров:

    interface=wlp1s0_ap
    bridge=br0 # если используете бридж
    driver=nl80211
    ssid=EVT
    hw_mode=g
    channel=10
  2. Перезапустите службу hostapd для применения изменений:

    sudo systemctl restart hostapd

3. Проверка применяемых настроек

  1. Подключите другое устройство к созданной AP и проверьте, получил ли оно IP-адрес. Вы можете использовать команду ipconfig (Windows) или ifconfig (Linux/Unix) для этого.

  2. Если проблема не устраняется после всех проверок и изменений, рассмотрите возможность подключения к wlp1s0_ap с другого устройства и выполните следующие команды для диагностики:

    • Проверьте, виден ли точка доступа с другого устройства:

      iw dev wlp1s0_ap station dump
    • Проанализируйте логи hostapd и syslog на наличие ошибок:

      sudo journalctl -u hostapd
      sudo journalctl -f

Заключение

Следуя указанным шагам, вы сможете настроить IP- и порт-конфигурацию на планшете под управлением Linux Mint и обеспечить доступ к AP для других подключаемых устройств. Убедитесь, что ваш DHCP-сервер был правильно настроен и функционирует должным образом, а также проверьте все сетевые настройки и маршрутизацию. В случае сложностей, детальный анализ логов и состояния сетевых интерфейсов поможет выявить корень проблемы.

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

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