web-dev-qa-db-ja.com

単一の物理アンテナとの複数の802.11アソシエーション?

私の質問は、単一のPHY#ハードウェアアンテナを備えたアクセスポイントが複数の仮想インターフェイスを作成し、複数のSSIDをアナウンスできることです。

これで、STA側でも複数の仮想インターフェイスを作成できるため、単一のSTAから複数のSSIDに関連付けるcfg80211コードを単純にまたは微調整することができます。

現在、両方のSSIDは同じ頻度です。

私が従った手順

作成されたVif:-

iw dev wlan0 interface add vlan0 type station
iw dev wlan0 interface add vlan1 type station

私は2つの別々のwpa_supplicant構成ファイルを持っています。これは通常一度に1つずつ使用し、現在は両方を同時に使用しています。

wpa_suppicant -ivlan0 -Dnl80211 -cNEXTRA4419.conf

wpa_suppicant -ivlan1 -Dnl80211 -cNEIGHBOUR.conf

しかし、何が欠けているのかわからず、リンクできないため、このセットアップが機能しません。

2
8zero2.ops

もちろんこれは可能です。構成は正しいようです。ドライバが許可する限り多くのネットワークに接続できます。たとえば、私のルーターは(iw list):

valid interface combinations:
     * #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1,
       total <= 2048, #channels <= 1, STA/AP BI must match
[...]

しかし、落とし穴もあります:#channels <= 1-単一の無線機も一度に1つのチャネルをサポートできます。つまり、2048のネットワークすべてが単一のチャネルに存在する必要があります。ラジオはチャンネル間をジャンプする可能性がありますが、これを実装するドライバーは見たことがありません。


そこで、信頼できるThinkpadを試してみました。 Intel Centrino Advanced-N 6205カードを搭載しており、次の仕様が得られます。

valid interface combinations:
         * #{ managed } <= 1, #{ AP } <= 1,
           total <= 2, #channels <= 1, STA/AP BI must match
         * #{ managed } <= 2,
           total <= 2, #channels <= 1

テストにはかろうじて十分です! ArchLinuxライブCD2016.10.01を使用しました。追加のインターフェイスを1つだけ作成し、メインインターフェイスも使用しました。

iw dev wlp3s0 interface add vlan0 type managed

createより多くのインターフェースが可能ですが、同時に起動できるのは2つだけです。

次に、実際のネットワークに接続しました(wifi-menuコマンド、私は怠惰なので)、SSHで接続できます:

root@archiso ~ # iw dev
phy#0
        Interface vlan0
                ifindex 5
                wdev 0x2
                addr 08:11:96:01:82:49
                type managed
                channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
                txpower 15.00 dBm
        Interface wlp3s0
                ifindex 4
                wdev 0x1
                addr 08:11:96:01:82:48
                type managed
                txpower 15.00 dBm

別のルーターを使用して、チャネル6(暗号化なし)に別のネットワークを作成し、それに接続しました。

root@archiso ~ # ip link set wlp3s0 up
root@archiso ~ # iw dev wlp3s0 connect -w OpenWrt-1
wlp3s0 (phy #0): connected to e0:91:f5:08:12:9d
root@archiso ~ # ping -I wlp3s0 -c 3 fe80::e291:f5ff:fe08:129d
PING fe80::e291:f5ff:fe08:129d(fe80::e291:f5ff:fe08:129d) 56 data bytes
64 bytes from fe80::e291:f5ff:fe08:129d%wlp3s0: icmp_seq=1 ttl=64 time=2.33 ms
64 bytes from fe80::e291:f5ff:fe08:129d%wlp3s0: icmp_seq=2 ttl=64 time=2.53 ms
64 bytes from fe80::e291:f5ff:fe08:129d%wlp3s0: icmp_seq=3 ttl=64 time=1.38 ms

--- fe80::e291:f5ff:fe08:129d ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.382/2.084/2.537/0.504 ms

両方の接続も暗号化されている間に、これを複製することができました。

方法は次のとおりですwifi-menu開始wpa_supplicant

wpa_supplicant -q -B -P /run/wpa_supplicant_wlp3s0.pid -i wlp3s0 -D nl80211,wext -c/run/network/wpa_supplicant_wlp3s0.conf

そしてこれはそれが生成した設定ファイルです:

ctrl_interface=/run/wpa_supplicant
ctrl_interface_group=wheel
network={
proto=RSN WPA
psk="123456789"
ssid="OpenWrt-1"
}
3
Daniel B