Как получить доступ к настройкам 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 (Внимание! добавьте к существующим)

[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 ##
        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  (Локальный петлевой интерфейс)
        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.
От 192.168.1.101 icmp_seq=1 Хост назначения недоступен
От 192.168.1.101 icmp_seq=2 Хост назначения недоступен
От 192.168.1.101 icmp_seq=3 Хост назначения недоступен
От 192.168.1.101 icmp_seq=4 Хост назначения недоступен
^C
--- 192.168.1.111 ping statistics ---
5 пакетов отправлено, 0 получено, +4 ошибок, 100% потеря пакетов, время 4065 мс

telnet вывод:

~$ telnet 192.168.1.111
Попытка 192.168.1.111...
telnet: Не удалось подключиться к удаленному хосту: Нет маршрута к хосту

Вопросы:

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

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

Для успешного доступа к конфигурации IP и порту вашего планшета с установленным Linux Mint, на котором работает Hostapd и DHCP, важно учесть несколько аспектов. Давайте поэтапно разберёмся, что могло быть упущено и как предоставить доступ к вашему планшету.

Шаг 1: Проверка конфигурации интерфейсов

Вы уже создали виртуальный интерфейс wlp1s0_ap с заданным статическим IP адресом 192.168.1.111 и настроили его в файле /etc/network/interfaces. Чтобы удостовериться, что конфигурация работает, выполните следующие команды:

ifconfig

Результат этой команды покажет, что интерфейс wlp1s0_ap активен и имеет присвоенный IP-адрес. Вы также можете убедиться, что у интерфейса не ошибочная конфигурация.

Шаг 2: Настройка маршрутизации

Убедитесь, что на вашем устройстве (например, на клиентских устройствах) правильно настроены маршруты. Ваше устройство должно использовать wlp1s0_ap как маршрут по умолчанию для сети 192.168.1.0/24. Проверьте, находится ли ваше клиентское устройство в той же подсети. Например, IP-адрес устройства должен быть в диапазоне 192.168.1.100 - 192.168.1.200, который вы задали в конфигурации DHCP.

Шаг 3: Проверка DHCP-сервера

Обратите внимание, что конфигурация DHCP-сервера должна быть активной. Убедитесь, что служба ISC DHCP работает правильно и что в логах нет ошибок:

sudo systemctl status isc-dhcp-server

Если DHCP-сервер не работает, возможно, что запрашиваемый диапазон IP-адресов недоступен.

Шаг 4: Проверка маршрутизации и правил брандмауэра

Проверка настройки брандмауэра должна быть выполнена, так как часто он блокирует сетевой трафик. Убедитесь, что правила IPTables не блокируют доступ к вашему интерфейсу:

sudo iptables -L

Если правила блокируют доступ, добавьте необходимые разрешения:

sudo iptables -A INPUT -i wlp1s0_ap -j ACCEPT
sudo iptables -A OUTPUT -o wlp1s0_ap -j ACCEPT

Шаг 5: Взаимодействие с устройствами

Теперь, если все вышеуказанные проверки пройдены, вы должны иметь возможность взаимодействовать с вашим планшетом. Для этого выполните следующие команды с клиентского устройства (например, другого компьютера или мобильного устройства):

  1. Пинг:

    ping 192.168.1.111
  2. Telnet для проверки доступа к порту:

    telnet 192.168.1.111 [номер_порта]

Если клиентские устройства все еще не могут взаимодействовать с вашим планшетом, возможно, стоит перезагрузить интерфейс и проверить, что все службы запущены правильно:

sudo systemctl restart hostapd
sudo systemctl restart isc-dhcp-server

Заключение

Подводя итоги, важно следить за тем, чтобы все конфигурации между вашим доступом к AP и DHCP были правильно настроены. После выполнения указанных шагов вы должны получить возможность взаимодействовать с планшетом по IP-адресу 192.168.1.111. Если возникнут дальнейшие проблемы, не стесняйтесь проверять логи системных сообщений для получения дополнительной информации о возникающих ошибках.

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

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