วิธีตั้งค่าเครือข่าย WiFi หลายเครือข่าย


113

ฉันไปกลับจากบ้านไปโรงเรียนกับพี่ของฉัน ฉันเพิ่งได้รับ WiFi ทำงานเมื่อคืนที่บ้านโดยใช้wpa.confแทนwpa_supplicant.confหนังสือที่ฉันใช้มีทางเดินผ่านเพื่อแทน ฉันสังเกตเห็นว่าดูเหมือนว่าจะใช้งานมากมายwpa_supplicantแต่ฉันไม่แน่ใจว่าทำไม ...

อย่างไรก็ตามฉันรู้วิธีสร้าง WiFi IP คงที่สำหรับเครือข่ายในบ้านของฉัน แต่ฉันจะตั้งค่าสิ่งต่าง ๆ สำหรับการเชื่อมต่ออัตโนมัติกับโรงเรียน WiFi ของฉันและใช้ IP คงที่แตกต่างกันสำหรับเครือข่ายนั้นได้อย่างไร

ฉันจะเพิ่มเครือข่ายnetwork={}ในwpa.confไฟล์ของฉันสำหรับเครือข่ายได้หรือไม่ สำหรับ IP แบบคงที่ที่สองฉันจะผูกกับเครือข่ายของโรงเรียนได้อย่างไร

คำตอบ:


106

แก้ไข/etc/wpa_supplicant/wpa_supplicant.confและเพิ่มid_str = "โรงเรียน"ใต้โรงเรียนข้อมูลwpaและid_str = "บ้าน"ใต้บ้านของคุณข้อมูล wpa ตอนนี้ไฟล์ของคุณควรมีลักษณะคล้ายกับนี้:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SCHOOLS NETWORK NAME"
    psk="SCHOOLS PASSWORD"
    id_str="school"
}

network={
    ssid="HOME NETWORK NAME"
    psk="HOME PASSWORD"
    id_str="home"
}

จากนั้นตั้งค่า/ etc / network / interfacesด้วยiface school inet staticและiface home inet staticในนั้นเพื่อให้มีลักษณะดังต่อไปนี้:

สิ่งนี้ใช้กับ Raspbian Wheezy ก่อน 2015-05-05 สำหรับภายหลัง (และเจสซี) ดูฉันจะตั้งค่าเครือข่าย / WiFi / IP แบบคงที่ได้อย่างไร

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface school inet static
address <school address>
gateway <school gateway>
netmask <school netmask>

iface home inet static
address <home address>
gateway <home gateway>
netmask <home netmask>

มันอาจจะคุ้มค่าที่จะสังเกต: ถ้าฉันเข้าใจเอกสารอย่างถูกต้องเพื่อที่จะใช้วิธีนี้คุณจะต้องมีและคุณสมบัติ id_str สำหรับเครือข่าย EVERY ในไฟล์ wpa_supplicant.conf ของคุณ มิฉะนั้นสิ่งนี้จะไม่ทำงาน คุณยืนยันได้ไหม
PICyourBrain

ฉันไม่เชื่อว่านี่เป็นกรณี
les

3
วิธีการนี้ใช้งานได้ แต่จะสามารถสลับ WiFi ได้โดยไม่ต้องรีสตาร์ท Pi หรือไม่
MetalGodwin

2
หากไม่มีการกำหนดค่าที่จะได้รับid_str default
Raptor

1
@MetalGodwin คุณสามารถใช้wpa_cliตามที่แนะนำได้ที่นี่: raspberrypi.org/forums/viewtopic.php?t=179387
iwillnot

34

ฉันเพิ่งสะดุดกับแอปพลิเคชั่นคอนโซลที่คัดแยกการกำหนดค่าไร้สายทั้งหมดออกไป คุณสามารถใช้เครื่องมือนี้เพื่อกำหนดค่าอินเตอร์เฟส LAN

sudo apt-get install wicd-curses

มันจะติดตั้งแพ็กเกจอื่น ๆ ไม่กี่ตัว แต่มันจะทำงาน daemon ของตัวเองในพื้นหลัง สิ่งนี้จะจัดการเครือข่ายและทำให้แน่ใจว่าคุณเชื่อมต่อกับเครือข่ายที่คุณต้องการ รันด้วย:

sudo wicd-curses

สกรีนช็อตของ wicd-curses

หากคุณได้รับข้อความแจ้งว่าไม่มีเครือข่ายที่ตรวจพบกดP(ต้องเป็นตัวใหญ่ดังนั้นให้ใช้ [SHIFT] p) แล้วพิมพ์ wlan0 ในช่องอินเตอร์เฟสไร้สายแล้วกด F10 เพื่อบันทึก

  1. R เพื่อรีเฟรชรายการ
  2. ใช้เคอร์เซอร์บนคีย์บอร์ดเพื่อเลื่อนรายการขึ้นและลง
  3. กดขวาเพื่อกำหนดค่าการเชื่อมต่อไร้สาย
  4. กดลงสองสามครั้งแล้วเลือก "เชื่อมต่อกับเครือข่ายนี้โดยอัตโนมัติ"
  5. กดลงสองสามครั้งอีกครั้งและพิมพ์รหัสผ่านของคุณในช่องสำคัญ
  6. กด F10 เพื่อบันทึก
  7. เริ่มจาก 1 เพื่อทำสิ่งนี้อีกครั้งสำหรับเครือข่ายอื่น ๆ

ป้อนคำอธิบายรูปภาพที่นี่

คุณอาจต้องกดCเพื่อเชื่อมต่อกับจุดเชื่อมต่อ หากคุณเชื่อมต่อผ่านสายเคเบิลนั่นน่าจะเป็นสาเหตุที่ทำให้อินเตอร์เฟส LAN เสียและไร้สาย

มันยังจัดการการเชื่อมต่อด้วยดังนั้นมันจะเชื่อมต่อกับจุดเชื่อมต่อไร้สายที่กำหนดค่าไว้หากมันหลุดด้วยเหตุผลใดก็ตาม แต่จะพยายามเชื่อมต่อกับเครือข่ายที่มีอยู่เช่นเดียวกับใน Windows, Macintosh หรือ Linux Desktop

หวังว่ามันจะช่วย!


2
เครื่องมือประเภทนี้เป็นสิ่งที่ฉันกำลังมองหา ความยืดหยุ่นทั้งหมดที่มีให้โดย GUI แต่เป็นเทอร์มินัลแทน ขอขอบคุณ!
FoamyGuy

Upvote: หลังจากรันสิ่งนี้ฉันได้ทำการสแกน IP ขั้นสูงของเครือข่ายย่อยทั้งสองและ Rpi3 ของฉันแสดงขึ้นทั้งสองอย่าง ที่น่าสนใจเมื่อฉันไปติดตั้งในตอนแรกมันบอกฉันว่าฉันมีเวอร์ชันล่าสุดแล้ว
SDsolar

รายละเอียดเล็กน้อยหนึ่ง: เพื่อให้ได้ช่วงพิเศษฉันใช้ wlan1 กับเสาอากาศภายนอกดังนั้นในคำสาปฉันต้องเข้าสู่ prefs เพื่อระบุอะแดปเตอร์นั้น ไม่จำเป็นต้องปิด wlan0 แต่ฉันก็ทำได้ด้วย sudo ifcongig wlan0 ลง
SDsolar

32

ด้วยการJessieเปิดตัวRaspbian คุณไม่จำเป็นต้องแก้ไขinterfaceไฟล์ เพียงอัปเดตwpa_supplicantไฟล์ด้วยเครือข่ายหลายเครือข่ายก็พอเพียง นี่คือลักษณะที่ปรากฏ -

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SCHOOLS NETWORK NAME"
    psk="SCHOOLS PASSWORD"
    id_str="school"
}

network={
    ssid="HOME NETWORK NAME"
    psk="HOME PASSWORD"
    id_str="home"
}

สิ่งนี้ใช้ได้สำหรับฉันและ wifi ของฉันเชื่อมต่ออยู่เสมอกับรายการเครือข่ายที่มีอยู่ที่กล่าวถึงในไฟล์ด้านบน หวังว่ามันจะช่วย


23

ที่จริงคุณสามารถเพิ่มตัวเลือกลำดับความสำคัญ ชอบมาก

network={
      ssid="open"
      key_mgmt=NONE
      id_str="open"
      priority=3
}

network={
        ssid="secure"
        key_mgmt=WPA-EAP
        proto=WPA2
        group=CCMP
        pairwise=CCMP
        eap=TLS
        ca_cert="/etc/certs/cacert.pem"
        client_cert="/etc/certs/client.pem"
        private_key="/etc/certs/client.key"
        private_key_passwd="somepwd"
        identity="me"
        priority=5
}

network={
        ssid="AndroidAP"
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        psk="SomeP4ssw0rd"
        priority=4
}


network={
        ssid="Spooky"
        key_mgmt=NONE
        group=WEP104
        psk="A4ABC2FC27412D4D23CAEBCA23"
        priority=2
}

network={
        ssid="another"
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        psk="A very long and secret passphrase here"
        priority=1
}

ลำดับความสำคัญ: เมื่อมีเครือข่ายหลายเครือข่ายพร้อมใช้งานเครือข่ายที่มีความสำคัญสูงสุดจะถูกเลือก

id_str: สำหรับแต่ละเครือข่ายคุณสามารถให้ค่าพารามิเตอร์นี้เป็นค่าเฉพาะ (สตริง) หากไม่มีการระบุจะใช้ "default" เป็นสตริงข้อความ สตริงนี้ใช้ใน / etc / network / interfaces เป็นตัวระบุอินเตอร์เฟสเสมือน อนุญาตให้สร้างบล็อกการกำหนดค่าเฉพาะสำหรับแต่ละเครือข่าย ข้อกำหนดเพียงอย่างเดียวคือการมีส่วนต่อประสานทางกายภาพโดยใช้วิธี "คู่มือ inet" (นี่คือต้องมี)


เพียงตรวจสอบอีกครั้งที่นี่ลำดับความสำคัญจะอยู่ในเครื่องหมายดอกจัน? จากสิ่งที่ฉันอ่านพวกเขาไม่ควรปิดล้อมด้วยเครื่องหมายดอกจันคู่ แต่ฉันอาจผิดที่นี่
ericmjl

@ericmjl เขาพยายามทำให้รหัสเป็นตัวหนาฉันจะแก้ไขมัน
Patrick Cook

มีวิธีที่จะทำให้มันสแกนอัตโนมัติและดูว่าเครือข่ายลำดับความสำคัญที่สูงขึ้นสามารถใช้ได้และเปลี่ยน?
Michal

@Michal ใช่มีกระบวนการพื้นหลังทำงานที่ทำอย่างนั้น
les

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