ฉันจะบังคับ Linux ให้รับที่อยู่ IP ใหม่จากเซิร์ฟเวอร์ DHCP ได้อย่างไร


24

สภาพแวดล้อมคือDebianแม้ว่าคำตอบจะใช้กับการแจกแจงทั้งหมด


นี่คือวิกิชุมชน อย่าลังเลที่จะมีส่วนร่วมวิธีการอื่น ๆ ที่ได้ผล
GeneQ

คำตอบ:


35

คุณยังสามารถใช้คำสั่งนี้:

dhclient -r interface

ที่ไหนinterfaceเป็นอุปกรณ์ที่คุณต้องการที่จะได้รับที่อยู่ใหม่สำหรับ

dhclient -r eth0

การ-rตั้งค่าสถานะบังคับdhclientให้ปล่อยสัญญาเช่าที่คุณมีก่อนจากนั้นคุณสามารถใช้คำสั่งนี้เพื่อขอสัญญาเช่าใหม่:

dhclient eth0

จากman dhclient:

   -r     Tell  dhclient  to  release the current lease it has from the 
          server.  This is not required by the DHCP protocol, but some 
          ISPs require their clients to notify the server if they wish 
          to release an assigned IP address.

นอกจากนี้ยังเป็นวิธีที่ดีที่จะทำมัน :)
ชำแรก

1
หลังจากคำสั่งนี้ Debian ของฉันล้มเหลวในการรับ IP ใหม่ แต่หลังจากรีบูตฉันได้รับมอบหมายให้ใหม่ดังนั้นมันจึงใช้ได้!
ดาเมียน

3
สำหรับฉันนี่แค่ปล่อยเช่าและปลดอินเทอร์เฟซ ไม่ได้รับ IP ใหม่หลังจากนั้น
cgogolin

ซึ่งเป็นคนเกียจคร้านทั้งหมดถ้าคุณกำลังอินเตอร์เฟซหลักคือ SSH ...
เอริคนอร์ด

13

ข้อใดข้อหนึ่งต่อไปนี้ควรได้รับการต่ออายุ

/etc/init.d/networking restart

หรือ

ifdown eth0; ifup eth0

ฉันจะไม่แนะนำให้เรียกใช้ผ่านการเชื่อมต่อ SSH แม้ว่าคุณอาจจะไปกับคนแรกถ้ามันไม่ได้กลับมาพร้อมกับที่อยู่ IP ใหม่


1
การเชื่อมต่อ SSH จะยอมให้ "ตัดการเชื่อมต่อ" สองสามวินาทีหากคุณได้รับการเชื่อมต่อสำรองในไม่กี่วินาทีที่ที่อยู่ IP เดียวกัน ภายใต้เงื่อนไขเหล่านี้ผมไม่เคยขาดการเชื่อมต่อระหว่าง/etc/init.d/networking restartแม้เมื่อมันกำลังมากกว่า 5 วินาทีที่จะกลับมา ...
เอเวอรี่เพน

สิ่งนี้ไม่จำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบหรือ
Peter Mortensen

10

จะแสดงความคิดเห็น p.campbell แต่ฉันมีเพียง 1 ชื่อเสียงและดังนั้นจึงไม่สามารถฉันก่อนตรวจสอบอินเทอร์เฟซที่ติดตั้ง:

ip addr

ปล่อย IP จากส่วนต่อประสานที่เลือก (เช่น eth0, eth1, enp1s0, sit0, wlan0, ... ):

sudo dhclient -r *interface*

ขอ IP ใหม่จากเซิร์ฟเวอร์ DHCP (แจ้งเตือนเมื่อเกิดข้อผิดพลาด):

sudo dhclient -1 *interface*

ตรวจสอบ IP:

ip addr

Ubuntu 16.04 LTS ได้รับการยืนยัน


4

หากคุณกำลังใช้dhcpcdเครื่องมืออยู่:

dhcpcd -k interface
dhcpcd interface

คนแรกบอกว่าจะหยุดภูตและคนที่สองบอกว่าจะเริ่มอีกครั้ง


2

หากที่อยู่ MAC ของอินเทอร์เฟซไม่เปลี่ยนแปลงเซิร์ฟเวอร์ DHCP อาจกำหนดที่อยู่เดียวกันเมื่อต่ออายุ ดังนั้นการปล่อยและการต่ออายุอย่างง่ายด้วย dhclient อาจไม่ได้รับที่อยู่ใหม่ เปลี่ยนที่อยู่ MAC และรับที่อยู่ IP ใหม่ด้วยคำสั่งต่อไปนี้ อย่าลืมเขียนต้นฉบับหากคุณต้องการเปลี่ยนกลับเป็นต้นฉบับในภายหลัง

ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up

มันมีประโยชน์มากขอบคุณ! ไม่มีจำนวนdhclient -rหรือifconfig downให้ที่อยู่ IP ใหม่ในเครือข่ายงานของฉันจนกว่าฉันจะเปลี่ยนที่อยู่ MAC เป็นสิ่งที่สุ่มโดยใช้คำสั่งนั้น
Migwell

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