adicione vários endereços IP estáticos a um servidor com systemd-networkd

adicione vários endereços IP estáticos a um servidor com systemd-networkd

Temos um servidor com vários endereços IP. Ultimamente migramos para o systemd e ainda precisamos de vários IPs nesse servidor. Com o systemd-networkd, temos dificuldade em encontrar um exemplo de configuração. então usamos um script bash no final do processo de inicialização para adicionar os ips à interface.

Alguém pode fornecer um exemplo de configuração do systemd-networkd para adicionar mais de um IP a uma interface.

Responder1

De acordo comsystemd.rede(5), você pode simplesmente adicionar várias Address=linhas à [Network]seção, com os endereços necessários.

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

Alternativamente, crie uma [Address]seção separada para cada endereço.

[Network]
Gateway=...

[Address]
Address=10.2.3.4/16

[Address]
Address=10.6.7.8/16

(O mesmo se aplica a [Route]seções e Gateway=parâmetros.)

Observe querede systemdainda é muito novo e recebe correções de bugs quase diariamente. Certifique-se de estar usando a versão mais recente do systemd e teste as compilações do Git, se possível. Veja olista de discussãoe os canais IRC #systemde #gentoo-systemdno freenode em caso de bugs.

Responder2

Estou usando um contêiner no Proxmox, e o Proxmox grava seu próprio /etc/systemd/network/eth0.networkcontêiner. Para evitar que esse arquivo não seja sobrescrito, você pode criar um arquivo drop-in com os endereços IP adicionais,/etc/systemd/network/eth0.network.d/additional-ips.conf

[Match]
Name = eth0

[Address]
Address = 192.168.1.102/24

Responder3

Usando Arch Linux, SystemD 249.2-1, nenhum desses (3) métodos funciona (tentei esta resposta também)

-------------------------
[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
-------------------------

Em vez disso, usando um serviço SystemD simples, você pode definir um segundo IP após a inicialização... Vejaesta respostapara mais detalhes sobre a criação do serviço systemd... Ponto bônus: este método permite que você tenha estático ou DHCP para o endereço primário.

  • toque em /usr/local/bin/second_ip
  • chmod +x /usr/local/bin/second_ip
  • edite o arquivo conforme abaixo
#!/bin/bash
ip address add 10.10.128.128/16 dev eth0
  • toque em /etc/systemd/system/second-ip.service

  • edite o arquivo conforme abaixo

  • systemctl habilitar segundo 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
    

informação relacionada