GNU/Linux >> Linux の 問題 >  >> Linux

Linux の VETH に似た仮想 WiFi / 802.11 インターフェイス

Stefano Cappa によって投稿されたヒントに従おうとしましたが、うまくいきませんでした。私のインターフェイスは一貫して No valid interface combinations を報告します これは、私が立ち往生する必要があることを示唆していました (しかし、そうではありませんでした)。

仮想 WIFI は、

の助けを借りて起動できます。
  • mac80211_hwsim カーネル モジュール
    • モジュールは radios で構成可能です 仮想物理カードの数を示すパラメーター (phy# ).
    • phy# 独立したワイヤレス ラジオ カードをシミュレートできます。
    • phy# カードは関連する LAN インターフェースを取得します (wlan# ).
    • モジュールは hwsim# ももたらします pseudo-wifi をスヌープするために使用できるインターフェース すべての無線カード間で発生するトラフィック
  • hostapd 任意の無線 (シミュレートされたものを含む) をアクセス ポイントに変えることができるツール
  • wpa_supplicant アクセス ポイントの領域をスキャンしたり、これらに接続したりするために使用できるツール。

私は最終的に、これら 3 つのことだけに依存するソリューションを思いつきました (Android でそれを達成しようとしていたので、しばらく時間がかかりました)。ツールは nl80211 を使用します ドライバーが疑似ハードウェアと対話します。

私の単純な構成ファイルは次のようになります:

hostapd.conf (注、このファイルには必要以上の設定がありますが、すべての設定をここに投稿しています)

interface=wlan1
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface_group=0
ssid=Vamonos Pest
country_code=US
hw_mode=g
channel=1
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1

wpa_supplicant.conf

network={
    ssid="Vamonos Pest"
    key_mgmt=NONE
    priority=16
}

最後に 2 つを起動:

hostapd -d hostapd.conf 
wpa_supplicant -Dnl80211 -iwlan0 -d -csupplicant.conf

それはトリックをしました。 wpa_supplicant ネットワーク領域をスキャンし、すべての仮想 Wi-Fi アクセス ポイントを見つけることができます。 hwsim モジュールが 2 つ以上の無線を使用する場合は、さらに作成できます。ここから後は簡単です。wlan1 で dhcp サーバーを起動し、wlan0 で dhcp クライアントを起動すれば完了です。


Linux
  1. Linux でインターフェイスの IP アドレスを取得する

  2. Linux カーネルモジュールのコーディング方法は?

  3. Letsencrypt ImportError:更新中に amazon linux でインターフェイスという名前のモジュールがありません

  1. PodmanでLinux仮想マシンを実行する

  2. Linux の汚染されたカーネルとは何ですか?

  3. 仮想マシンを使用した Linux モジュールの開発/テストは安全ですか?

  1. Linuxでの低速WiFiのトラブルシューティング

  2. Linux – Linuxの汚染されたカーネル?

  3. Linux での modprobe コマンドの例