Это конечно возможно. Ваша конфигурация кажется правильной. Вы можете подключить столько сетей, сколько позволяет драйвер. Например, мой маршрутизатор сообщает (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
- одно радио может также поддерживать один канал за раз. Это означает, что все сети 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
Едва достаточно хорош для теста! Я использовал Arch Linux live CD 2016.10.01. Я создал только один дополнительный интерфейс и тоже использовал основной интерфейс:
iw dev wlp3s0 interface add vlan0 type managed
Хотя я могу создавать больше интерфейсов, одновременно можно открыть только два.
Затем я подключился к своей реальной сети (используя команду 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"
}