Làm cách nào tôi có thể xóa địa chỉ IP của giao diện Ethernet mà không cần quay vòng lên / xuống hoặc khởi động lại giao diện


78

Lệnh Linux để xóa địa chỉ IP của giao diện là gì mà không đưa nó xuống và / hoặc khởi động lại các dịch vụ mạng. Có vẻ lạ nếu ifconfig có thể thay đổi địa chỉ IP nhưng không có tùy chọn để xóa nó, hoặc tôi sai?


1
@Andy: Tôi nghĩ bạn đã hiểu nhầm câu hỏi. @jackhab muốn hủy chỉ định một địa chỉ khỏi giao diện, không được đặt thành 0.0.0.0- đó chỉ là cách thực hiện ifconfig.
grawity

@grawity Chúc mừng. Bỏ gán một địa chỉ là tắt NIC cho tất cả ý định và mục đích?
Andy

@Andy: Không nhất thiết. Người ta vẫn có thể xem các gói đến. Ngoài ra, một NIC có thể có nhiều địa chỉ (mặc dù nó không áp dụng trong trường hợp này).
grawity

Câu trả lời:


134

Sử dụng iptừ iproute2. (Bạn cũng cần chỉ định độ dài tiền tố.)

ip addr del 10.22.30.44/16 dev eth0

Để xóa tất cả địa chỉ (trong trường hợp bạn có nhiều địa chỉ):

ip addr flush dev eth0

Hoạt động, nhưng khi tôi muốn thay đổi vĩnh viễn không phát triển, tôi gặp lỗi khi nói "eth0 là rác" (lol). Tôi đoán tôi cần chỉnh sửa thủ công tệp đó, chỉ không thể nhớ tên ngay bây giờ
Housemd

24

Đơn giản như ifconfig eth0 0.0.0.0. Họ nên đặt nó trong hướng dẫn.


9

Để xóa tất cả các địa chỉ khỏi tất cả các giao diện tôi đã sử dụng cho vòng lặp:

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

1

Có lẽ bạn chỉ đang tìm kiếm một IP mới từ bộ định tuyến [hỗ trợ DHCP]? Trong trường hợp này hãy gọi

dhclient eth0


THAT đã hoạt động, trong khi việc gán IP không bằng cách nào đó khiến mạng hoạt động. Cảm ơn bạn.
Rich_F
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.