1.4 2006-02-16
Giới thiệu

Hiện thời chúng tôi hỗ trợ thiết lập mạng không dây, hoặc bằng wireless-tools, hoặc bằng wpa_supplicant. Điều quan trọng cần nhớ là cấu hình cho mạng không dây là theo kiểu toàn cầu, không phải thiết lập dựa trên giao tiếp mạng.

wpa_supplicant là lựa chọn tốt nhất, nhưng không hỗ trợ mọi driver. Để biết danh sách các driver hỗ trợ, hãy đọc wpa_supplicant site. Ngoài ra, wpa_supplicant hiện thời chỉ có thể kết nối vào SSID mà bạn cấu hình.

wireless-tools hỗ trợ hầu như mọi card và driver, nhưng không thể kết nối vào Access Point chỉ có WPA.

Driver linux-wlan-ng không được baselayout hỗ trợ ở thời điểm này, Đó là vì linux-wlan-ng có thiết lập và cấu hình riêng, hoàn toàn khác với cái mọi người có. Nghe đồn những người phát triển linux-wlan-ng sẽ thay đổi thiết lập của họ sang wireless-tools - nếu đúng thì khi đó bạn có thể dùng linux-wlan-ng với baselayout.
WPA Supplicant

WPA Supplicant là gói cho phép bạn kết nối đến các Access Point hỗ trợ WPA. Thiết lập của nó khá lỏng lẻo và vẫn còn trong giai đoạn beta - tuy nhiên nó hoạt động khá tốt.

# emerge net-wireless/wpa_supplicant
Bạn phải bật CONFIG_PACKET trong kernel để wpa_supplicant hoạt động.

Bây giờ bạn phải cấu hình /etc/conf.d/net để bạn ưu tiên wpa_supplicant so với wireless-tools (nếu cả hai cùng cài đặt, wireless-tools là mặc định).

# Ưu tiên wpa_supplicant so với wireless-tools
modules=( "wpa_supplicant" )

# Quan trọng là cho wpa_supplicant biết driver cần dùng vì nó
# đoán không giỏi lắm
wpa_supplicant_eth0="-Dmadwifi"
Nếu bạn dùng driver host-ap, bạn sẽ cần đặt card vào chế độ Managed trước khi dùng với wpa_supplicant. Bạn có thể dùng iwconfig_eth0="mode managed" để đạt được điều này trong /etc/conf.d/net.

Đơn giản, phải không? Tuy nhiên chúng ta vẫn phải cấu hình wpa_supplicant, hơi khó hơn, tùy thuộc vào độ bảo mật của Access Point bạn định kết nối. Ví dụ dưới đây lấy từ /etc/wpa_supplicant.conf.example đi kèm với wpa_supplicant và được làm đơn giản đi.

# The below line not be changed otherwise we refuse to work
ctrl_interface=/var/run/wpa_supplicant

# Ensure that only root can read the WPA configuration
ctrl_interface_group=0

# Let wpa_supplicant take care of scanning and AP selection
ap_scan=1

# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
  ssid="simple"
  psk="very secret passphrase"
  # The higher the priority the sooner we are matched
  priority=5
}

# Same as previous, but request SSID-specific scanning (for APs that reject
# broadcast SSID)
network={
  ssid="second ssid"
  scan_ssid=1
  psk="very secret passphrase"
  priority=2
}

# Only WPA-PSK is used. Any valid cipher combination is accepted
network={
  ssid="example"
  proto=WPA
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
  priority=2
}

# Plaintext connection (no WPA, no IEEE 802.1X)
network={
  ssid="plaintext-test"
  key_mgmt=NONE
}

# Shared WEP key connection (no WPA, no IEEE 802.1X)
network={
  ssid="static-wep-test"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
}

# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
# IEEE 802.11 authentication
network={
  ssid="static-wep-test2"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
  auth_alg=SHARED
}

# IBSS/ad-hoc network with WPA-None/TKIP
network={
  ssid="test adhoc"
  mode=1
  proto=WPA
  key_mgmt=WPA-NONE
  pairwise=NONE
  group=TKIP
  psk="secret passphrase"
}
Wireless Tools Thiết lập cơ bản và Managed Mode

Wireless Tools cung cấp một cách tổng quát để cấu hình giao tiếp mạng không giấy ở mức bảo mật WEP. Tuy WEP là cách bảo mật yếu, nó lại là cách được dùng nhiều nhất.

Cấu hình Wireless Tools được điều khiển bởi vài biến cấu hình chính. Tập tin cấu hình mẫu bên dưới mô tả mọi thứ bạn cần. Điều cần nhớ là không có cấu hình nghĩa là "kết nối đến Access Point không mã hoá mạnh nhất" - chúng ta sẽ luôn thử và kết nối bạn đến một cái nào đó.

# emerge net-wireless/wireless-tools
Mặc dù bạn có thể lưu thiết lập không dây trong /etc/conf.d/wireless, tài liệu này khuyên bạn lưu vào /etc/conf.d/net Bạn sẽ cần tham khảo tài liệu về tên biến.
# Ưu tiên iwconfig hơn wpa_supplicant
modules=( "iwconfig" )

# Cấu hình khoá WEP cho Access Points tên là ESSID1 và ESSID2
# Bạn có thể cấu hình đến 4 WEP key, nhưng chỉ có thể kích
# hoạt 1 cái một lần vì thế chúng tôi cung cấp default index [1] để
# dùng cho key [1] và để đổi active key sang [1]
# Chúng tôi thực hiện điều này trong trường hợp bạn định nghĩa ESSID
# khác dùng WEP key khác 1.
# Thêm vào trước key s: nghĩa là nó là ASCII key, nếu không nó là HEX
# key.
# enc open là open security (an toàn nhất)
# enc restricted là restricted security (ít an toàn hơn)
key_ESSID1="[1] s:yourkeyhere key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"

# Bên dưới chỉ dùng khi tìm các Access Point

# Đôi khi có nhiều Access Point, khi đó sẽ định nghĩa độ ưu
# tiên cho Access Point cần kết nối
preferred_aps=( "ESSID1" "ESSID2" )
Tinh chỉnh chọn lựa Access Point

Bạn có thể thêm tùy chọn bổ sung để tinh chỉnh cách chọn Access Point, nhưng không bắt buộc.

Bạn có thể quyết định chỉ kết nối vào Access Point yêu thích hay không. Mặc định nếu mọi cấu hình đều thất bại và chúng ta có thể kết nối vào Access Point không mã hoá, chúng ta sẽ kết nối. Có thể điều khiển việc này qua biến associate_order. Đây là bảng giá trị của biến này và cách dùng.

anyHành vi mặc địnhpreferredonlyChỉ kết nối vài AP trong danh sách yêu thíchforcepreferred Buộc kết nối vào AP theo thứ tự ưu tiên kể cả khi không tìm ra chúng forcepreferredonly Không tìm AP - thay vào đó thử kết nối theo thứ tự forceanyNhư forcepreferred + kết nối vào bất cứ AP nào hiện có
Giá trị Mô tả

Cuối cùng chúng ta có blacklist_apsunique_ap. blacklist_aps hoạt động tương tự preferred_aps. unique_ap chứa yes hoặc no, cho biết có thể kết nối giao tiếp không dây thứ hai và cùng AP của giao tiếp thứ nhất không.

# Đôi khi bạn không muốn kết nối vào một số AP nhất định
blacklist_aps=( "ESSID3" "ESSID4" )

# Nếu bạn có nhiều card không dây, bạn có thể cho phép chúng
# kết nối vào cùng 1 AP ("no") hoặc không cho ("yes"). Mặc định là yes
unique_ap="yes"
Chế độ Ad-Hoc và Master

Nếu bạn muốn tự thiết lập một Ad-Hoc node khi không kết nối được vào AP trong managed mode, bạn có thể làm được.

adhoc_essid_eth0="This Adhoc Node"

Thế còn kết nối vào mạng Ad-Hoc hoặc chạy Master mode để thành Access Point? Đây là cấu hình cho việc đó! Bạn cần xác định WEP key như trên.

# Đặt mode - có thể là managed (mặc định), ad-hoc hoặc master
# Không phải driver nào cũng hỗ trợ đủ 3 mode
mode_eth0="ad-hoc"

# Đặt ESSID cho giao tiếp
# Trong managed mode, buộc giao tiếp thử và kết nối vào một ESSID nhất
# định và không gì khác
essid_eth0="This Adhoc Node"

# Chúng tôi dùng channel 3 nếu không xác định cụ thể
channel_eth0="9"
Phần sau được lấy từ tài liệu BSD wavelan trong Tài liệu NetBSD. Có 14 channel; Channel 1-11 dùng cho Bắc Mỹ, channel 1-13 dùng cho hầu hết Châu Âu, channel 10-13 dùng cho Pháp, và chỉ channel 14 cho Nhật. Nếu nghi ngờ, vui lòng tham khảo tài liệu đi kèm với card hoặc access point. Đảm bảo channel bạn chọn giống với channel của access point (hoặc card khác trong mạng ad-hoc). Mặc định với card bán ở Bắc Mỹ và hầu hết châu Âu là 3; mặc định cho card được bán ở Pháp là 11 còn Nhật là 14.
Tìm lỗi Wireless Tools

Có vài biến bạn có thể dùng để giúp kết nối không dây hoặc động khi có vấn đề về driver hoặc môi trường. Đây là bảng những thứ bạn có thể thử.

iwconfig_eth0 Xem iwconfig man page để biết chi tiết những gì cần gửi cho iwconfig iwpriv_eth0 Xem iwpriv man page để biết chi tiết những gì cần gửi cho iwpriv sleep_scan_eth00 Số giây cần chờ trước khi quét tìm. Cần biến này khi driver/firmware cần thời gian để kích hoạt trước khi sử dụng sleep_associate_eth05 Số giây cần chờ giao tiếp gắn với Access Point trước khi chuyển sang Access Point kế associate_test_eth0MAC Vài driver không reset địa chỉ MAC về một địa chỉ không hợp lệ khi they loose or attempt to associate. Vài driver không reset quality level khi they loose or attempt to associate. Thiết lập hợp lệ là MAC, qualityall. scan_mode_eth0 Vài driver cần phải quét trong ad-hoc mode, vì thế nếu quét thất bại, thử quét đặt ad-hoc ở đây iwpriv_scan_pre_eth0 Gửi lệnh iwpriv đến giao tiếp trước khi quét. Xem iwpriv man page để biết chi tiết iwpriv_scan_post_eth0 Gửi vài lệnh iwpriv đến giao tiếp sau khi quét. Xem iwpriv man page để biết chi tiết
Biến Giá trị mặc định Mô tả
Đặt cấu hình mạng theo ESSID

Vài người khi kết nối vào ESSID1 cần IP tĩnh và khi khi kết nối vào ESSID2 cần DHCP. Thực ra hầu hết biến module bạn có thể thay đổi theo ESSID. Đây là cách làm.

Chỉ hoạt động nếu bạn dùng WPA Supplicant hoặc Wireless Tools. Bạn sẽ cần tham khảo tài liệu về tên biến
config_ESSID1=( "192.168.0.3/24 brd 192.168.0.255" )
routes_ESSID1=( "default via 192.168.0.1" )

config_ESSID2=( "dhcp" )
fallback_ESSID2=( "192.168.3.4/24" )
fallback_route_ESSID2=( "default via 192.168.3.1" )

# Chúng ta có thể định nghĩa nameserver và những thứ khác
# CHÚ Ý: DHCP sẽ ghi đè những giá trị này trừ khi nó được yêu
# cầu không ghi đè
dns_servers_ESSID1=( "192.168.0.1" "192.168.0.2" )
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="search.this.domain search.that.domain"

# Bạn ghi đè địa chỉ MAC của Access Point.
# Tiện lới nếu bạn đến một nơi khác có cùng ESSID
config_001122334455=( "dhcp" )
dhcpcd_001122334455="-t 10"
dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )