Bagaimana cara menambahkan alamat IP tambahan ke / etc / network / interfaces?

42

Saya memiliki alamat IP tambahan yang tersedia untuk server saya, jadi saya perlu menetapkannya di file antarmuka. Saat ini, saya punya ini:

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

Apa yang saya tambahkan untuk menetapkan alamat IP baru saya (fff.fff.fff.fff)? Dan bagaimana cara me-restart untuk menerima konfigurasi baru?

babbaggeii
sumber
Set karakter apa itu? Di mana Anda menemukan itu?
Hijau

Jawaban:

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

Kemudian Anda dapat berlari sudo ifup eth0:0untuk membawanya dan sudo ifdown eth0:0membawanya ke bawah.

Eric Carvalho
sumber
4
Ini varian lama dengan alias. Gunakan di bawah ini dengan "ip addr" sebagai gantinya.
Alexander Kim
5
Mungkin sudah lama (dan mungkin kedaluwarsa), tetapi tidak ada yang salah dengan menggunakan metode ini, karena tidak ditandai 'usang' dan tidak ada rencana untuk menghapusnya dalam waktu dekat. IMHO metode ini lebih bersih dan lebih aman daripada yang lain (lihat jawaban Wilmer dan komentarnya).
Eric Carvalho
PS Jika menggunakan auto eth1(tidak pada AWS) tidak berfungsi gunakan seperti pada contoh auto eth0:0.
IvRRimUm
Solusi lawas tidak bekerja untuk saya di Debian Stretch, saya hanya mendapatkan IP kedua. Lihat iproute2metodenya , ternyata berhasil.
x-yuri
24

Untuk alamat IP tambahan, saya biasanya menambahkan:

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

ke bagian bawah iface eth0 inet staticbait untuk reboot berikutnya dan kemudian jalankan perintah sudo ip addr add fff.fff.fff.fff/prefixlen dev eth0lagi secara manual untuk mengaktifkannya secara langsung.

Jika netmask Anda 255.255.254.0maka prefixlenseharusnya 23untuk Anda.

Saya ingin tahu apakah ada cara yang lebih baik.

Robie Basak
sumber
terima kasih banyak, pendekatan yang diterima tidak bekerja untuk ikatan ( ifenslave ), tetapi ini berhasil!
mekkanizer
upbermasalah karena network-online.target tidak menunggu untuk itu. layanan systemd seperti nginx akan gagal untuk mengikat pada IP ditambah uppada saat startup
sdaffa23fdsf
Untuk Debian Stretch / Ubuntu 16.04 Xenial atau lebih baru ada solusi resmi .
x-yuri
22

Seperti yang Heihachi tunjukkan menggunakan ethx: x alias sudah usang. Namun ip addrsolusinya lebih buruk. Ini jelek dan tidak lengkap, karena Anda juga harus menambahkan downvarian atau ifdowntidak akan bekerja dengan sangat bersih.

Lihat https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interface untuk solusi yang lebih baik: Anda sekarang bisa mengulang bait bait untuk antarmuka yang sama. Jadi hanya solusi di atas tetapi jatuhkan :xsufiks.

Wilmer
sumber
2
Dari dokumentasi di tautan Anda, bicarakan metode paling modern untuk melakukan sesuatu (disebut iproute2): Namun, perhatikan bahwa metode ini berbahaya ! Kombinasi driver / perangkat keras tertentu kadang-kadang mungkin gagal untuk meningkatkan tautan jika tidak ada label yang ditetapkan untuk antarmuka alias. Menimbang bahwa itu adalah dokumentasi resmi yang mengatakan bahwa cara baru itu tidak dapat diandalkan, saya lebih suka tetap menggunakan yang sudah usang.
reallynice
1
Terpilih karena referensi dokumentasi resmi dan tepat, tetapi bukan untuk "solusi yang lebih baik", karena ini ditandai sebagai berbahaya dalam dokumentasi resmi.
reallynice
2
@reallynice Poin yang masuk akal, meskipun IMHO jika ini menyebabkan masalah pada sistem yang terdengar seperti kernel / driver kereta. Saya telah menggunakan beberapa alamat IP pada satu antarmuka tanpa alias jelek: 0 /: 1 / etc selama bertahun-tahun. (Juga saya cukup yakin solusi dari Wiki secara fungsional setara dengan solusi Robbie di atas.)
Wilmer
@ Wilmer Saya memiliki perangkat vmxnet3 (VMware ESXi 6.5) di Ubuntu 16.04, dan saya hanya bisa mendapatkan cara baru untuk membuka perangkat pertama. Menjatuhkan: x suffix jelas tidak lebih baik untuk saya. Dokumentasi ini memperbaiki kesalahan yang saya dapatkan dengan: x suffix though.
jbo5112
Masalah terakhir yang diketahui dengan iproute2metode adalah pada tahun 2015 . Dan metode warisan (apakah Anda memperhatikan namanya?) Tidak bekerja untuk saya di Debian Stretch. Sepertinya opsi yang lebih baru (dari eth0:0) menggantikan yang sebelumnya ( from eth0). Yaitu, setelah systemctl restart networkingsaya berakhir hanya dengan IP kedua (IP pertama dilepaskan).
x-yuri