ฉันจะรีสตาร์ทอินเทอร์เฟซเครือข่ายได้อย่างไร ฉันมี vm ที่ไม่อัปเดตที่อยู่ IP ของมันอย่างถูกต้องเมื่อสลับระหว่างบ้านและที่ทำงาน vm ใช้งานเซิร์ฟเวอร์ Ubuntu และใช้อะแดปเตอร์เครือข่ายบริดจ์
ฉันจะรีสตาร์ทอินเทอร์เฟซเครือข่ายได้อย่างไร ฉันมี vm ที่ไม่อัปเดตที่อยู่ IP ของมันอย่างถูกต้องเมื่อสลับระหว่างบ้านและที่ทำงาน vm ใช้งานเซิร์ฟเวอร์ Ubuntu และใช้อะแดปเตอร์เครือข่ายบริดจ์
คำตอบ:
ใช้ifdownเพื่อปิดและifupเปิดอีกครั้ง ในการรีสตาร์ทeth0:
> ifdown eth0
> ifup eth0
คุณจะต้องได้รับสิทธิ์รูท
รายละเอียดเพิ่มเติมเกี่ยวกับการและifupifdown
ดูเหมือนว่าคุณมีอินเทอร์เฟซที่กำหนดค่าโดยใช้ DHCP ถ้าเป็นเช่นนั้นคุณต้องการฆ่าไคลเอ็นต์ DHCP ที่มีอยู่แล้วรีสตาร์ท สำหรับสิ่งกวนใจมากมายคุณต้องทำสิ่งนี้:
dhcpcd -k eth0
dhcpcd -d eth0
แต่ไม่ทุก distro dhcpcdใช้ ฉันรู้ว่ามีประโยชน์บ้างdhclientและไม่ใช้ Debian pump?
นอกจากนี้ "eth0" อาจไม่ประกอบด้วยชื่ออินเตอร์เฟสที่ถูกต้อง: ทำifconfig -aเพื่อดูว่า VM นั้นมีอะไรบ้าง
ภายใต้ Debian คุณสามารถบอกอินเทอร์เฟซเพื่อรับ DHCP lease อีกอันได้
dhclient -v {interface_name}
-vหมายถึง "ละเอียด" และจะแสดงให้คุณเห็นกระบวนการในการดำเนินการ
@ JustinY คำตอบจะทำงาน ( ifupและifdownคำสั่ง) หากมีการกำหนดค่าอินเทอร์เฟซให้ดึงที่อยู่จาก DHCP หากมีการกำหนดค่าเป็นแบบคงที่พวกเขาจะเปลี่ยนกลับเป็น IP แบบคงที่ dhclientจะพยายามติดต่อกับเซิร์ฟเวอร์ DHCP ไม่ว่าจะเกิดอะไรขึ้นก็ตาม
คำตอบอื่น ๆ ดูดี ต้องการเพิ่มเพียงแค่จากmanหน้า:
-a, --all If given to ifup, affect all interfaces marked auto. Interfaces are brought up in the order in which they are defined in /etc/network/inter‐ faces. Combined with --allow, acts on all interfaces of a specified class instead. If given to ifdown, affect all defined interfaces. Interfaces are brought down in the order in which they are currently listed in the state file. Only interfaces defined in /etc/network/interfaces will be brought down.
โดยทั่วไปแล้วการ--allตั้งค่าสถานะอาจเป็นประโยชน์อย่างมากที่ต้องทราบเพราะจะทำให้เกิดเครือข่ายโดยรวม (โดยมีการทำเครื่องหมายที่ส่วนต่อประสานauto)