Có lẽ chẳng còn lâu nữa mạng không dây [1] sẽ được sử dụng rộng rãi khắp nơi. Từ thư viện đến quán cà phê, từ trạm xe điện đến sân bay, khách sạn, từ nhà bạn đến nhà hàng xóm, mọi người sẽ sử dụng mạng không dây. Bạn có biết là nếu nhà bạn có mạng không dây thi hàng xóm sẽ có thể 'share' mạng với bạn mà không cần có một internet account? Hoặc nếu bạn chuẩn bị thiết kế mạng cho nhiều văn phòng trong một tòa nhà, hoặc từ tòa nhà này sang tòa nhà khác (cách nhau trong khoảng 457m hay 1500ft) mà chưa có dây cáp thì có lẽ mạng không dây là một trong những thiết kế có thể sử dụng. Nhưng bác Larry ơi mạng không dây đắt tiền lắm. Không hẵn! Bạn Chương Đào có nói độ này card mạng cho mạng không dây có thể mua khoảng $27 (loại USB) hoặc thấp hơn.
Bài viết sau sẽ giải thích cách cài đặt mạng không dây 802.11b sử dụng Linux. Có rất nhiều loại mạng không dây khác nhau nhưng bài viết này sẽ dùng 802.11b và trong vòng nữa giờ bạn có thể sử dụng mạng không dây để đọc VietLUG mailing list :)
Muốn thiết kế mạng không dây bạn cần có:
1. Một máy chạy Windows sẽ làm Access Point (AP)
2. Một card mạng cho mạng không dây
3. Một internet connection (dsl, cable modem, dial-up modem)
4. Và dĩ nhiên một máy làm client.
À quên số 1. nên viết là 'Một máy chạy Linux sẽ làm Access Point' chứ không phải Windows.
Muốn dùng máy Linux để làm AP thì bạn cần phải sử dụng card mạng sử dụng chipset Intersil's Prism2/2.5/3. Thế cái chương trình gì cho phép Linux làm Access Point được vậy? Nó là HostAP viết bởi Jouni Malinen. Cho mục đích của bài viết mình sẽ sử dụng hai máy:
1. Access Point là máy Gentoo với card mạng NetGear PCI MA311
2. Wireless client là máy xách tay Mandrake với card mạng NetGear MA401.
Một số cards cũng sử dụng Prism2 chipset là Compaq WL100 and WL200, D-Link DWL-650 (not 650A nor 650B), and Linksys WPC11 (loại cũ), Orinoco/Lucent/Agere/Avaya cards. Nên nhớ bạn chỉ cần cái máy AP xài Prism2/2.5/3 chipset còn máy clients thì lam sao cards chạy đu+ợc trên Linux là đủ. Xem thêm danh sách của Prism2 cards tại đây [2]
Những bước chuẩn bị cho Access Point trên máy Gentoo:
1. Cài đặt hostap bằng lệnh:
emerge hostap
Nếu bạn không xài Gentoo thì có thể download HostAP driver từ đây. Sau đó cài đặt bằng lệnh:
. tar xvzf hostap-version.tar.gz
. cd hostap-version
. make pci
Nếu mọi chuyện êm xui thì gõ tiếp make install
2. Khởi động card với lệnh:
modprobe hermes
Lưu ý: nếu bản Linux của bạn đã khởi động card thì bạn không cần chạy lệnh này nữa.
3. Khởi động HostAP driver bằng lệnh:
modprobe hostap_pci
4. Chỉ định IP cho card bằng lệnh:
ifconfig wlan0 192.168.1.1
5. Tạo ID, channel, mode cho card bằng lệnh:
iwconfig wlan0 essid em_thèm_mạng_không_dây channel 1 mode master
essid: bạn muốn dùng từ gì cũng được. Đây là ID của mạng không dây.
channel: mình sử dụng giá trị từ 1 đến 11.
mode: nếu là Access Point thì mode phải là Master. Có 7 modes khác nhau: Master (Access Point), Managed, Ad-Hoc, Repeater, Secondary, Monitor, Auto.
6. Mở port forward và MASQUERADING với lệnh:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
Sáu bước trên đã kết thúc việc cài đặt cho máy AP. Nếu khi chạy lệnh iwconfig mà bị báo lỗi nghĩa là máy bạn chưa có wireless-tools cài đặt. Bạn có thể tải wireless-tools từ đây
Những bước chuẩn bị cho máy xách tay Mandrake:
1. Chỉ định IP, essid, mode cho card:
Mandrake sẽ tự động tìm thấy và khởi động card NetGear MA401 bạn chỉ cần chỉ định IP 192.168.1.[2..254], essid giống như của máy AP, trong ví dụ này là 'em_mê_mạng_không_dây', mode sẽ là 'Managed', default gateway là 192.168.1.1 bằnh cách sử dụng MandrakeControlCenter (lệnh mcc), chọn phần Network.
Non-Mandrake users có thể chạy những lệnh sau:
ifconfig eth0 192.168.1.2
iwconfig eth0 mode managed essid em_mê_mạng_không_dây channel 1
2. Đặt giá trị cho gateway bằng lệnh:
route add -net default gw 192.168.1.1
3. Xem lại giá trị của dns: bạn nên xài dns servers giống như máy AP bằng cách điền vào /etc/resolv.conf
Voilà! Bây giờ thử ping 192.168.1.1
xem nó có reply không? Nếu có thì...xin chúc mừng! Mạng không dây của bạn đã hoạt động.
Vấn đề an toàn của mạng không dây:
Mạng không dây nổi tiếng với chuyện bị crackers vào system. Đó là lý do users hay dùng WEP (Wired Equivalent Privacy) encryption. Bạn có thể sử dụng WEP bằng lệnh $iwconfig wlan0 key your_encryption_key_or_alphanumerical_letters_here. Bạn cũng có thể có nhiều hơn một key, chỉ việc thay thế key bằng key1, key2 ..v..v..
Tuy nhiên sử dụng WEP vẫn không phải là biện pháp tối ưu. Gần đây các nhà nghiên cứu đang chuẩn bị giới thiệu một kiểu encryption mới cho mạng không dây (Wi-Fi Protected Access - WPA) nằm trong 802.11i. Bạn đừng lo 802.11i sẽ vẫn hoạt động tốt với 802.11a và b. Hiện tại trên thị trường cũng đã có 802.11g, khác với a và b là tốc độ có thể lên đến 54Mbps thay vì 11Mbps.
Cám ơn bạn Hoàng (dr bsd), bác Chương (dr foobar) đã nhiệt tình trao đổi kinh nghiệm về wireless với mình. Xin gởi feedback cho bài viết đến mạng_không_dây@vnlinux.org. Hy vọng bạn có thể dùng chút ít trong bài viết này cho việc thiết kế mạng trong tương lai.
HostAP http://hostap.epitest.fi/
Wireless tools for Linux http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
[1] Mạng không dây: wireless network. Wi-Fi (wireless fidelity) là từ hay dùng cho wireless network. Bạn cũng sẽ nghe WLAN: wireless local area network.
[2] Danh sách card sử dụng Prism2 chipset http://www.personaltelco.net/index.cgi/Prism2Card
Tác giả: Larry - vnLinux.org