web-dev-qa-db-ja.com

ブリッジング:オプションで4addrを使用してWLANネットワーク接続を失う-なぜですか?

質問:
Xen VMで使用するには、wlan0にブリッジされる仮想ネットワークインターフェイス(vif)を作成する必要があります。

/ etc/network/interfacesに追加した場合

auto xenbr0
       iface xenbr0 inet dhcp

そして後で

brctl addif xenbr0 wlan0

このエラーメッセージが表示されます。

can't add wlan0 to bridge xenbr0: Operation not supported

Linuxでは、4addrオプションを有効にしない限り(iwの再コンパイルが必要)、マネージドモードでワイヤレスインターフェースをブリッジできません。

iw dev wlan0 set 4addr on

その後

brctl addif xenbr0 wlan0

動作し、brctl showはxenbr0をwlan0へのブリッジとして表示します。

残念ながら、実行するとすぐに

iw dev wlan0 set 4addr on

ネットワーク接続全体が失われました(接続なし)。それからすぐに実行します

iw dev wlan0 set 4addr off

再接続すると、再び機能します。 4addr onを再実行すると再び壊れ、4addr offを実行すると再び動作します。

残念ながら、4addrをオンにしてブリッジをアクティブにしてからオフに戻すことはできません(エラー:デバイスの準備ができていません)。

なぜ私が私の接続を失うのか誰も知っていますか?

8
WitchCraft

ここで答えを見つけました: http://nullroute.eu.org/~grawity/journal.html#post:20110826

iw dev wlan0 set 4addr on

ただし、4addrを有効にすると、APによって完全に無視される可能性が高くなります。関連付けは成功しますが、すべてのデータフレームがエーテルに消えます。これは、セキュリティ上の理由による可能性があります(ソースMACアドレスをスプーフィングするのは非常に難しいためです。そうです)。ラップトップのMACアドレス、およびLANブリッジに追加します。 4addrパケットが機能するようになりました。

ただし、これには別の問題があります。ルーターはラップトップからの3アドレスパケットを拒否するため、かなり不便です(WLANネットワークが変更されるたびに4addrを切り替える必要があります)。回避策は、同じデバイスにリンクされているがMACアドレスが異なる2番目のワイヤレスインターフェイスをラップトップに追加することです。

# undo the earlier configuration
iw dev wlan0 set 4addr off


# add a second interface
iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up

ここで、$ ADDRはルーターで構成されたWDSデバイスアドレスと一致する必要があります。それ以外は、任意の有効なMACアドレスにすることができます。 wlan0の元のMACは、「通常の」使用のために残ります。

wlan0とwds.wlan0の両方を同時に使用することができます-異なるAPではなく、同じAPへの関連付けを2回だけテストしました。

13
fmo

特定の状況では、wlan_kabelも使用できます。パケットソケットを使用してwlan *デバイスとイーサネットデバイスを直接ブリッジします。ただし、wlan_kabelを使用して一度にブリッジできるMACは1つだけです。 wlanデバイスの元のMACのみが使用されるため、アクセスポイントによって禁止されるという欠点はありません。

あなたの場合、これは、wlan0は1つのVMだけが使用でき、ホストさえも使用できないことを意味します。

Wlan_kabel here を取得できます。

5
escitalopram