真剣に、次のことなくアクセスポイントを設定する方法はありません。

真剣に、次のことなくアクセスポイントを設定する方法はありません。

.linkファイルのネットワークデーモンを介してデバイスのモード(モニタ/apからwlanまで)をどのように設定できますか? ? ?

これは、WLAN デバイスの .network にブリッジを設定したいのですが、特定のモードに設定した後にのみこれを実行できるからです。

##################################
# /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

メモ

ネットワーク経由でブリッジとインターフェイスを作成する方法と、ブリッジにインターフェイスを追加する方法を知っています。しかし、wpaリクエスタまたはiwを使用せずに特定のインターフェイス(ワイヤレスカード)のモードを別のものに変更する方法がわかりません。 /iw conf

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

ワイヤレスアダプタ

systemd-networkdを使用してワイヤレスネットワークに接続するには、ワイヤレスアダプタを追加のサービス(wpa_supplicantなど)として設定する必要があります。この例で有効にする必要があるsystemdサービスファイルは次のとおりです。 [Eメール保護]

しかし、接続したくない! ad hoc-apを作りたい

だから私はこう考えました:

  • たとえば、モードを ap/monitor(混合モード)に設定します。
  • WPA essidの設定
  • WPAキーの設定

真剣に、次のことなくアクセスポイントを設定する方法はありません。

  • WPA申請者
  • 所有者

PS: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/[email protected] 

[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 ワイヤレスネットワークには、広く使用されている 2 つのネットワークトポロジがあります。私が議論する最初のトポロジーは、最も広く使用されているインフラストラクチャBSSパターンです。ホームワイヤレスネットワークとオフィスでは、インフラストラクチャBSSワイヤレスネットワークに触れます。 IBSS(Ad Hoc)モードについては後で説明します。 IBSSはインフラストラクチャBSSではありません。 IBSSは一時的なネットワークである独立したBSSであり、このセクションの後半で説明します。

インフラBSS

インフラストラクチャBSSモードで動作している場合は、アクセスポイント(AP)と呼ばれる中央デバイスと複数のクライアントステーションがあります。これらは一緒に基本サービスセット(BSS)を構成します。これらのクライアントステーションは、APを介してパケットを送信する前に、まずAPに接続して認証する必要があります。ほとんどの場合、クライアントステーションは認証および接続の前にスキャンを実行し、APに関する詳細情報を取得します。接続は排他的です。クライアントは、特定の瞬間に1つのAPにのみ接続できます。クライアントがAPに正常に接続すると、そのBSSに対して1〜2007の範囲の一意の番号であるAID(Association ID)が取得されます。 APは、実際にはいくつかのハードウェアアドオン(イーサネットポート、LED、製造元のデフォルトにリセットするボタンなど)を含むワイヤレスネットワークデバイスです。管理デーモンはAPデバイスで実行されます。そのようなソフトウェアの例にはhostapdデーモンがあります。このソフトウェアは、認証や接続要求などの MLME レイヤーの一部の管理タスクを処理します。これは、nl80211を介して関連する管理フレームを受信するように登録することによって行われる。 Hostapdプロジェクトは、複数のワイヤレスネットワークデバイスがAPとして機能できるようにするオープンソースプロジェクトです。クライアントは、最終宛先に中継されたパケットをAPに送信して、他のクライアント(またはAPにブリッジされた他のネットワーク上のステーション)と通信できます。より広いエリアをカバーする必要がある場合は、複数のAPを展開して有線方式で接続できます。このタイプの展開を拡張サービスセット(ESS)と呼びます。 ESS展開には複数のBSSがあります。 1つのBSS内で送信されたマルチキャストおよびブロードキャストは、近くのBSSに到達できますが、近くのBSSサイトで拒否される可能性があります(802.11ヘッダーのbssidの不一致)。このような展開では、各アクセスポイントは、一般に、干渉を最小化するために異なるチャネルを使用する。

IBSS または Ad Hoc モード

IBSSネットワークは通常、事前計画なしに設定でき、WLANが必要な場合にのみ使用されます。 IBSSネットワークはAd Hocネットワークとも呼ばれます。 IBSSを作成するプロセスは簡単です。コマンドラインからこのiwコマンドを実行してIBSSを設定できます(2412パラメータはチャンネル1を使用するために使用されます)。

 iw wlan0 ibss join AdHocNetworkName 2412

または、iwconfig ツールを使用する場合は、次の 2 つのコマンドを使用します。

iwconfig wlan0 mode ad-hoc
iwconfig wlan0 essid AdHocNetworkrName

これは ieee80211_sta_create_ibss() メソッド (net/mac80211/ibss.c) を呼び出して IBSS 生成をトリガーします。その後、ssid(この場合はAdHocNetworkName)をAd Hocネットワークに接続したい人に手動で(または他の方法で)配布する必要があります。 IBSSを使用している場合、APはありません。 IBSSのbssidはランダムな48ビットアドレスです(get_random_bytes()メソッド呼び出しに基づいています)。 Ad Hocモードの電源管理は、インフラストラクチャBSSより少し複雑で、ATIM(Announcement Traffic Indication Map)メッセージを使用します。 ATIMはmac802.11ではサポートされていないため、この章では説明しません。次のセクションでは、mac80211ネットワークスタックの最も重要なメカニズムの1つである省電力モードを紹介します。

ワイヤレスモード

用途と展開されたネットワークトポロジに応じて、複数のモードで動作するようにワイヤレスネットワークインターフェイスを設定できます。 iwconfigコマンドを使用してモードを設定できる場合があり、モードを設定するにはHostapdなどのツールを使用する必要があります。すべてのデバイスですべてのモードがサポートされるわけではありません。さまざまなモードをサポートするLinuxドライバのリストについては、www.linuxwireless.org/en/users/Driversを参照してください。あるいは、ドライバコードで、wiphyメンバー(ieee80211_hwオブジェクトにある)のinterface_modesフィールドがどの値に初期化されているかを確認できます。 Interface_modesは、NL80211_IFTYPE_STATIONやNL80211_IFTYPE_ADHOCなどのnl80211_iftype列挙型の1つ以上のモードで初期化されます(include/uapi/linux/nl80211.hを参照)。以下は、これらの無線モードの詳細な説明である。

  • APモード:このモードでは、デバイスはAP(NL80211_IFTYPE_AP)として機能します。 AP は接続ステーションのリストを維持し管理します。ネットワーク(BSS)名はAPのMACアドレス(bssid)です。 BSSには、SSIDという人が読める名前もあります。
  • ステーションインフラストラクチャモード:インフラストラクチャモードの管理ステーション(NL80211_IFTYPE_STATION)。
  • モニタモード:モニタモード(NL80211_IFTYPE_MONITOR)は、すべての着信パケットをフィルタリングせずに処理します。これはスニッフィングに便利です。パケットは通常モニタモードで送信できます。これをパケット注入といいます。これらのパケットは特殊フラグ(IEEE80211_TX_CTL_INJECTED)で表されます。
  • Ad Hoc(IBSS)モード:Ad Hoc(IBSS)ネットワークのサイト(NL80211_IFTYPE_ADHOC)。 Ad Hocモードを使用している場合は、ネットワークにAPデバイスがありません。
  • WDS(無線分配システム)モード:WDSネットワーク(NL80211_IFTYPE_WDS)のステーション。
  • メッシュモード:メッシュネットワーク(NL80211_IFTYPE_MESH_POINT)のステーション。この章の後半の「メッシュネットワーク(802.11s)」のセクションで説明します。

源泉:https://books.google.pl/books?id=96V4AgAAQBAJ

ベストアンサー1

~によるとシステムネットワーク仮想ブリッジインターフェイスを作成する必要があります。

nano /etc/systemd/network/MyBridge.netdev

次の内容を過ぎて

[NetDev]
Name=br0
Kind=bridge

その後、再起動してくださいsystemd-networkd.service

認証タイプip a

次のステップは、ブリッジ用のネットワーク構成ファイルを作成することです。

 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

システムサービス

継続的なシステムサービスの使用

今サービスを開始してください:

systemctl start create_ap

新兵:

systemctl enable create_ap

おすすめ記事