wpa_supplicant ไม่ได้รับ IP ใหม่เมื่อทำการเชื่อมโยงอีกครั้ง?


0

ฉันกำลังพยายามติดตั้ง wlan ของฉันเพื่อให้สามารถเชื่อมโยงกับฮอตสปอตอีกครั้งและต่ออายุ IP โดยอัตโนมัติ ฉันพบคำถามที่คล้ายกันแต่ไม่มีใครตอบ

ฉันใช้การยืดเดเบียน การเชื่อมโยงแรกทำงานได้ดี แต่เมื่อ WiFi เชื่อมโยงอีกครั้งกับฮอตสปอตอื่น (ไม่ว่าจะด้วยเหตุผลใดก็ตาม (เช่นฮอตสปอตแรกจะปิด)) IP ยังคงเหมือนเดิม ถ้าฉันรันdhclient wlan0IP ด้วยตนเองจะรีเฟรช แต่ฉันต้องการให้มันเป็นไปโดยอัตโนมัติ

นี่คือของฉัน/etc/network/interfaces:

allow-hotplug eth0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

/etc/wpa_supplicant/wpa_supplicant.conf ประกอบด้วย:

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

network={
    ssid="FrstHotspot"
    psk="some password"
}

network={
    ssid="SecondHotspot"
    psk="some password"
}

คำตอบ:


0

คำตอบบางส่วน: wpa_supplicantจัดการการรับรองความถูกต้องด้วยตัวเองในส่วนต่อประสาน WLAN เท่านั้น dhclientถูกเรียกใช้โดยเลเยอร์อื่นไม่ว่าจะเป็นแบบดั้งเดิมifup/ ifdownหรืออื่น ๆ เช่นผู้จัดการเครือข่าย wpa_supplicantสามารถส่งสัญญาณไปยังชั้นอื่น ๆ แต่ชั้นอื่น ๆ จะต้องกำหนดค่าสำหรับที่

ดังนั้นขั้นตอนแรกคือค้นหาชนิดของการจัดการเครือข่ายที่คุณติดตั้ง (Debian รองรับหลายตัว) จากนั้นคุณต้องกำหนดค่า

wpa_supplicantเอกสารนอกจากนี้ยังจะมีเอกสารในการสัญจรการเข้าถึงนี้ยังอาจมีคำแนะนำวิธีการติดตั้งอย่างถูกต้อง ifup / ifdown สำหรับเชื่อมต่ออัตโนมัติ /usr/share/doc/ดูใน


ขอบคุณสำหรับคำตอบของคุณ @dirkt จะทราบได้อย่างไรว่าผู้จัดการเครือข่ายที่ฉันกำลังใช้อยู่ ตอนแรกเดเบียนของฉันมาพร้อมกับ connman แต่ฉันปิดการใช้งานเพื่อตั้งค่า wpa_supplicant เท่านั้น
Floufen

0

สำหรับคุณ/etc/network/interfacesฉันคิดว่ามันต้องเป็นสิ่งที่คล้ายกับสิ่งนี้เพื่อทำงานกับการกำหนดค่าปัจจุบันของคุณ:

allow-hotplug wlan0
iface wlan0 inet manual
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

คุณกำลังกำหนดอินเทอร์เฟซที่มี dhcp ซึ่งจากนั้นจะเข้าสู่ความขัดแย้งกับwpa_supplicantที่เรียก DHCP ด้วยวิธีนี้wpa_supplicantสูญเสียความสามารถในการส่งสัญญาณเมื่อมีการเปลี่ยนแปลง ssid / เครือข่ายและดังนั้นที่อยู่ IP จะไม่เปลี่ยนแปลงเมื่อเปลี่ยนเครือข่าย / ssids

นอกจากนี้คุณยังสามารถกำหนดลำดับความสำคัญในการwpa_supplicant.confบน ssid เพื่อใช้ใน:

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

network={  
ssid="FrstHotspot"  
psk="some password" 
priority = 10  
}

network={  
ssid="SecondHotspot"  
psk="some password" 
priority = 20  
}

ลำดับความสำคัญสูงกว่าที่จะเป็นสิ่งssidที่จะต้องลองก่อน

เนื้อหาบางส่วนของhttps://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.mdฯ :

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


ขอบคุณสำหรับคำตอบ ฉันได้ตั้งค่าลำดับความสำคัญสูงกว่าสำหรับฮอตสปอตหนึ่ง ("FrstHotspot") แล้ว ความจริงก็คือเมื่ออุปกรณ์ของฉันเชื่อมต่อกับ "FrstHotspot" แล้วการปิดฮอตสปอตนี้จะเชื่อมโยงกับ "SecondHotspot" อีกครั้ง แต่จะรักษา IP เดียวกัน ตอนนี้ฉันต้องทำเองdhclient wlan0(ตัวอย่างเช่นเพื่อเข้าถึงอุปกรณ์โดย ssh) ฉันกำลังค้นหาวิธีแก้ปัญหาโดยอัตโนมัติdhclientเมื่ออุปกรณ์เชื่อมต่อกับฮอตสปอตอีกครั้งโดยอัตโนมัติ
Floufen

ฉันแก้ไขคำตอบพร้อมกับแก้ไขไฟล์อินเตอร์เฟสของคุณซึ่งฉันลืมไปแล้ว
Rui F Ribeiro

การเพิ่มข้อมูลไดรเวอร์ไม่ได้เปลี่ยนพฤติกรรม แต่การลบallow-hotplug wlan0จะทำให้อินเทอร์เฟซลงเมื่อเริ่มต้น บางทีฉันอาจอธิบายได้ไม่ดีในสิ่งที่ฉันต้องการ คำถามในหัวข้อนี้เป็นสิ่งที่ฉันกำลังประสบอยู่
Floufen

ในไฟล์อินเตอร์เฟสจะต้องเป็นแบบแมนนวล ต้องจัดการ DHCP โดย wpa_config
Rui F Ribeiro

ถ้าฉันตั้งเป็นคู่มือฉันได้รับ:wlan0: association with <mac_address> timed out
Floufen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.