Как настроить режим устройства через сеть

Как установить режим на устройство (например, монитор / ap на wlan) через networkd deamon в файле .link ???

Потому что я хочу установить мост в .net сети wlan-устройства, и я не могу сделать это, пока не установлю его в определенном режиме.

################################## # /etc/systemd/network/eth0.link # ################################## [Match] MACAddress=xxxxxxxxxx [Link] Description=Top Ethernet Port Type=ether Name=eth0 #MACAddressPolicy=persistent MACAddress= rewrite mac WakeOnLan=off ##################################### # /etc/systemd/network/eth0.network # ##################################### [Match] Name=eth0 [Address] Address=192.168.0.101/24 Broadcast=192.168.0.101 [Network] Bridge=br0 ################################### # /etc/systemd/network/br0.netdev # ################################### [NetDev] Name=br0 Kind=bridge MACAddress=set mac #################################### # /etc/systemd/network/br0.network # #################################### [Match] Name=br0 [Address] Address=192.168.0.100/24 Broadcast=192.168.0.100 [Network] Description=Default network through bridge Gateway=192.168.0.1 DHCP=ip4 IPv6PrivacyExtensions=true DNS=8.8.8.8 DNS=8.8.4.4 [DHCP] UseDNS=false [Bridge] [Route] #Gateway=192.168.0.1 #Destination=192.168.0.0/24 #Scope=link ################################### # /etc/systemd/network/at0.link # ################################### [Match] # See: udevadm info /sys/class/net/at0 Type=wlan OriginalName=wlan0 #MACAddress= Driver=ath9k [Link] Description=Top Wireless Lan Port Name=at0 Type=wlan MACAddress= rewrite mac BitsPerSecond=100M WakeOnLan=off #################################### # /etc/systemd/network/at0.network # #################################### [Match] Name=at0 [Address] Address=192.168.0.102/24 Broadcast=192.168.0.102 [Network] Bridge=br0 <---- THIS FAILS 

#

 $ networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier configured 2 eth0 ether routable configured 3 at0 wlan no-carrier configured 4 br0 ether routable configured $ networkctl status ● State: routable Address: 192.168.0.101 on eth0 192.168.0.102 on at0 192.168.0.100 on br0 fe80::cb4:a1ff:fea2:111 on eth0 fe80::cb4:a1ff:fea2:110 on br0 Gateway: 192.168.0.1 (Cisco SPVTG) on br0 DNS: 8.8.4.4 8.8.8.8 

пс.

Я знаю, как создавать мосты и интерфейсы через networkd и как добавлять интерфейсы к мосту, но я не знаю, как изменить режим особого интерфейса (беспроводной nic) на другой режим без использования wpa supplicant или iw / iw conf

from: https://wiki.archlinux.org/index.php/systemd-networkd

Беспроводной адаптер

Для подключения к беспроводной сети с systemd-networkd требуется беспроводной адаптер, настроенный с другой службой, такой как wpa_supplicant. В этом примере соответствующий системный файл systemd, который должен быть включен, – wpa_supplicant@wlp2s0.service.

Но я не хочу подключаться! Я хочу сделать ad-hoc-ap

поэтому я хочу:

  • например, для режима ap / monitor (режим promiscuous)
  • set wpa essid
  • set wpa key

серьезно не существует способа настроить точку доступа без:

  • проситель wpa
  • hostapd

пс. Я только нашел способ использовать wpa_supplicant как единицу

 # create wpa supplicant config for interface at0 # $ nano / cat /etc/wpa_supplicant/wpa_supplicant_at0.conf ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=1 fast_reauth=1 network={ ssid="..." #psk="..." } # create unit # $ nano /etc/systemd/system/wpa_supplicant@.service [Unit] Description=WPA supplicant (%i) After=systemd-networkd.service Requires=systemd-networkd.service Before=network-online.target ConditionPathIsSymbolicLink=/sys/class/net/%i [Service] Type=forking ExecStartPre=/sbin/ip link set %i up ExecStart=/sbin/wpa_supplicant -s -i %i -D nl80211,wext -c/etc/wpa_supplicant/wpa_supplicant_%i.conf -B -P /run/wpa_supplicant.%i.pid ExecStopPost=/sbin/ip addr flush %i ExecStopPost=/sbin/ip link set %i down PIDFile=/run/wpa_supplicant.%i.pid [Install] WantedBy=multi-user.target # reload systemctl daemon # $ systemctl daemon-reload # enable supplicant on interface on boot # $ systemctl enable wpa_supplicant@at0 того, как # create wpa supplicant config for interface at0 # $ nano / cat /etc/wpa_supplicant/wpa_supplicant_at0.conf ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=1 fast_reauth=1 network={ ssid="..." #psk="..." } # create unit # $ nano /etc/systemd/system/wpa_supplicant@.service [Unit] Description=WPA supplicant (%i) After=systemd-networkd.service Requires=systemd-networkd.service Before=network-online.target ConditionPathIsSymbolicLink=/sys/class/net/%i [Service] Type=forking ExecStartPre=/sbin/ip link set %i up ExecStart=/sbin/wpa_supplicant -s -i %i -D nl80211,wext -c/etc/wpa_supplicant/wpa_supplicant_%i.conf -B -P /run/wpa_supplicant.%i.pid ExecStopPost=/sbin/ip addr flush %i ExecStopPost=/sbin/ip link set %i down PIDFile=/run/wpa_supplicant.%i.pid [Install] WantedBy=multi-user.target # reload systemctl daemon # $ systemctl daemon-reload # enable supplicant on interface on boot # $ systemctl enable wpa_supplicant@at0 

ps2. Я откопал это:

https://wiki.archlinux.org/index.php/Talk:Ad-hoc_networking

основы:

Сетевые топологии

В беспроводных сетях 802.11 существует две популярные топологии сети. Первая топология, которую я обсуждаю, – это режим Infrastructure BSS, который является самым популярным. Вы сталкиваетесь с беспроводными сетями Infrastructure BSS в домашних беспроводных сетях и офисах. Позже я обсуждаю режим IBSS (Ad Hoc). Обратите внимание, что IBSS не является Infrastructure BSS; IBSS – это независимая BSS, которая является сетью ad hoc, обсуждаемой далее в этом разделе.

Инфраструктура BSS

При работе в режиме инфраструктуры BSS существует центральное устройство, называемое точкой доступа (AP) и некоторыми клиентскими станциями. Вместе они образуют BSS (базовый набор услуг). Эти клиентские станции должны сначала выполнить связь и аутентификацию с AP, чтобы иметь возможность передавать пакеты через AP. Во многих случаях клиентские станции выполняют сканирование до аутентификации и ассоциации, чтобы получить подробную информацию о AP. Ассоциация является эксклюзивной: клиент может быть связан только с одной точкой доступа в данный момент. Когда клиент связывается с AP успешно, он получает идентификатор AID (идентификатор ассоциации), который является уникальным номером (для этой BSS) в диапазоне 1-2007. AP фактически является беспроводным сетевым устройством с некоторыми аппаратными дополнениями (такими как Ethernet-порты, светодиоды, кнопка для сброса настроек производителя по умолчанию и т. Д.). Демон управления работает на AP-устройстве. Примером такого программного обеспечения является демон hostapd. Это программное обеспечение обрабатывает некоторые задачи управления уровнем MLME, такие как запросы аутентификации и ассоциации. Он достигает этого, регистрируясь для получения соответствующих кадров управления через nl80211. Проект hostapd – это проект с открытым исходным кодом, который позволяет нескольким беспроводным сетевым устройствам работать как AP. Клиенты могут связываться с другими клиентами (или на станциях в другой сети, которая соединяется с AP), отправив пакеты в AP, которые передаются AP в конечный пункт назначения. Чтобы охватить большую область, вы можете развернуть несколько точек доступа и подключить их по проводам. Этот тип развертывания называется Extended Service Set (ESS). В рамках развертывания ESS есть два или более BSS. Многоадресные рассылки и широковещательные рассылки, отправленные в одной BSS, которые могут поступать на ближайшую BSS, отклоняются на соседних станциях BSS (bssid в заголовке 802.11 не соответствует). В рамках такого развертывания каждая AP обычно использует другой канал для минимизации помех.

IBSS или Ad Hoc Mode

Сеть IBSS часто формируется без предварительного планирования до тех пор, пока требуется WLAN. Сеть IBSS также называется специальной сетью. Создание IBSS – простая процедура. Вы можете установить IBSS, выполнив из командной строки эту команду iw (обратите внимание, что параметр 2412 предназначен для использования канала 1):

  iw wlan0 ibss join AdHocNetworkName 2412 

Или при использовании инструмента iwconfig с этими двумя командами:

 iwconfig wlan0 mode ad-hoc iwconfig wlan0 essid AdHocNetworkrName 

Это вызывает создание IBSS путем вызова метода ieee80211_sta_create_ibss () (net / mac80211 / ibss.c). Затем ssid (AdHocNetworkName в этом случае) должен быть распределен вручную (или иначе) всем, кто хочет подключиться к сети ad hoc. При работе с IBSS у вас нет точки доступа. Bssid IBSS – это случайный 48-разрядный адрес (основанный на вызове метода get_random_bytes ()). Управление питанием в режиме Ad Hoc немного сложнее, чем управление питанием в инфраструктуре BSS; он использует сообщения сообщений о сообщениях трафика трафика (ATIM). ATIM не поддерживается mac802.11 и не рассматривается в этой главе. В следующем разделе описывается режим энергосбережения, который является одним из наиболее важных механизмов сетевого стека mac80211 …

Беспроводные режимы

Вы можете настроить беспроводной сетевой интерфейс для работы в нескольких режимах, в зависимости от его предполагаемого использования и топологии сети, в которой он развернут. В некоторых случаях вы можете установить режим с помощью команды iwconfig, и в некоторых случаях для этого вам нужно использовать такой инструмент, как hostapd. Обратите внимание, что не все устройства поддерживают все режимы. См. Www.linuxwireless.org/en/users/Drivers для списка драйверов Linux, поддерживающих разные режимы. Кроме того, вы также можете проверить, какие значения поля interface_modes члена wiphy (в объекте ieee80211_hw) инициализируются в коде драйвера. Interface_modes инициализируются одним или несколькими режимами перечисления nl80211_iftype, такими как NL80211_IFTYPE_STATION или NL80211_IFTYPE_ADHOC (см. Include / uapi / linux / nl80211.h). Ниже приведено подробное описание этих беспроводных режимов:

  • Режим AP: в этом режиме устройство действует как AP (NL80211_IFTYPE_AP). AP поддерживает и управляет списком связанных станций. Имя сети (BSS) – это MAC-адрес AP (bssid). Существует также удобочитаемое имя для BSS, называемое SSID.
  • Режим инфраструктуры станции: управляемая станция в режиме инфраструктуры (NL80211_IFTYPE_STATION).
  • Режим монитора: все входящие пакеты передаются нефильтрованным в режиме мониторинга (NL80211_IFTYPE_MONITOR). Это полезно для обнюхивания. Как правило, можно передавать пакеты в режиме мониторинга. Это называется инъекцией пакетов; эти пакеты отмечены специальным флагом (IEEE80211_TX_CTL_INJECTED).
  • Режим Ad Hoc (IBSS): станция в специальной (IBSS) сети (NL80211_IFTYPE_ADHOC). В режиме Ad Hoc в сети нет AP-устройства.
  • Режим беспроводной распределительной системы (WDS): станция в сети WDS (NL80211_IFTYPE_WDS).
  • Режим сетки: станция в сети Mesh (NL80211_IFTYPE_MESH_POINT), обсуждаемая в разделе «Mesh Networking (802.11s)» далее в этой главе.

источник: https://books.google.pl/books?id=96V4AgAAQBAJ

  • Случайная потеря пакетов с связанными интерфейсами?
  • One Solution collect form web for “Как настроить режим устройства через сеть”

    В соответствии с Systemd-networkd вам необходимо создать интерфейс виртуального моста;

     nano /etc/systemd/network/MyBridge.netdev 

    мимо следующего содержания

     [NetDev] Name=br0 Kind=bridge 

    затем перезапустите systemd-networkd.service

    для проверки типа ip a

    На следующем шаге создайте сетевой профиль для Bridge с

      nano /etc/systemd/network/MyBridge.network 

    И прошёл следующий контент:

     [Match] Name=br0 [Network] DHCP=ipv4 

    редактировать

    Чтобы установить точку доступа, вы можете использовать create_ap github_create_ap

    Монтаж

     yaourt -S create_ap 

    Для других дистрибутивов

     git clone https://github.com/oblique/create_ap cd create_ap make install 

    Примеры

    Нет кодовой фразы (открытая сеть):

      create_ap wlan0 eth0 MyAccessPoint 

    WPA + парольная фраза WPA2:

      create_ap wlan0 eth0 MyAccessPoint MyPassPhrase 

    AP без обмена через Интернет:

      create_ap -n wlan0 MyAccessPoint MyPassPhrase 

    Мошенничество в Интернете:

      create_ap -m bridge wlan0 eth0 MyAccessPoint MyPassPhrase 

    Мостовой интернет-доступ (предварительно сконфигурированный интерфейс моста):

      create_ap -m bridge wlan0 br0 MyAccessPoint MyPassPhrase 

    Интернет-доступ с одного и того же интерфейса WiFi:

      create_ap wlan0 wlan0 MyAccessPoint MyPassPhrase 

    Выберите другой драйвер адаптера WiFi

      create_ap --driver rtl871xdrv wlan0 eth0 MyAccessPoint MyPassPhrase 

    Никакая парольная фраза (открытая сеть) с использованием трубы:

      echo -e "MyAccessPoint" | create_ap wlan0 eth0 

    WPA + WPA2 с использованием протокола:

      echo -e "MyAccessPoint\nMyPassPhrase" | create_ap wlan0 eth0 

    Включить IEEE 802.11n

      create_ap --ieee80211n --ht_capab '[HT40+]' wlan0 eth0 MyAccessPoint MyPassPhrase 

    Изоляция клиента:

      create_ap --isolate-clients wlan0 eth0 MyAccessPoint MyPassPhrase 

    Служба Systemd

    Использование постоянной службы systemd

    Начать сервис немедленно:

     systemctl start create_ap 

    Начать загрузку:

     systemctl enable create_ap 
    Linux и Unix - лучшая ОС в мире.