Jak dodać dodatkowy adres IP do / etc / network / interfaces?


42

Mam dodatkowy adres IP dostępny dla mojego serwera, dlatego muszę go przypisać w pliku interfejsów. W tej chwili mam to:

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

Co dodać, aby przypisać mój nowy adres IP (fff.fff.fff.fff)? Jak zrestartować go, aby zaakceptować nową konfigurację?


Co to za zestaw znaków? Gdzie to znalazłeś?
Green

Odpowiedzi:


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

Następnie możesz pobiec, sudo ifup eth0:0aby go podnieść i sudo ifdown eth0:0sprowadzić.


4
Jest to przestarzały wariant z aliasami. Zamiast tego użyj poniżej „ip addr”.
Alexander Kim

5
Może być stary (i może przestarzały), ale przy użyciu tej metody nie ma nic złego, ponieważ nie został on oznaczony jako „przestarzały” i nie ma planu, aby usunąć go w najbliższej przyszłości. IMHO ta metoda jest czystsza i bezpieczniejsza niż inne (patrz odpowiedź Wilmera i jej komentarze).
Eric Carvalho,

PS Jeśli używasz auto eth1(nie działało w AWS) nie działa, użyj jak w przykładzie auto eth0:0.
IvRRimUm

Starsze rozwiązanie nie działało dla mnie na Debian Stretch, skończyłem z drugim IP. Zobacz iproute2metodę , która zadziałała.
x-yuri

24

Aby uzyskać dodatkowy adres IP, zwykle dodaję:

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

na dole sekcji w iface eth0 inet staticcelu sudo ip addr add fff.fff.fff.fff/prefixlen dev eth0ponownego uruchomienia w przyszłości, a następnie ponownie uruchom polecenie ręcznie, aby aktywować je bezpośrednio.

Jeśli maska jest 255.255.254.0wtedy prefixlenpowinno być 23dla ciebie.

Chciałbym jednak wiedzieć, czy jest lepszy sposób.


dziękuję bardzo, przyjęte podejście nie działa w przypadku wiązania ( ifenslave ), ale to działa!
mekkanizer

upjest problematyczne, ponieważ network-online.target nie czeka na to. usystematyzowane usługi, takie jak nginx, nie powiążą adresu IP dodanego uppodczas uruchamiania
sdaffa23fdsf

W przypadku Debian Stretch / Ubuntu 16.04 Xenial lub nowszej wersji istnieje oficjalne rozwiązanie .
x-yuri

22

Jak wskazuje Heihachi, użycie aliasów ethx: x jest nieaktualne. Jednak ip addrrozwiązanie jest gorsze. Jest brzydka i niekompletna, ponieważ musisz również dodać downwariant lub ifdownnie będzie działał bardzo czysto.

Zobacz https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interface, aby uzyskać lepsze rozwiązanie: Możesz teraz po prostu powtórzyć sekcje iface dla tego samego interfejsu. Więc tylko powyższe rozwiązanie, ale upuść :xprzyrostek.


2
Z dokumentacji pod linkiem, mówiąc o najnowocześniejszej metodzie robienia rzeczy (zwanej iproute2): Zauważ jednak, że ta metoda jest niebezpieczna ! Niektóre kombinacje sterowników / sprzętu mogą czasami nie wyświetlać łącza, jeśli do interfejsów aliasowych nie są przypisane żadne etykiety. Biorąc pod uwagę, że jest to oficjalna dokumentacja stwierdzająca, że ​​nowy sposób nie jest tak niezawodny, wolałbym trzymać się przestarzałego.
naprawdęnice

1
Głosuj z powodu oficjalnej i precyzyjnej dokumentacji, ale nie z powodu „lepszego rozwiązania”, ponieważ w oficjalnej dokumentacji jest oznaczona jako niebezpieczna.
naprawdęnice

2
@reallynice Rozsądny punkt, choć IMHO, jeśli powoduje to problemy w systemie, który wydaje mi się błędnym jądrem / sterownikiem. Od lat używam wielu adresów IP na jednym interfejsie bez brzydkich aliasów: 0 /: 1 / itd. (Jestem też prawie pewien, że rozwiązanie z Wiki jest funkcjonalnie równoważne powyższemu rozwiązaniu Robbiego).
Wilmer

@Wilmer Mam urządzenie vmxnet3 (VMware ESXi 6.5) na Ubuntu 16.04 i mogłem tylko uzyskać nowy sposób na uruchomienie pierwszego urządzenia. Usunięcie sufiksu: x wyraźnie nie było dla mnie lepsze. Dokumentacja usunęła błąd, który otrzymywałem z sufiksem: x.
jbo5112,

Ostatni znany problem z iproute2metodą miał miejsce w 2015 r . A starsza metoda (czy zauważyłeś nazwę?) Nie działała dla mnie w Debian Stretch. Wyglądało na to, że późniejsze opcje (z eth0:0) zastąpiły wcześniejsze ( from eth0). To znaczy, systemctl restart networkingkiedy skończyłem z drugim adresem IP (pierwszy adres IP został odłączony).
x-yuri
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.