Một AP wifi với một NIC duy nhất


8

Tôi đang cố gắng sử dụng thẻ không dây pc của mình như một AP, trong khi được kết nối với mạng wifi thông qua cùng một thẻ, nhưng tôi gặp vấn đề. Những gì tôi đang cố gắng đạt được là tương đương với công nghệ Wi-fi ảo của Windows. Theo nguyên tắc, nó rất đơn giản:

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

với một cấu hình phù hợp cho 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

Tuy nhiên, trình điều khiển nl80211 từ chối đưa IF new1 ảo vào chế độ AP. Ở đây có một chút thú vị: đầu ra của danh sách iw chứa

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

Rõ ràng là thẻ wifi của tôi (Intel Centrino Advanced-N 6235 [8086: 088e] trong iwlwifi) hỗ trợ chế độ AP (tôi đã thử nghiệm nó) và tôi đã giải thích "kết hợp giao diện hợp lệ" có nghĩa là tôi có thể có nhiều nhất 1 quản lý và 1 AP vifs trên thẻ này cùng một lúc. Nhưng sau đó tôi nhận thấy ràng buộc có vẻ bí ẩn, STA / AP BI phải khớp.

Có ai biết điều này có nghĩa là gì không, và liệu đây có phải là điều cản trở nỗ lực của tôi trong việc sử dụng hai vif trên thẻ của tôi, một ở trạm kia ở chế độ AP không? Chúc mừng



1
@ imz - IvanZakharyaschev Bạn hoàn toàn đúng, cảm ơn bạn. Nhưng câu hỏi của tôi cũng về ý nghĩa của STA / AP BI phải khớp, dường như cung cấp một số loại ràng buộc mà tôi chưa giải mã được.
MariusMatutiae

Tôi xin lỗi tôi đã không đưa chi tiết này vào tài khoản. Bạn đúng rồi. Nhưng vấn đề đặc biệt này không rõ ràng từ tiêu đề, khiến tôi nghĩ rằng có một bộ điều hợp WiFi là vấn đề duy nhất ở đây ...
imz - Ivan Zakharyaschev

Câu trả lời:


5

Trong trường hợp bất kỳ ai đến đây để xác định "STA / AP BI phải khớp":

Nguồn nhân include/net/cfg80211.h, đặc biệt struct ieee80211_iface_combination, nói

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

Vì vậy, BIkhoảng thời gian đèn hiệu và để điều đó khớp với nhau không phải là một vấn đề lớn.


6

Thật ra, câu bí ẩn

STA/AP BI must match

dường như không có gì để làm với thiết lập của tôi không hoạt động. Hóa ra thay vào đó

 #channels <= 1

là chìa khóa để làm cho nó hoạt động. Cuối cùng tôi đã hiểu điều đó có nghĩa là tôi chỉ có thể sử dụng một kênh khi tôi có hai vif trên cùng một thiết bị vật lý (Intel Centrino của tôi, ở mọi mức độ), một trong AP, kênh kia ở chế độ Station. Vì vậy, tôi đã chuyển kênh trong tệp conf hostdd, giống như tôi đang cố gắng kết nối và tôi không có thông báo lỗi.

Tại thời điểm này, tôi đã cấu hình iptables, bắt đầu dnsmasq, sau đó hostapd bằng phương tiện

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

và sau đó tôi đã có nó, một thẻ wifi hoạt động đồng thời là Điểm truy cập và ứng dụng khách với mạng được kết nối với Internet.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.