1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Dùng Linux làm Access Point

Chủ đề trong 'Điện - Điện tử - Viễn thông' bởi nvl, 19/05/2007.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    Dùng Linux làm Access Point

    Trên mạng có nhiều bài viết về việc lấy Linux kết hợp với một cái card mạng WIFI thích hợp để làm access point. Nói nôm na là làm một cái bridge để chuyển từ mạng vô tuyến sang hữu tuyến và ngược lại. Nhưng những bài viết ở trên mạng thường là được copy dịch lại từ những chỗ khác nhau nên giá trị thực hành có nhiều hạn chế. Tớ vừa ngồi cài xong cái access point nên viết lại bài này để giới thiệu với các bạn.

    1. Chọn card mạng:

    Phải chọn loại dùng chipset Prism 2/2.5/3, hoặc Atheros, hoặc PrismGT. Có một danh sách các card thích hợp để làm việc này trên Internet, xong lúc ra cửa hàng hỏi mua thì người bán thường không biết model hoặc chipset cụ thể, nên rất khó mua. Kinh nghiệm của tớ là những loại thích hợp thì chỉ có tốc độ 11M (802.11b). Dùng chipset Prism là tốt nhất vì dễ cài với driver hostap, còn nếu ai dùng Atheros thì có thể dùng driver madwifi. Và cũng chỉ có các card loại này thì mới hack được WEP thôi.

    Nếu mua được card Prism về rồi thì nhớ update firmware lên version từ 1.7.4 trở lên để có hỗ trợ bảo mật bằng WPA. Update bằng Win cho nó dễ. Tớ viết bài này chỉ cho loại card dùng chipset Prism, với khe cắm PCMCIA. Các loại khác thì hơi khác một tí nhưng rồi mò cũng ra thôi.
  2. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    2. Chọn Linux
    Trong các bài viết hướng dẫn, người ta thường bắt download soure code của hostap xuống rồi dịch lại. Tớ thấy riêng đối với thằng hostap này mà ngồi dịch lại nó thì nó còn bắt có cả kernel soure của Linux luôn. Điều này dẫn đến khả năng là có thể chúng ta lại phải mày mòn ngồi dịch kernel source, và phải cài cả đống công cụ thư viện lập trình, rất phức tạp. Vì vậy tớ khuyên các bạn là nên dùng bản Linux nào có sẵn hostap rồi.
    Một số bạn nghĩ đơn giản là cái máy tính dùng làm router thì chỉ cần kiếm một bản live CD nào đó nhỏ gọn, nhưng tớ thì chưa mò ra được bản nào ưng ý để tùy biến. Nếu dùng hẳn những thằng Linux hoàn thiện như Redhat chẳng hạn thì to quá, cài thừa nhiều thứ mà lại mất thời giờ. Cách của tớ là dùng bản Au***or cài trên ổ cứng. Nhớ chạy ?oinit 3? để thấy rõ các câu thông báo trên màn hình đen xì.
  3. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    3. Cài đúng driver:
    Thằng Linux nó hơi ngu ngu. Mình muốn cài driver hostap cho nó thì nó lại nhận ra thành wlanng với cả hermes. Phải chú ý là khi nào gõ lsmod mà lên được hostap thì mới là cài được, mà muốn cài được thì phải tìm cách loại bỏ các đối thủ cạnh tranh.
    Trước hết, sau khi khởi động xong, dùng lệnh dmesg để xem Linux nó detect card của mình thành loại gì. Có một tiến trình gọi là cardmgr dùng để quản lý card PCMCIA lắp ra đút vào. Tiến trình này sẽ detect card, tìm trong các file config xem loại card là gì để nạp driver tương ứng.
    Sau khi biết được tên card của mình rồi thì tìm trong thư mục /etc/pcmcia sẽ thấy các file wlanng.conf hoặc hermes.conf hay một vài file khác tương tự có chứa tên card của mình. Trói các dòng khai báo card này lại (#) và cả những dòng khai báo card khác tên nhưng có trùng ID với card của mình. Với các file wlanng thì có thể xóa thẳng tay luôn (rm ?"fr wlanng*). Sau này nếu có việc cần lại thì copy thẳng từ CD Au***or cũng chả sao. Tớ có tính hay cực đoan nên xóa hết cả mấy cái file wlanng với chả hermes đi cho đỡ phải trói từng dòng.
    Tiếp đó, soạn thảo (vi) cái file hostap.conf để thêm khai báo cho card của mình lên một trong những vị trí đầu tiên. Mấy file conf này có cú pháp khai báo giống nhau nên có thể nhanh chóng làm được. Làm xong thì reboot lại là ok. Gõ lsmod thì nó sẽ lên hostap, nếu chưa lên thì đừng chuyển sang bước sau.
  4. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    4. Chuyển card sang chế độ master và bridge mode:
    Lệnh:
    iwconfig wlan0 essid khongday channel 9 mode master
    sau này có thể tự động hóa bằng cách vào /etc/network soạn lại file wireless.opts
    case ?o$ADDRESS? in
    #scheme, socket, instance, MAC address)
    vanphong,*,*,00:02:6F:-*)
    INFO=?Mang van phong?
    ESSID=?khongday?
    MODE=Master
    CHANNEL=9
    RATE=?auto?
    ;;
    esac
    Trong file wireless.opts cũng giải thích rõ về cái kịch bản này rồi. Có thể kiểm tra bằng lệnh cardctl scheme (xem man để biết thêm chi tiết)
    Lệnh:
    ifconfig wlan0 0.0.0.0
    ifconfig eth0 0.0.0.0
    brctl addbr br0
    brctl addif br0 wlan0
    brctl addif br0 eth0
    ifconfig br0 192.168.1.100
    brctl stp br0 off
    Thế là xong việc. Thích tự động hóa thì xem file /etc/network/interfaces. Tớ thì chưa tự động hóa được, nên mỗi lần khởi động máy lại phải làm bằng tay.
  5. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    5. Cài chế độ bảo mật WPA
    Để mạng wifi của mình cho thiên hạ dùng miễn phí là không tốt. Nếu bảo mật bằng WEP thì có thể bị hack như chơi. Nếu dùng WPA2 thì hơi kém tương thích. Tớ chọn WPA với password là 20 kí tự (ít hơn thì có thể bị hack). Công cụ hostapd chuyên dùng để làm việc này (nhớ là có chữ d để phân biệt với cái driver nói trên)
    Trước hết phải tìm chuỗi mã cho password (có thể dài từ 8 đến 63 kí tự). Tớ chọn dài hơn 20 cho chắc ăn.
    Lệnh: wpa_passphrase [ssid] [wpapassphrase]
    Lệnh này cho kết quả là chuỗi mã hex : psk=................
    Sau đó vào soạn file /etc/hostapd/hostapd.conf
    Đây là một cái file rất dài dòng văn tự, nhưng ta chỉ cần mấy dòng ngắn thế này thôi
    interface=wlan0
    ssid=vanphong
    wpa_passphrase=(chính là cái password, không có dấu ngoặc)
    wpa_psk=(chuỗi hex nói trên, cũng không ngoặc nốt)
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP CCMP
    Cuối cùng chạy lệnh hostapd -B /etc/hostapd/hostapd.conf
    Dùng iwconfig để kiểm tra lại toàn bộ quá trình một lần nữa cho chắc. Chả hiểu sao nó lên những 3 interfaces là wifi0, wlan0 và wlan0ap mới sợ chứ. Nhưng cuối cùng thế cũng là thành công rồi. Máy client dùng WIN thì cấu hình rất dễ, nhưng nếu dùng Linux thì phải chạy thêm cái wpa_supplicant khá phiền hà.
    Điều chú ý là với những bạn dùng cấu hình và phần mềm Linux hơi khác với tớ thì chịu khó mày mò thêm một tí thì cũng sẽ ra vấn đề thôi. Hiện nay đã có cả phần mềm access point cho Win, mặc dù dễ hơn nhưng nghe chừng hơi kém tùy biến. Đối với những người lười thì có thể mua cái access point chuẩn B của tàu với giá khoảng 30$ nhé. Ai thích học thì làm theo bài viết này với card wifi 10$
    Chúc thành công!
  6. hamvui

    hamvui Thành viên quen thuộc

    Tham gia ngày:
    26/12/2001
    Bài viết:
    289
    Đã được thích:
    0
    Bai viet rat hay, nvl da thu tren card PCI chua? viec support se de dang hon day.
  7. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    Mình chưa thử card PCI vì chưa mua được loại thích hợp. Nếu theo phương án cũ thì có lẽ lại tiếp tục săn card chuẩn b thôi. Nhưng mà cơ bản là mình không thích dùng máy PC làm bridge vì cái quạt của nó kêu to quá. Dùng một cái laptop đời cổ hỏng màn hình vứt ở xó nhà yên ắng là tốt lắm rồi
  8. hamvui

    hamvui Thành viên quen thuộc

    Tham gia ngày:
    26/12/2001
    Bài viết:
    289
    Đã được thích:
    0
    Tôi mua được cái nguồn ngon nên quạt êm ả lắm, đang có 2 cai card PCI linksys 54Mb và 108 Mb mà chưa có thời gian ngồi cài cắm.
  9. nvl

    nvl ĐTVT Moderator

    Tham gia ngày:
    31/01/2002
    Bài viết:
    4.304
    Đã được thích:
    6
    2 cái PCI linksys đó là model nào, dùng chipset gì hả bạn? Nếu mình ở HN thì có thể mua được không?
  10. hamvui

    hamvui Thành viên quen thuộc

    Tham gia ngày:
    26/12/2001
    Bài viết:
    289
    Đã được thích:
    0
    Minh dung linksys Wm54G ~ broadcom

Chia sẻ trang này