การกำหนดหมายเลข wlan


12

Linux กำหนดตำแหน่งของอุปกรณ์เครือข่ายได้อย่างไรหรือที่ไหน? โดยเฉพาะwlan0หรือwlan1สำหรับอุปกรณ์ USB ไร้สาย

ผมเสียบในไร้สาย TP USB wlan0ในขณะที่ที่ผ่านมาและได้รับมอบหมาย ฉันลบมัน สัปดาห์นี้ผมเสียบในอุปกรณ์ไร้สาย Edimax USB wlan1และมันขึ้นมาเป็น ผมหยิบมันออกมาในวันนี้เพื่อพยายามเป็นครั้งที่สอง Edimax อุปกรณ์ไร้สาย USB (ผมซื้อสอง) wlan2และตอนนี้ก็ขึ้นมา

ฉันรู้ว่าเพียงพอของ Unix / Linux ที่จะรู้ว่านี้จะถูกกำหนดค่าบางและถ้าผมลบไฟล์ config ที่ไม่ได้ใช้ฉันสามารถทำให้ล่าสุด Edimax wlan0กลายเป็น แต่อย่างไร / ที่ไหน

คำตอบ:


15

Udevเป็นส่วนประกอบของระบบที่กำหนดชื่อของอุปกรณ์ภายใต้ Linux - ส่วนใหญ่ชื่อไฟล์ภายใต้/devแต่ยังชื่อของอินเทอร์เฟซเครือข่าย

รุ่นของ udev จาก 099 ถึง 196 มาพร้อมกับกฎเพื่อบันทึกชื่อของอินเทอร์เฟซเครือข่ายและใช้หมายเลขเดียวกันสำหรับอุปกรณ์เดียวกันเสมอ กฎเหล่านี้ถูกปิดใช้งานโดยค่าเริ่มต้นเริ่มจาก udev 174 แต่อาจจะเปิดใช้งานโดยการกระจายของคุณ (เช่น Ubuntu เก็บไว้) การแจกแจงบางอย่างมีชุดกฎที่แตกต่างกัน

/lib/udev/rules.d/75-persistent-net-generator.rulesสคริปต์ที่บันทึกและขอสงวนชื่ออินเตอร์เฟซสำหรับการใช้งานในอนาคต /etc/udev/rules.d/70-persistent-net.rulesมันเขียนกฎ ดังนั้นเอาที่มีอยู่wlan0และwlan1รายการจากของคุณ/etc/udev/rules.d/70-persistent-net.rulesและการเปลี่ยนแปลงไปwlan2 wlan0เรียกใช้udevadm --trigger --attr-match=vendor='Edimax'(หรือ--attr-matchพารามิเตอร์ใด ๆ ที่คุณพบว่าตรงกับอุปกรณ์ของคุณ) เพื่อนำกฎไปใช้กับอุปกรณ์ที่เสียบปลั๊กแล้ว


ขอบคุณมาก ๆ. นี่คือเดเบียนบนราสเบอร์รี่ pi (raspbian) ดังนั้นที่เก็บข้อมูลถาวรจึงแตกต่างกันเล็กน้อย
Huntrods

ไฟล์ที่เก็บ wlan ที่ได้รับมอบหมายเฉพาะในเวอร์ชัน raspbian (ล่าสุดนี้ฉันคิดว่า) คือ: /etc/udev/rules.d/70-persistent-net.rules ฉันพบสิ่งนี้โดยใช้ข้อมูลของคุณด้านบนแล้วพิมพ์ "man udev" เพื่อดูว่าทำไมฉันไม่พบ 'wlan' ในไดเรกทอรี /lib/udev/rules.d
Huntrods

สำหรับ raspbian หมายเลข wlan จะถูกตั้งค่าตามที่อยู่ mac ของอุปกรณ์ไร้สาย (ในกรณีนี้แล้วแต่จำนวนใดจะเสียบเข้ากับพอร์ต USB) มันจัดสรรตัวเลข (wlan0, wlan1 ฯลฯ ) ตามลำดับที่เห็นที่อยู่ Mac ใหม่ก่อนเมื่อรับรู้และกำหนดค่าอุปกรณ์ไร้สาย การแก้ไขไฟล์นี้ตามที่คุณแนะนำให้คุณตั้งค่าอุปกรณ์ใด ๆ เป็น wlan # ด้วย IP แบบคงที่ - ขอบคุณ
Huntrods

สองประเด็นของการชี้แจงที่จะนำเสนอ: 1) Gilles เป็นจุดในคำตอบของเขาชอบที่จะเห็นตัวอย่างของการกำหนด ID โดย hwaddr, 2) อินเตอร์เฟสได้รับมอบหมายตามลำดับที่เห็น - เช่นฉันมี edimax USB NIC สองตำแหน่ง ในช่อง USB สี่ช่องที่มีความเกี่ยวข้องอย่างมากกับลำดับที่สแกน 3) คุณสามารถสั่งซื้ออินเทอร์เฟซได้อีกครั้งโดยถอดปลั๊กออกแล้วใส่เข้าไปเองตามลำดับที่คุณต้องการ
CJ Steele

4

ปัญหานี้ได้รับการแก้ไขตั้งแต่systemdv197 ด้วยการเปิดตัวการตั้งชื่อแบบถาวรสำหรับอุปกรณ์เครือข่าย

ตามหน้าชื่ออินเตอร์เฟสเครือข่ายที่คาดการณ์ได้ของ freedesktop เคอร์เนลจะกำหนดชื่อตามลำดับที่ไดรเวอร์เหล่านั้นได้รับการตรวจสอบ:

โครงร่างการตั้งชื่อแบบคลาสสิกสำหรับอินเทอร์เฟซเครือข่ายที่ใช้โดยเคอร์เนลคือการกำหนดชื่อที่ขึ้นต้นด้วย "eth0", "eth1", ... ไปยังอินเตอร์เฟสทั้งหมดตามที่พวกเขาถูกตรวจสอบโดยไดรเวอร์ เนื่องจากการตรวจสอบไดรเวอร์โดยทั่วไปไม่สามารถคาดการณ์ได้สำหรับเทคโนโลยีที่ทันสมัยซึ่งหมายความว่าทันทีที่อินเตอร์เฟสเครือข่ายหลายตัวพร้อมใช้งานการกำหนดชื่อ "eth0", "eth1" และอื่น ๆ โดยทั่วไปจะไม่ได้รับการแก้ไขอีกต่อไป eth0 "ในการบูตครั้งเดียวจบลงด้วยการเป็น" eth1 "ในครั้งต่อไป

หาก distro ของคุณใช้ systemd คุณสามารถใช้ชื่อที่คาดเดาได้ แต่อาจเป็นชื่อที่ไม่สะดวกwlp0s11หรือคุณสามารถเขียนudevกฎเพื่อตั้งชื่อให้พวกเขาด้วยชื่อที่คุณคุ้นเคยเช่นwifi1ตามที่อยู่ mac ...

รวมไฟล์ที่/etc/udev/rules.d/เรียกว่า10-network-device.rules:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="22:bb:cc:33:44:dd", NAME="wifi1"

1
คุณพลาดขั้นตอนหนึ่งไปที่นี่ Huntrods เห็นได้ชัดว่าไม่มี udev โพสต์ -197 กับรูปแบบการตั้งชื่อใหม่และยังเห็นได้ชัดว่ามีรูปแบบการตั้งชื่อถาวร นี่เป็นรูปแบบการตั้งชื่อแบบถาวรที่เขาต้องการปรับแต่ง
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

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