Доступ до Wi-Fi з одним NIC


8

Я намагаюся використовувати свою бездротову картку ПК як AP, під час підключення до мережі Wi-Fi через ту саму карту, але у мене є проблема. Я намагаюся досягти - це еквівалент віртуальної технології Wi-Fi у Windows. Відповідно до принципу, це дуже просто:

service network-manager stop
iw dev wlan0 del
iw phy phy0 interface add new0 type station
service network-manager start
iw phy phy0 interface add new1 type __ap
hostapd -B /etc/hostapd.conf

з відповідною конфігурацією для hostapd:

cat /etc/hostapd/hostapd.conf 
interface=new1
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ssid=XXXX
country_code=us
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
eap_server=0
wpa=2
wpa_passphrase=XXXX
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP

Однак драйвер nl80211 відмовляється перевести віртуальний IF new1 в режим AP. Ось цікавий біт: вихід iw списку містить

Supported interface modes:
         * IBSS
         * managed
         * AP
         * AP/VLAN
         * monitor
software interface modes (can always be added):
         * AP/VLAN
         * monitor
valid interface combinations:
         * #{ managed } <= 1, #{ AP } <= 1,
           total <= 2, #channels <= 1, STA/AP BI must match
         * #{ managed } <= 2,
           total <= 2, #channels <= 1

Очевидно, що моя wifi-карта (Intel Centrino Advanced-N 6235 [8086: 088e] під iwlwifi) підтримує режим AP (я тестував її), і я інтерпретував "дійсні комбінації інтерфейсів", що означають, що я міг би мати щонайбільше 1 керована та 1 AP віф на цій картці одночасно. Але тоді я помітив загадкове на вигляд обмеження, STA / AP BI повинен відповідати.

Хтось знає, що це означає, і чи це те, що перешкоджає моїм спробам використання двох віфів на моїй картці, одного в станції, іншого в режимі AP? Ура



1
@ imz - ІванЗахарящев Ви абсолютно праві, дякую. Але моє запитання також щодо значення STA / AP BI повинно відповідати, що, здається, створює певне обмеження, яке я ще не розшифрував.
MariusMatutiae

Вибачте, що не взяв до уваги цю деталь. Ти правий. Але ця проблема не очевидна з назви, що змусило мене думати, що наявність одного WiFi-адаптера є єдиною проблемою тут ...
imz - Іван Захарящев

Відповіді:


5

У випадку, якщо хтось приїде сюди, щоб ідентифікувати "STA / AP BI повинен відповідати":

include/net/cfg80211.hЗокрема struct ieee80211_iface_combination, каже джерело ядра

 * @beacon_int_infra_match: In this combination, the beacon intervals
 *  between infrastructure and AP types must match. This is required
 *  only in special cases.

Таким чином, BI - це маяковий інтервал , і домогтися цього не повинно бути великою проблемою.


6

Власне, загадкове речення

STA/AP BI must match

схоже, нічого спільного з моїм налаштуванням не працює. Виходить замість цього

 #channels <= 1

було ключем, щоб змусити його працювати. Зрештою, я зрозумів, що це означає, що я можу використовувати лише один канал, коли у мене є два vif-і на одному фізичному пристрої (у будь-якому випадку мій Intel Centrino), один в AP, а інший в режимі станції. Тому я переключив канал у файлі конфлікту hostapd, до того самого, до якого я намагався підключитися, і у мене не було повідомлень про помилки.

У цей момент я налаштував iptables, запустив dnsmasq, потім hostapd за допомогою

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface new0 -j MASQUERADE
iptables --append FORWARD --in-interface new1 -j ACCEPT
dnsmasq 
/usr/local/bin/hostapd /etc/hostapd/hostapd.conf

а потім у мене з'явилася - одна wifi-карта, яка працює одночасно як точка доступу та клієнт до мережі, підключеної до Інтернету.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.