Làm cách nào để thêm địa chỉ IP bổ sung vào / etc / mạng / giao diện?


42

Tôi có sẵn một địa chỉ IP cho máy chủ của mình và vì vậy tôi cần gán nó trong tệp giao diện. Hiện tại, tôi đã nhận được điều này:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.254.0
gateway bbb.bbb.bbb.bbb
dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
dns-search vps-number.com

Tôi phải thêm gì để gán địa chỉ IP mới của mình (fff.fff.fff.fff)? Và làm thế nào để tôi khởi động lại nó để chấp nhận cấu hình mới?


Tập hợp các ký tự đó là gì? bạn đã tìm thấy nó ở đâu?
Màu xanh lá cây

Câu trả lời:


55
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address aaa.aaa.aaa.aaa
  netmask 255.255.254.0
  gateway bbb.bbb.bbb.bbb
  dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
  dns-search vps-number.com

auto eth0:0
iface eth0:0 inet static
  address fff.fff.fff.fff
  netmask 255.255.254.0

Sau đó, bạn có thể chạy sudo ifup eth0:0để đưa nó lên và sudo ifdown eth0:0đưa nó xuống.


4
Đây là biến thể lỗi thời với bí danh. Sử dụng bên dưới một với "ip addr" thay thế.
Alexander Kim

5
Nó có thể cũ (và có thể lỗi thời), nhưng không có gì sai khi sử dụng phương pháp này, vì nó không được đánh dấu là "không dùng nữa" và không có kế hoạch nào để loại bỏ nó trong tương lai gần. IMHO phương pháp này sạch hơn và an toàn hơn các phương pháp khác (xem câu trả lời của Wilmer và nhận xét của nó).
Eric Carvalho

PS Nếu sử dụng auto eth1(nó không hoạt động trên AWS) không hoạt động sử dụng như trong ví dụ auto eth0:0.
IvRRimUm

Giải pháp kế thừa không hoạt động với tôi trên Debian Stretch, tôi đã kết thúc chỉ với IP thứ hai. Xem iproute2phương pháp , nó đã làm việc.
x-yuri

24

Đối với một địa chỉ IP bổ sung, tôi thường thêm:

up ip addr add fff.fff.fff.fff/prefixlen dev eth0

xuống cuối khổ iface eth0 inet staticthơ để khởi động lại trong tương lai và sau đó chạy lại lệnh sudo ip addr add fff.fff.fff.fff/prefixlen dev eth0một cách thủ công để kích hoạt trực tiếp.

Nếu netmask của bạn là 255.255.254.0sau đó prefixlennên 23dành cho bạn.

Tôi muốn biết nếu có một cách tốt hơn, mặc dù.


cảm ơn bạn rất nhiều, cách tiếp cận được chấp nhận không hoạt động để liên kết ( ifenslave ), nhưng điều này không!
mekkanizer

uplà vấn đề vì mạng-online.target không chờ đợi nó. Các dịch vụ systemd như nginx sẽ không thể liên kết trên IP được thêm upvào khi khởi động
sdaffa23fdsf

Đối với Debian Stretch / Ubuntu 16.04 Xenial hoặc mới hơn có giải pháp chính thức .
x-yuri

22

Như Heihachi chỉ ra bằng cách sử dụng các bí danh ethx: x đã lỗi thời. Tuy nhiên, ip addrgiải pháp tồi tệ hơn. Nó xấu và không đầy đủ, vì bạn cũng sẽ phải thêm một downbiến thể hoặc ifdownsẽ không hoạt động rất sạch sẽ.

Xem https://wiki.debian.org/NetworkConfiguration#Mult Môn_IP_addresses_on_one_Interface để biết giải pháp tốt hơn: Bây giờ bạn có thể chỉ cần lặp lại iface stanzas cho cùng một giao diện. Vì vậy, chỉ cần giải pháp ở trên nhưng thả :xhậu tố.


2
Từ tài liệu tại liên kết của bạn, nói về phương pháp hiện đại nhất để thực hiện (được gọi là iproute2): Lưu ý tuy nhiên phương pháp này nguy hiểm ! Một số kết hợp trình điều khiển / phần cứng đôi khi có thể không đưa liên kết lên nếu không có nhãn nào được gán cho giao diện bí danh. Xem xét rằng đó là tài liệu chính thức nói rằng cách mới không đáng tin cậy như vậy, tôi thích gắn bó với cách làm việc không được chấp nhận.
thật sự là

1
Upvote vì tài liệu tham khảo chính thức và chính xác, nhưng không phải là "một giải pháp tốt hơn", vì nó được đánh dấu là nguy hiểm trong tài liệu chính thức.
thật sự là

2
@reallynice Điểm hợp lý, mặc dù IMHO nếu điều này gây ra sự cố trên hệ thống nghe có vẻ như là lỗi / trình điều khiển lỗi. Tôi đã sử dụng nhiều địa chỉ IP trên một giao diện duy nhất mà không có bí danh xấu: 0 /: 1 / etc trong nhiều năm. (Ngoài ra tôi khá chắc chắn rằng giải pháp từ Wiki tương đương về mặt chức năng với giải pháp của Robbie ở trên.)
Wilmer

@Wilmer Tôi có một thiết bị vmxnet3 (VMware ESXi 6.5) trên Ubuntu 16.04 và tôi chỉ có thể có cách mới để đưa lên thiết bị đầu tiên. Bỏ hậu tố: x rõ ràng là không tốt hơn đối với tôi. Các tài liệu đã xóa một lỗi tôi nhận được với hậu tố: x mặc dù.
jbo5112

Vấn đề cuối cùng được biết đến với iproute2phương pháp là vào năm 2015 . Và phương pháp kế thừa (bạn có để ý tên không?) Không hiệu quả với tôi trên Debian Stretch. Có vẻ như các tùy chọn sau (từ eth0:0) đã ghi đè lên các tùy chọn trước đó ( from eth0). Đó là, sau khi systemctl restart networkingtôi kết thúc chỉ với IP thứ hai (IP đầu tiên bị tách ra).
x-yuri
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.