จะตั้งค่า Ubuntu เป็นจุดเชื่อมต่อไร้สายได้อย่างไร?


25

ฉันจะตั้งค่า WiFi เพื่อใช้เป็นจุดเชื่อมต่อไร้สายบนเซิร์ฟเวอร์ Ubuntu ได้อย่างไร

ฉันมีเซิร์ฟเวอร์ Ubuntu ในตัว แต่ก็มีการ์ดไร้สายอยู่ในนั้น (802.11a / b / g / n) และฉันต้องการตั้งค่าเป็นจุดเข้าใช้งาน 802.11n เนื่องจากจุดเชื่อมต่อปกติของฉันไม่รองรับ N

มันต้องทำงานเป็นสวิตช์เช่นกันดังนั้นฉันจึงสามารถเชื่อมต่อและรับ DHPC ผ่านได้

แก้ไข:ฉันไม่เห็นตัวจัดการเครือข่ายเป็นวิธีแก้ปัญหาที่ดีเนื่องจากมันขึ้นอยู่กับแพ็คเกจ X11 จำนวนมากและฉันไม่ต้องการสิ่งนั้นบนเซิร์ฟเวอร์


คำตอบ:


7

ผมพบว่าหัวข้อที่ดี มันควรจะทำงานใน Ubuntu 10.04 ไม่มีปัญหา นอกจากนี้ยังเป็น CLI ดังนั้นจึงไม่ต้องการ X libs ใด ๆ เลย :)


1
เธรดที่เชื่อมโยงนั้นมีความยาว 41 โพสต์และไม่ชัดเจนเลยว่าคำตอบของคำถามคืออะไร คำตอบควรสรุปได้ที่นี่
Frank Kusters

5

คลิกที่ไอคอน NetworkManager ของคุณในแผงควบคุมและเลือก "สร้างเครือข่ายไร้สาย ... " คุณควรจะสามารถตั้งค่านี้เป็น "ระบบ" (ตรงข้ามกับ "ผู้ใช้") การเชื่อมต่อ

คุณบอกว่านี่เป็นเซิร์ฟเวอร์ดังนั้นบางทีคุณอาจเข้าถึงเซิร์ฟเวอร์ผ่าน SSH เท่านั้น ในกรณีนี้คุณสามารถลองเชื่อมต่อ X ระยะไกลได้ หรือพยายามกำหนดค่า NetworkManager ผ่านบรรทัดคำสั่งซึ่งน่าจะเป็นไปได้หากไม่ใช่เรื่องเล็กน้อย


เป็นไปได้ แต่ฉันไม่ต้องการ NetworkManager
LassePoulsen

OMG มันใช้งานได้! มีปัญหากับ WPA1 & 2 & WEP แต่ไม่มีการเข้ารหัสมันทำงานได้ดี
WitchCraft


-1

นี่เป็นบทความที่ค่อนข้างดี (ถ้าเป็นบทความที่ล้าสมัย [หากปี 2549 ล้าสมัย]) ซึ่งสรุปวิธีการทำสิ่งนี้จากบรรทัดคำสั่ง

http://www.linux.com/archive/feed/55617

สมมติว่าอุปกรณ์ไร้สายของคุณทำงานตกลงคุณอาจจะดำดิ่งเข้าไปที่ส่วนเชื่อมต่อประมาณครึ่งทาง


Wi-Fi รุ่น Protected Access 2 ( WPA2 ) จะกลายเป็นมาตรฐาน de facto สำหรับการรักษาความปลอดภัยเครือข่ายไร้สายและคุณลักษณะที่จำเป็นสำหรับผลิตภัณฑ์ Wi-Fi ใหม่ทุกคนได้รับการรับรองโดยWi-Fi Alliance เราทุกคนรู้จุดอ่อนด้านความปลอดภัยของ WEP รุ่นก่อน ครั้งนี้พวกเขาทำให้ถูกต้อง ต่อไปนี้เป็นวิธีการใช้โปรโตคอล WPA2 บนโฮสต์ Linux และสร้างจุดเชื่อมต่อไร้สายที่ปลอดภัย (WAP) สำหรับเครือข่ายของคุณ

WAP เชิงพาณิชย์ระดับผู้บริโภคส่วนใหญ่ทำงานในลักษณะที่เรียบง่ายเหมือนกัน: พวกเขาสร้างสะพานเชื่อมต่อระหว่างเครือข่ายต่อสาย (Ethernet) และเครือข่ายไร้สาย นั่นคือสิ่งที่เราจะทำเช่นกัน ส่วน WAP จะถูกจัดการโดยhostapddaemon ดังนั้นคุณต้องเลือกอินเตอร์เฟสแบบไร้สายที่รองรับ ในบรรดานิคส์ที่รองรับ ได้แก่ Prism 2 / 2.5 / 3, Atheros ar521x และ Prism GT / Duette / Indigo chipsets รายการมีอยู่ในโฮมเพจของ hostapd พร้อมกับลิงก์สำหรับไดรเวอร์ Linux สำหรับแต่ละชิปเซ็ต ฉันมีการ์ด PCI ที่ใช้ Atheros AR5212 ติดตั้งบน WAP ของฉันซึ่งรองรับโดย hostapd แม้ว่าระบบ Pentium ใด ๆ (หรือใหม่กว่า) จะทำงานได้ แต่การ์ดไร้สาย PCI บางรุ่นจำเป็นต้องใช้ PCI 2.2 ในการใช้งานดังนั้นโปรดตรวจสอบข้อมูลจำเพาะของเมนบอร์ดในระบบของคุณก่อนซื้อ คุณจะต้องใช้อินเตอร์เฟส Ethernet ที่ Linux รองรับสำหรับการเชื่อมต่อ WAP ของคุณกับ LAN อินเทอร์เฟซออนบอร์ดส่วนใหญ่จะใช้งานได้ดี

การตั้งค่าของฉันขึ้นอยู่กับการทดสอบ Debian (Etch) แต่การแจกจ่าย GNU / Linux ใด ๆ ที่มีเคอร์เนล 2.6 รุ่นล่าสุดจะทำงานได้ เคอร์เนลต้องรองรับ 802.1d Ethernet Bridging (CONFIG_BRIDGE) และ Wireless LAN (CONFIG_NET_RADIO) เมล็ดสต็อคเริ่มต้นส่วนใหญ่เปิดใช้งานคุณลักษณะเหล่านี้ แต่ถ้าคุณต้องการสร้างเคอร์เนลของคุณเองตรวจสอบให้แน่ใจว่าได้รวมตัวเลือกเหล่านี้แล้ว เพียงแพคเกจอื่น ๆ ที่คุณจะต้องติดตั้งนอกจาก hostapd เป็นสะพาน utilsและWi-Fi เครื่องมือ การกระจาย GNU / Linux ที่สำคัญเสนอแพ็คเกจไบนารีสำหรับโปรแกรมเหล่านี้ แต่ถ้าคุณต้องการสร้างจากแหล่งที่มาคุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับหน้าแรกของพวกเขา

ก่อนที่จะเชื่อมต่ออินเตอร์เฟซทั้งสองเข้าด้วยกันเราจะต้องใส่อินเตอร์เฟสไร้สาย (ในกรณีของฉัน ath0; ปรับให้เข้ากับการตั้งค่าของคุณ) ในโหมด hostap หรือโหมดมาสเตอร์ โดยปกติแล้วนี่จะง่ายเหมือนการรันโหมด iwconfig ath0 Master แต่เนื่องจากการรองรับ wlan ใน Linux ยังไม่ได้มาตรฐานดังนั้นไดรเวอร์บางตัวอาจต้องมีการกำหนดค่าเพิ่มเติม หากคุณมีอินเตอร์เฟสที่ใช้ Atheros คุณต้องรันสิ่งต่อไปนี้: wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode apก่อนiwconfigคำสั่ง หลังจากนั้นการทำงานiwconfig ath0จะกลับมาmode:Masterในหมู่คนอื่น

ตอนนี้เรามาสร้างสะพาน เราจะสมมติว่าส่วนต่อประสานอีเธอร์เน็ตเป็น eth0:

ifconfig eth0 0.0.0.0 up
ifconfig ath0 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 ath0

และสำหรับการหยุดสะพานคุณควรเรียกใช้:

ifconfig br0 down
ifconfig eth0 0.0.0.0 down
ifconfig ath0 0.0.0.0 down
brctl delif br0 eth0
brctl delif br0 ath0
brctl delbr br0

คุณสามารถเลือกที่จะให้ที่อยู่ IP กับอินเทอร์เฟซ br0 หากคุณต้องการเข้าถึงโฮสต์ WAP จากเครือข่ายโดยใช้ SSH เช่น การแจกจ่ายแต่ละรายการนำเสนอวิธีการกำหนดค่าเครือข่ายของตนเอง ถ้าคุณใช้ Debian (หรือการกระจายที่ใช้ Debian เช่น Ubuntu) คุณสามารถสรุปคำสั่งก่อนหน้านี้ทั้งหมดโดยเพียงแค่เพิ่มสิ่งต่อไปนี้ใน/etc/network/interfacesไฟล์ของคุณ:

auto ath0 br0

iface ath0 inet manual
        pre-up wlanconfig ath0 destroy
        pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
        post-down wlanconfig ath0 destroy
        wireless-mode master

iface br0 inet manual
        bridge_ports eth0 ath0

โปรดทราบว่าifupdownจับ eth0 /etc/network/interfacesอัตโนมัติเพื่อให้คุณไม่จำเป็นต้องมีบทที่แยกต่างหากสำหรับมันใน brctl showเพื่อตรวจสอบว่าสะพานที่มีการกำหนดค่าอย่างถูกต้องวิ่ง คุณควรได้รับสิ่งนี้คืน:

bridge name     bridge id               STP enabled     interfaces
br0             8000.00032f2481f0       no              ath0
                                                        eth0

ก่อนที่จะเริ่มยุ่งกับ hostapd เราต้องใช้วลีรหัสผ่านสำหรับ WPA2 เช่นเดียวกับรหัสผ่านทั้งหมดควรสุ่มและยากที่จะคาดเดา วิธีที่ดีในการรับวลีรหัสผ่านแบบสุ่มคือไปที่ตัวสร้างรหัสผ่านความปลอดภัยสูงพิเศษของ Gibson Research Corp.และใช้รหัสผ่านที่สามที่สร้างขึ้นซึ่งเป็นหนึ่งในตัวอักษร 63 ตัวอักษรและตัวเลขแบบสุ่ม การมีข้อความรหัสผ่านที่มีอักขระ ASCII ที่ไม่ใช่ตัวเลขและตัวอักษร (เช่น!, @, ฯลฯ ) อาจดึงดูด แต่ลูกค้าบางรายเช่น Windows XP ดูเหมือนจะไม่ชอบพวกเขา

ตอนนี้สร้างไฟล์ข้อความใหม่ชื่อ/etc/hostapd/wpa_pskและวางวลีรหัสผ่านของคุณเป็น:

00:00:00:00:00:00 PASSPHRASE

ส่วนแรกด้วยค่าศูนย์หมายถึง 'จับคู่ที่อยู่ MAC ทั้งหมด' และทำเช่นนั้นทั้งหมด นอกจากนี้คุณยังสามารถใช้ข้อความรหัสผ่านที่แตกต่างกันสำหรับลูกค้าแต่ละรายโดยเพิ่มบรรทัดใหม่ไปยังไฟล์ด้วยที่อยู่ MAC ของลูกค้าแต่ละรายและวลีรหัสผ่าน chmod 600 /etc/hostapd/wpa_pskตรวจสอบให้แน่ใจว่ารากเท่านั้นที่มีสิทธิ์ในการเข้าถึงไฟล์นั้นด้วยการวิ่ง

ตอนนี้สร้างการสำรองข้อมูลของไฟล์การตั้งค่าหลัก hostapd ของ, และเก็บไว้เป็นข้อมูลอ้างอิงจากการทำงาน/etc/hostapd/hostapd.conf mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.origสร้างไฟล์ hostapd.conf ใหม่และวางบรรทัดต่อไปนี้ลงในไฟล์:

interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=My_Secure_WLAN
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
stakey=0

เปลี่ยนชิ้นส่วนเป็นตัวเอียงด้วยข้อมูลที่ตรงกับการตั้งค่าของคุณ หากคุณต้องการอนุญาตให้ไคลเอนต์ที่เฉพาะเจาะจงเชื่อมต่อได้ให้ลบอักขระ # จากสองบรรทัดด้านบนและคัดลอกที่อยู่ MAC ของไคลเอ็นต์เหล่านั้นไป/etc/hostapd/acceptและทำให้ไฟล์นี้สามารถเข้าถึงได้โดย root เท่านั้น (chmod 600) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกที่ใช้อ่านความคิดเห็นในไฟล์สำรองข้อมูลที่คุณสร้างไว้ก่อนหน้านี้ (hostapd.conf.orig)

เริ่ม hostapd daemon ( /etc/init.d/hostapd start) และตรวจสอบ/var/log/daemon.logเพื่อตรวจสอบว่ามันใช้งานได้ หาก daemon ไม่เกิดขึ้นให้เพิ่มระดับการดีบัก ( option debug=ใน hostapd.conf) เป็น 4 แล้วลองอีกครั้ง

ตอนนี้ถ้าคุณสแกนหาเครือข่ายไร้สายที่มีจากไคลเอนต์คุณควรเห็น ESSID ของคุณ ในการเชื่อมต่อ WAP จากไคลเอนต์ Linux คุณจะต้องติดตั้งwpa_supplicantและสร้างไฟล์การกำหนดค่า wpa_supplicant.conf (ใน Debian ติดตั้งใน/etc/wpa_supplicant/) ดังนี้:

update_config=1
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

network={
        ssid="My_Secure_WLAN"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk="PASSPHRASE"
        priority=5
}

เปลี่ยนชิ้นส่วนเป็นตัวเอียงอีกครั้งเพื่อให้ตรงกับการตั้งค่าและเรียกใช้ของคุณwpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf(แทนที่eth1ด้วยชื่ออินเตอร์เฟส wlan ของคุณและ wext ด้วยไดรเวอร์ที่เหมาะสมสำหรับการ์ดของคุณเรียกใช้ wpa_supplicant โดยไม่มีตัวเลือกสำหรับข้อมูลเพิ่มเติม) คำสั่งนี้เริ่มต้น wpa_supplicant ในเบื้องหน้าและพยายามเชื่อมต่อกับ WAP หากเอาต์พุตดูเหมือนว่าต่อไปนี้แสดงว่าคุณพร้อมแล้ว:

Trying to associate with 00:11:22:33:44:55 (SSID='My_Secure_WLAN' freq=0 MHz)
Associated with 00:11:22:33:44:55
WPA: Key negotiation completed with 00:11:22:33:44:55 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed (auth) [id=0 id_str=]

ระบุที่อยู่ IP แบบคงที่ให้กับอินเทอร์เฟซไร้สายของคุณ (หรือเรียกใช้ไคลเอนต์ DHCP) และลอง ping โฮสต์ภายใน LAN ของคุณเพื่อตรวจสอบว่าการเชื่อมต่อใช้งานได้

ขอแสดงความยินดีคุณเพิ่งสร้างจุดเชื่อมต่อไร้สายที่สามารถปรับแต่งได้เอง แม้ว่าการตั้งค่านี้เหมาะสำหรับการใช้งานที่บ้านหรือสำนักงานขนาดเล็ก แต่คุณต้องการสิ่งที่แข็งแกร่งกว่าในองค์กรพร้อมการตรวจสอบสิทธิ์กับเซิร์ฟเวอร์ RADIUS หรือ VPN ที่ดียิ่งขึ้น


1
มันล้าสมัยไปมาก ... สแต็คไดรเวอร์ไร้สายเคอร์เนลมีการเปลี่ยนแปลงตั้งแต่นั้นมา!
LassePoulsen

จริง แต่สิ่งที่สะพานและ wpa_supplicant ซึ่งเป็นสิ่งดิบที่จำเป็นในการรับมันมีประโยชน์
popey

1
หน้านี้คือ 404. -1 จากฉัน หากคุณสรุปข้อมูลที่มีอยู่ใน linke คำตอบของคุณจะยังคงใช้ได้
Marco

Archive.org เป็นเพื่อนของคุณ ... web.archive.org/web/20110830173316/http://www.linux.com/learn/…
popey

ลิงก์ตาย ......
obayhan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.