Fügen Sie einem Server mit systemd-networkd mehrere statische IP-Adressen hinzu

Fügen Sie einem Server mit systemd-networkd mehrere statische IP-Adressen hinzu

Wir haben einen Server mit mehreren IP-Adressen. Vor Kurzem sind wir auf systemd umgestiegen und benötigen auf diesem Server immer noch mehrere IPs. Mit systemd-networkd haben wir einige Probleme, ein Konfigurationsbeispiel zu finden. Daher verwenden wir am Ende des Startvorgangs ein Bash-Skript, um die IPs zur Schnittstelle hinzuzufügen.

Kann jemand ein systemd-networkd-Konfigurationsbeispiel zum Hinzufügen von mehr als einer IP zu einer Schnittstelle bereitstellen?

Antwort1

Entsprechendsystemd.network(5), können Sie Address=dem [Network]Abschnitt einfach mehrere Zeilen mit den erforderlichen Adressen hinzufügen.

[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
Gateway=...

Alternativ erstellen Sie [Address]für jede Adresse einen separaten Abschnitt.

[Network]
Gateway=...

[Address]
Address=10.2.3.4/16

[Address]
Address=10.6.7.8/16

(Dasselbe gilt für [Route]Abschnitte und Gateway=Parameter.)

Beachten Sie, dasssystemd-networkdist noch sehr neu und erhält fast täglich Fehlerbehebungen. Stellen Sie sicher, dass Sie die neueste systemd-Version verwenden, und testen Sie die Git-Builds, wenn möglich. Weitere Informationen finden Sie unterMailinglisteund die IRC-Kanäle #systemdund #gentoo-systemdauf Freenode im Falle von Fehlern.

Antwort2

Ich verwende einen Container unter Proxmox und Proxmox schreibt seine eigene Datei /etc/systemd/network/eth0.networkin den Container. Um zu vermeiden, dass man sich nicht darauf verlassen kann, dass diese Datei nicht überschrieben wird, kann man eine Drop-In-Datei mit den zusätzlichen IP-Adressen erstellen,/etc/systemd/network/eth0.network.d/additional-ips.conf

[Match]
Name = eth0

[Address]
Address = 192.168.1.102/24

Antwort3

Unter Arch Linux, SystemD 249.2-1, funktioniert keine dieser (3) Methoden (habe diese Antwort auch versucht)

-------------------------
[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
-------------------------
[Network]
Address=192.168.59.1/24 192.168.1.5/24
-------------------------
[Address]
Address=10.2.3.4/16

[Address]
Address=10.6.7.8/16
-------------------------

Stattdessen können Sie mit einem einfachen SystemD-Dienst nach dem Booten eine zweite IP festlegen ... Siehediese Antwortfür weitere Einzelheiten zur Erstellung des systemd-Dienstes ... Bonuspunkt: Mit dieser Methode können Sie eine statische oder DHCP-Adresse als primäre Adresse verwenden.

  • touch /usr/local/bin/zweite_IP
  • chmod +x /usr/local/bin/zweite_IP
  • Bearbeiten Sie die Datei wie unten beschrieben
#!/bin/bash
ip address add 10.10.128.128/16 dev eth0
  • berühren Sie /etc/systemd/system/zweite-ip.service

  • Bearbeiten Sie die Datei wie unten beschrieben

  • systemctl aktiviere zweite IP

     [Unit]
     Description=second ip service
     After=network.target
    
     [Service]
     User=root
     ExecStart=/usr/local/bin/second_ip                                                                                      Type=simple
    
     [Install]
     WantedBy=multi-user.target
    

verwandte Informationen