Thay đổi địa chỉ IP máy chủ từ xa mà không mất quyền kiểm soát (Linux)


10

Làm thế nào tôi có thể thay đổi một máy chủ từ xa chính địa chỉ IP mà không bị ngắt kết nối ở tất cả (mà không bị trong một "không addr IP" nhà nước).

Vấn đề được thảo luận kém trên Internet (theo nghiên cứu của tôi). Tài nguyên tốt nhất tôi tìm thấy là một chút khó khăn.

VÍ DỤ: thay đổi 10.0.0.11/24 thành 10.0.0.15/24

1. ssh root@10.0.0.11
2. ip addr add 10.0.0.15/24 dev eth0 
3. logout

4. ssh root@10.0.0.15
5. ip addr del 10.0.0.11/24 dev eth0 

Sự cố : Lệnh cuối cùng sẽ xóa cả hai địa chỉ IP và mất kết nối vì 10.0.0.11 là chính và nó sẽ xóa các địa chỉ phụ của nó (mà 10.0.0.15 thuộc về) khi bị xóa.

Tôi biết tôi có thể "gian lận" bằng cách thêm 10.0.0.11/ 25 (thay vì 24 ). Tuy nhiên, tôi nghĩ rằng về mặt lý thuyết là có thể làm điều này đúng.

Bạn nghĩ sao?


Sẽ không có gì gian lận nếu bạn sử dụng / 32 mặt nạ ...
zb '

nhưng nó sẽ không hoạt động vì a / 32 không thể giao tiếp với bất cứ thứ gì ngoài chính nó ...
Totor

ok, nhưng / 25 cũng sẽ không hoạt động hơn.
zb '

Câu trả lời:


11

Bạn cần đặt promote_secondariestùy chọn trên giao diện hoặc trên tất cả các giao diện:

echo 1 > /proc/sys/net/ipv4/conf/eth0/promote_secondaries

hoặc là

sysctl net.ipv4.conf.eth0.promote_secondaries=1

Thay đổi eth0để allcó nó hoạt động trên tất cả các giao diện.

Tùy chọn này đã có từ 2.6.12 .

Tôi đã thử nghiệm điều này với một giao diện giả và nó hoạt động ở đó.


Chính xác những gì tôi cần, cảm ơn! Xem cam kết ban đầu .
Toto

1
Xin lưu ý rằng tùy chọn này khả dụng kể từ 2.6.12 , vì vậy trước 2.6.16.
Toto
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.