ฉันจะล้างที่อยู่ IP ของอีเธอร์เน็ตอินเตอร์เฟสได้อย่างไรโดยไม่ต้องวนขึ้น / ลงหรือรีสตาร์ทอินเตอร์เฟซ


78

คำสั่ง Linux คืออะไรเพื่อล้างที่อยู่ IP ของอินเทอร์เฟซโดยไม่ทำให้มันล้มเหลวและ / หรือเริ่มบริการเครือข่ายใหม่ ดูเหมือนว่า ifconfig แปลก ๆ สามารถเปลี่ยนที่อยู่ IP ได้ แต่ไม่มีตัวเลือกให้ล้างข้อมูลหรือฉันผิด


1
@ แอนดี้: ฉันคิดว่าคุณเข้าใจผิดคำถาม @jackhab ต้องการที่จะยกเลิกการกำหนดที่อยู่จากอินเตอร์เฟซที่ไม่ได้ตั้งค่าให้0.0.0.0- ifconfigเป็นเพียงวิธีการที่จะทำด้วย
grawity

@grawity Cheers การยกเลิกการมอบหมายที่อยู่กำลังปิด NIC ไปยังทุกเจตนาและทุกวัตถุประสงค์
Andy

@Andy: ไม่จำเป็นต้อง หนึ่งยังคงสามารถดูแพ็กเก็ตที่เข้ามา นอกจากนี้ NIC สามารถมีได้หลายที่อยู่ (แม้ว่าจะไม่ได้ใช้ในกรณีนี้)
grawity

ดูเพิ่มเติมserverfault.com/questions/407676/…
pevik

คำตอบ:


134

ใช้ipจาก iproute2 (คุณต้องระบุความยาวส่วนนำหน้าด้วย)

ip addr del 10.22.30.44/16 dev eth0

หากต้องการลบที่อยู่ทั้งหมด (ในกรณีที่คุณมีหลายแห่ง):

ip addr flush dev eth0

ใช้งานได้ แต่เมื่อฉันต้องการการเปลี่ยนแปลงถาวรที่ไม่ใช่ผู้พัฒนาฉันได้รับข้อผิดพลาดว่า "eth0 is garbage" (lol) ฉันเดาว่าฉันจำเป็นต้องแก้ไขไฟล์ด้วยตนเองเพียงจำชื่อไม่ได้ตอนนี้
Housemd

24

ifconfig eth0 0.0.0.0ง่ายๆเช่นเดียวกับ พวกเขาควรจะใส่ไว้ในคู่มือ


9

ในการลบ adreses ทั้งหมดออกจากอินเตอร์เฟสทั้งหมดที่ฉันใช้สำหรับลูป:

for i in $(ls /sys/class/net/) ; do
    /usr/sbin/ip addr flush $i &
done

1

บางทีคุณแค่ต้องการรับ IP ใหม่จากเราเตอร์ [เปิดใช้งาน DHCP] ในกรณีนี้โทร

dhclient eth0


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