AP wifi dengan NIC tunggal

8

Saya mencoba menggunakan kartu nirkabel pc saya sebagai AP, ketika sedang terhubung ke jaringan wifi saya melalui kartu yang sama, tapi saya punya masalah. Apa yang saya coba capai adalah setara dengan teknologi Wi-Fi Virtual Windows. Sejalan prinsip, sangat sederhana:

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

dengan konfigurasi yang sesuai untuk 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

Namun, driver nl80211 menolak untuk menempatkan virtual IF new1 ke mode AP. Inilah bagian yang menarik: output dari daftar iw berisi

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

Jelas kartu wifi saya (Intel Centrino Advanced-N 6235 [8086: 088e] di bawah iwlwifi) mendukung mode AP (saya telah mengujinya), dan saya telah menafsirkan "kombinasi antarmuka yang valid" yang berarti bahwa saya dapat memiliki paling banyak 1 berhasil dan 1 AP AP pada kartu ini secara bersamaan. Tapi kemudian saya perhatikan kendala yang tampak misterius, STA / AP BI harus cocok.

Apakah ada yang tahu apa artinya ini, dan apakah ini yang menghalangi upaya saya menggunakan dua vif di kartu saya, satu di stasiun yang lain dalam mode AP? Bersulang

MariusMatutiae
sumber
Pertanyaan yang sama: superuser.com/questions/615664/…
imz - Ivan Zakharyaschev
1
@ imz - IvanZakharyaschev Anda benar, terima kasih. Tetapi pertanyaan saya adalah juga tentang arti dari STA / AP BI yang harus cocok, yang tampaknya memberikan semacam kendala yang belum saya pahami.
MariusMatutiae
Maaf saya belum memperhitungkan detail ini. Kamu benar. Tapi masalah khusus ini tidak jelas dari judulnya, yang membuat saya berpikir bahwa memiliki satu adaptor WiFi adalah satu-satunya masalah di sini ...
imz - Ivan Zakharyaschev

Jawaban:

5

Jika ada yang datang ke sini untuk mengidentifikasi "STA / AP BI harus cocok":

Sumber kernel di include/net/cfg80211.h, khususnya struct ieee80211_iface_combination, mengatakan

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

Jadi BI adalah interval suar , dan mendapatkan yang cocok seharusnya tidak menjadi masalah besar.

dirkt
sumber
6

Sebenarnya, kalimat misterius itu

STA/AP BI must match

tampaknya tidak ada hubungannya dengan pengaturan saya tidak berfungsi. Ternyata itu

 #channels <= 1

adalah kunci untuk membuatnya bekerja. Saya akhirnya mengerti itu berarti saya hanya dapat menggunakan satu saluran ketika saya memiliki dua vif pada perangkat fisik yang sama (Intel Centrino saya, bagaimanapun juga), satu di AP, yang lain dalam mode Station. Jadi saya beralih saluran di file conf hostapd, ke yang sama yang saya coba sambungkan, dan saya tidak punya pesan kesalahan.

Pada titik ini saya mengkonfigurasi iptables, mulai dnsmasq, lalu hostapd melalui

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

dan kemudian saya memilikinya, satu kartu wifi bekerja secara simultan sebagai Access Point dan klien ke jaringan yang terhubung ke Internet.

MariusMatutiae
sumber