ฉันจะเชื่อมต่อกับเครือข่ายโรงเรียนของฉันบน Linux ได้อย่างไร


2

ฉันต้องการเชื่อมต่อกับเครือข่าย wifi ของโรงเรียนซึ่งเป็น WPA2 Enterprise พร้อม PEAP โดยใช้ Linux

บน Windows มันง่ายมากเพราะมันได้รับการกำหนดค่าโดยผู้ดูแลระบบของฉัน ฉันลองใช้เครือข่าย GUI บน Linux เพื่อเชื่อมต่อ แต่ก็ไม่มีโชค นี่คือการตั้งค่าที่ฉันได้ลอง (มีรูปแบบบางอย่าง): เชื่อมโยงไปยังหน้าจอ

เมื่อฉันลองเชื่อมต่อโดยใช้การตั้งค่าด้านบนก็แค่บอกว่า "กำลังเชื่อมต่อ ... " จากนั้นก็แจ้งให้ฉัน "รหัสผ่านหรือรหัสการเข้ารหัส" จากนั้นฉันพิมพ์รหัสผ่านของฉัน (ที่ฉันใช้ในการเข้าสู่ระบบ Windows) แล้วมันก็บอกว่า "กำลังเชื่อมต่อ ... " อีกครั้งและสิ่งเดียวกันก็เกิดขึ้นซ้ำแล้วซ้ำอีก ฉันไม่ทราบว่ามีบางอย่างผิดปกติกับการตั้งค่าของฉันหรือกับ Linux แต่ฉันคิดว่ามันเป็นการตั้งค่าของฉันเนื่องจากสิ่งเดียวกันเกิดขึ้นบน iPhone

อย่างไรก็ตามฉันคิดว่าฉันสามารถส่งออกการตั้งค่าจาก Windows ดังนั้นฉันทำnetsh wlan exportใน CMD และรับไฟล์นี้:

<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>Osloskolen</name>
<SSIDConfig>
<SSID>
<hex>4F736C6F736B6F6C656E</hex>
<name>Osloskolen</name>
</SSID>
<nonBroadcast>false</nonBroadcast>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<autoSwitch>false</autoSwitch>
<MSM>
<security>
<authEncryption>
<authentication>WPA2</authentication>
<encryption>AES</encryption>
<useOneX>true</useOneX>
</authEncryption>
<PMKCacheMode>enabled</PMKCacheMode>
<PMKCacheTTL>720</PMKCacheTTL>
<PMKCacheSize>128</PMKCacheSize>
<preAuthMode>disabled</preAuthMode>
<OneX xmlns="http://www.microsoft.com/networking/OneX/v1">
<maxAuthFailures>1</maxAuthFailures>
<authMode>machine</authMode>
<EAPConfig>
<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
<EapMethod>
<Type xmlns="http://www.microsoft.com/provisioning/EapCommon">25</Type>
<VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
<VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
<AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
</EapMethod>
<Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
<Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
<Type>25</Type>
<EapType xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1">
<ServerValidation>
<DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
<ServerNames/>
<TrustedRootCA>
  <!-- Removed in case it's confidential, but the format was like d2 a1 bb ... -->
</TrustedRootCA>
<TrustedRootCA>
  <!-- Removed in case it's confidential, but the format was like d2 a1 bb ... -->
</TrustedRootCA>
</ServerValidation>
<FastReconnect>true</FastReconnect>
<InnerEapOptional>false</InnerEapOptional>
<Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
<Type>26</Type>
<EapType xmlns="http://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1">
<UseWinLogonCredentials>true</UseWinLogonCredentials>
</EapType>
</Eap>
<EnableQuarantineChecks>false</EnableQuarantineChecks>
<RequireCryptoBinding>false</RequireCryptoBinding>
<PeapExtensions>
<PerformServerValidation xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">true</PerformServerValidation>
<AcceptServerName xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName>
</PeapExtensions>
</EapType>
</Eap>
</Config>
</EapHostConfig>
</EAPConfig>
</OneX>
</security>
</MSM>
</WLANProfile>

ข้อมูลนี้หมายความว่าอย่างไร ฉันจะใช้มันเพื่อเชื่อมต่อจาก Linux ได้อย่างไร? มี Linux เทียบเท่าnetsh wlan add profileหรือไม่ หรือวิธีการแปลไฟล์นี้เป็นsystem-connectionsไฟล์Linux ?

ฉันมีชื่อผู้ใช้และรหัสผ่านซึ่งฉันเชื่อว่าควรใช้นอกเหนือจากข้อมูลด้านบน ฉันจะมีความสุขมากถ้าใครช่วยฉันได้

แก้ไข: นี่คือบันทึกที่ฉันได้รับเมื่อพยายามเชื่อมต่อทุกคนสามารถช่วยฉันเข้าใจสิ่งที่ผิดพลาดได้หรือไม่ ฉันคัดลอกทุกอย่างตั้งแต่เมื่อฉันเคาะเชื่อมต่อกับเมื่อมันถามฉันสำหรับคีย์อีกครั้ง (โดยประมาณ) เวลาเฉพาะนี้ฉันลองใช้ชื่อผู้ใช้ "Osloskole \ tord0505" แต่อย่างอื่นฉันใช้การตั้งค่าจากภาพ


โรงเรียนของคุณอนุญาตให้คุณเชื่อมต่อกับ wifi หรือไม่
Burgi

@Burgi ใช่พวกเขาทำ แต่พวกเขาไม่มีการตั้งค่าใด ๆ ที่ทำไว้ล่วงหน้าสำหรับ Linux เฉพาะสำหรับ Windows
tjespe

ฉันกำลังอ่านบันทึก - มันบอกว่าการรับรองความถูกต้องปกติสำเร็จแต่เซิร์ฟเวอร์ต้องการบางสิ่งเพิ่มเติม น่าจะเป็น "Onex" สิ่งที่ฉันคาดเดาเป็นของเครื่องคอมพิวเตอร์ของตัวเองรับรองโดเมน AD
grawity

โอเคฉันมีสิทธิ์ผู้ดูแลระบบเต็มในการเข้าถึงระบบไฟล์คอมพิวเตอร์ของ windows ของฉันมีวิธีการค้นหานี้และใช้ใน Linux?
tjespe

... รอไม่ "OneX" อาจหมายถึง 802.1X - นั่นคือ WPA-Enterprise แต่ถึงกระนั้นบันทึก wpa_supplicant ก็แสดงว่ามีบางอย่างขาดหายไป แต่ไม่ใช่รหัสผ่านหรือใบรับรอง CA
grawity

คำตอบ:


1

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

<UseWinLogonCredentials>true</UseWinLogonCredentials>

มิฉะนั้นหากโรงเรียนของคุณมีเว็บไซต์ "ข้อมูลนักเรียน" ที่ใช้การเข้าสู่ระบบ & รหัสผ่านให้ลองใช้สิ่งนั้น

ใบรับรอง CA ที่ถูกต้องสามารถนำมาจาก<TrustedRootCA>แท็ก (หลังจากแปลงเลขฐานสิบหกเป็นไบนารี) นั่นไม่ใช่ปัญหาหลักที่นี่เนื่องจาก iOS ไม่ได้ตรวจสอบใบรับรองเซิร์ฟเวอร์กับ CA เลย (มันจะจดจำสิ่งแรกที่เห็น)


การพิสูจน์ตัวตนบน Linux ได้รับการจัดการโดย wpa_supplicant หากต้องการเปิดใช้งานโหมดแก้ไขข้อบกพร่องให้ใช้วิธีใดวิธีหนึ่งดังต่อไปนี้

busctl set-property fi.w1.wpa_supplicant1 /fi/w1/wpa_supplicant1 fi.w1.wpa_supplicant1 DebugLevel s debug

gdbus call -y -d fi.w1.wpa_supplicant1 -o /fi/w1/wpa_supplicant1 -m org.freedesktop.DBus.Properties.Set fi.w1.wpa_supplicant1 DebugLevel "<'debug'>"

หลังจากนั้นเรียกใช้journalctl -f -u wpa_supplicantและดูสิ่งที่พิมพ์ในขณะที่พยายามเชื่อมต่อ (หากต้องการปิดใช้งานการบันทึกให้ตั้งค่ากลับเป็นinfo)


ชื่อผู้ใช้และรหัสผ่านที่ฉันใช้นั้นเหมือนกันสำหรับการเข้าสู่ระบบ Windows ในการเข้าสู่เว็บไซต์ของเรา ฉันจะแปลงใบรับรองเลขฐานสิบหกเป็นไบนารีได้อย่างไร และควรบันทึกรูปแบบใด มันเป็น. crt หรืออย่างอื่นใช่ไหม ไฟล์ควรมีลักษณะอย่างไร
tjespe

.crt ไม่ใช่รูปแบบ ... หากคุณมีxxd(จากกลุ่ม) ให้ใช้xxd -r -p < cert_in_hex.txt > cert_in_binary.crtและอาจเป็น openssl x509 -inform DER < cert_in_binary.crt > cert_in_base64.pemไปได้
grawity

ตกลงฉันควรใช้รายการ <TrustedRootCA> ใด มันสำคัญไหม
tjespe

ลองใช้อย่างใดอย่างหนึ่งหรืออาจเป็นทั้งสองอย่างในไฟล์. pem เดียว - โรงเรียนอาจรวมอยู่ในโปรไฟล์ทั้ง CA ปัจจุบันและทางเลือกสำรอง
grawity

ฉันจะแยกพวกเขาได้อย่างไรถ้าฉันใช้ทั้งสองอย่างในไฟล์เดียว? ตัวแบ่งบรรทัด
tjespe

-1

การเชื่อมต่อไร้สายอัตโนมัติเมื่อเข้าสู่ระบบ

สำหรับกรณีที่คุณต้องการลงชื่อเข้าใช้เราเตอร์ไร้สายโดยอัตโนมัตินี่คือขั้นตอน:

  1. เปิดinterfaceไฟล์:
sudo nano /etc/network/interfaces
  1. เพิ่มข้อมูลต่อไปนี้ (สมมติว่าส่วนต่อประสานของคุณเรียกว่า wlan0):
auto wlan0

iface wlan0 inet static

address ASSIGNED_IP

netmask 255.255.255.0

gateway THE_GATEWAY

wireless-essid YOURSSID

wireless-key WIRELESSKEY_HERE
  1. บันทึกไฟล์และรีบูตคอมพิวเตอร์

1
สิ่งนี้ไม่มีส่วนเกี่ยวข้องกับปัญหาของฉัน
tjespe

@tjespe ฉันเข้าใจว่าคุณต้องการโซลูชัน GUI ดังนั้นสิ่งนี้ทำให้ฉันสงสัย คุณรู้วิธีที่จะได้รับบนเครือข่าย แต่คุณเพียงแค่ต้องการที่จะทำในส่วนหน้า ... hmmm
DeerSpotter

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