ฉันพบปัญหาเดียวกันนี้ภายใต้ CentOS เป็นครั้งคราวเมื่อฉันโคลนเครื่องเสมือน (VM) ปัญหาเกิดจากเดิม VM eth0
ได้รับใส่เข้าสู่ไฟล์นี้จะติดตั้งอุปกรณ์อีเธอร์เน็ต
ตัวอย่าง. ไฟล์กฎ
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
ปัญหาจะตรวจสอบหัวที่น่าเกลียดเมื่อคุณโคลน VM แรกซึ่งทำให้ที่อยู่ MAC ใหม่จะถูกสร้างขึ้นภายใต้เทคโนโลยีการจำลองเสมือนบางอย่างเช่น KVM สำหรับหนึ่ง ที่อยู่ MAC ใหม่นี้จะตรวจพบโดยอัตโนมัติเมื่อมีการบูทด้วย VM ที่ถูกบูทและดูเป็นอุปกรณ์อีเธอร์เน็ตใหม่โดย/lib/udev/write_net_rules
ดังนั้นรายการที่ 2 จะถูกเพิ่มเข้าไปในไฟล์ด้านบน
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
ฉันมักจะเปิดไฟล์นี้70-persistent-net.rules
ในตัวแก้ไขและรวมเพียงบรรทัดเพื่อให้ที่อยู่ MAC ใหม่ถูกกำหนดให้กับeth0
อุปกรณ์และรีบูต
...
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
แก้ไข # 1
OP ติดตามคำถามด้วยข้อมูลใหม่ต่อไปนี้
รายการ # 1: Hmmm ไม่สามารถใช้งานได้ในกรณีของฉันเพราะฉันใช้งานซอฟต์แวร์ที่มีใบอนุญาตแบบยืดหยุ่นที่เชื่อมโยงกับที่อยู่ mac ที่อยู่ที่เปลี่ยนแปลงตลอดเวลาทำให้ซอฟต์แวร์ดังกล่าวไร้ประโยชน์ ..
@Zobal - ฉันคุ้นเคยกับ Flex เนื่องจากเป็น VM คุณสามารถเปลี่ยน MAC ของ VM (ในซอฟต์แวร์ VM - VirtualBox, KVM และอื่น ๆ )
หมายเหตุ: Flex เป็นเทคโนโลยีการออกใบอนุญาตที่ให้บริการโดยFlexera พวกเขาเคยเรียกว่าซอฟต์แวร์ GlobeTrotter เทคโนโลยีนี้อนุญาตให้ซอฟต์แวร์เชื่อมโยงกับโฮสต์ทางกายภาพหรือสามารถมีสิทธิ์การใช้งานที่จัดการจากเซิร์ฟเวอร์กลางเป็น "โทเค็น" ซึ่งลูกค้าสามารถตรวจสอบโทเค็นได้เป็นระยะเวลาหนึ่ง hostid
ใบอนุญาตมักจะผูกติดอยู่กับโฮสต์และโฮสต์นี้มักจะถูกระบุด้วยหมายเลขที่ไม่ซ้ำที่คุณสามารถหาได้โดยใช้คำสั่ง
ตัวอย่างเช่น:
$ hostid
a8c0c801
รายการ # 2:ในกรณีของฉันมันไม่ใช่ VM ฉันได้โคลนระบบหนึ่งไปยังอีกระบบหนึ่ง
ที่ฉันตอบ: แล้วตัวเลือกเดียวของคุณคือการเปลี่ยนที่อยู่ MAC ของระบบใหม่เป็นเช่นเดียวกับ MAC ของระบบอื่น ตระหนักดีว่าทั้งสองระบบไม่สามารถอยู่บนเครือข่ายเดียวกันไม่เช่นนั้นจะขัดแย้งกัน ด้วยการให้สิทธิ์ใช้งานแบบยืดหยุ่นโดยทั่วไปจะไม่ใช้ MAC พวกเขาใช้หมายเลขที่สามารถระบุได้โดยใช้คำสั่งhostid
!
อ้างอิง