Utrzymuj alias adresu IP podczas ponownego uruchamiania w CentOS / RHEL 6 za pomocą polecenia „ip”

13

Zawsze używałem plików aliasów ifcfg-eth0: 1 do tworzenia dodatkowych adresów. Jednak w najnowszej dokumentacji Rhel stwierdza się, że:

Ponieważ polecenie ip pakietu iproute obsługuje teraz przypisywanie wielu adresów do tego samego interfejsu, nie jest już konieczne stosowanie tej metody wiązania wielu adresów do tego samego interfejsu.

Ponadto w licznych odpowiedziach i komentarzach na tej stronie wspomniano, że ifconfig jest przestarzałe i że zamiast niego należy użyć „ip”. W porządku, używam go do zmian na żywo, ale jak mogę zachować zmiany podczas ponownego uruchamiania bez używania plików aliasów?

prl77
źródło
Zwykle nie potrzebuję aliasu adresów IP, aby był trwały. To zawsze była krótkotrwała potrzeba. Nie ma nic złego w osobnych ifcfg-ethX:Yplikach, ponieważ ten framework będzie przez pewien czas obsługiwany. Jaki jest twój przypadek użycia?
ewwhite
1
Komendy iproute2 mogą tworzyć i przypisywać adresy interfejsom psuedo, użycie aliasów niekoniecznie oznacza, że ​​używany jest ifconfig. Odstąpienie ifconfignie oznacza, że psuedo-interfacefunkcja jądra również zanika.
Zoredache

Odpowiedzi:

21

Umieścić je w /etc/sysconfig/network-scripts/ifcfg-eth0, z 2lub 3itp po nich, takie jak:

IPADDR2=192.0.2.48
NETMASK2=255.255.255.0
IPADDR3=192.0.2.49
NETMASK3=255.255.255.0

Niestety wydaje się, że jest to nieudokumentowane (lub nie mogę go teraz znaleźć; wygląda na to, że Red Hat ponownie przestawił swoją stronę internetową).

Michael Hampton
źródło
1
Nigdy wcześniej nie widziałem takiego podejścia.
ewwhite
Tak właśnie zrobił NetworkManager, kiedy właśnie go przetestowałem. Też byłem zaskoczony. Głosowanie za bycie krótszą, wyraźniejszą odpowiedzią. :)
Aaron Copley
Wspaniale, dziękuję. Zdecydowanie nieudokumentowane, szukałem dni!
prl77
2
Jeśli wprowadzisz zmiany do tych plików poza NetworkManager, nie będą one trwałe. (Chyba że zatrzymasz NetworkManagera i wyłączymy go chkconfig.) NetworkManager lubi blokować konfigurację tym, co uważa za poprawne.
Aaron Copley
1
Zabawna część ifcfg-eth0:1działa na RHEL 6, ale nie na RHEL 7 i nie ma jej nigdzie w dokumencie Networking Guide .
James Sumners
6

Na tej samej stronie, na której wyciągnąłeś ten akapit, mówi Ci, abyś użył, NetworkManageraby przypisać wiele adresów IP do jednego interfejsu.

W przypadku nowych instalacji użytkownicy powinni wybrać metodę ręczną na karcie IPv4 lub IPv6 w NetworkManager, aby przypisać wiele adresów IP do tego samego interfejsu. Aby uzyskać więcej informacji na temat korzystania z tego narzędzia, patrz Rozdział 7, NetworkManager.

Wygląda na to, aby edytować konfigurację interfejsu i dodać:

IPADDR2=IP address
PREFIX2=Netmask
GATEWAY2=Gateway

Co jest warte, mówi także, że nie trzeba już używać plików aliasów, ale to nie znaczy, że nie działa. (Zwłaszcza jeśli potrzebujesz DHCP.) Osobiście wolałbym zarządzać moją siecią poza GUI, abyś mógł zatrzymać usługę NetworkManager i kontynuować normalną pracę z plikami aliasów.

Ostatnią opcją byłoby umieszczenie ippoleceń /etc/rc.localdo wykonania przy starcie systemu. Pamiętaj jednak, że jeśli usługa sieciowa zostanie ponownie uruchomiona, ustawienia te nie będą trwałe. Należy to traktować wyłącznie jako ostateczność.

Przewodnik wdrażania, 8.2.7. Pliki aliasów i klonowania

Aaron Copley
źródło
Dzięki, myślę, że nigdy nie przyszło mi do głowy czytać rozdziałów o NM, ponieważ nigdy go nie używam. Dobre znalezisko.
prl77