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

10

Temos um servidor com vários endereços IP. Ultimamente, migramos para o systemd e ainda precisamos de vários IPs nesse servidor. Com systemd-networkd, temos alguns problemas para encontrar um exemplo de configuração. portanto, 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 systemd-networkd para adicionar mais de um IP a uma interface.

user61664
fonte
Você já conferiu man systemd.network? Apenas uma nota de rodapé, você não precisa usar TUDO em systemd-networkd. De que distribuição estamos falando?
phoops
Verificamos a página de manual. Eu acho que é muito compatível e portátil se usarmos systemd-netword, pois estará disponível em todas as distros em breve. Distro é gentoo.
User61664

Respostas:

11

De acordo com systemd.network (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=...

Como alternativa, 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 às [Route]seções e Gateway=parâmetros.)

Observe que o systemd-networkd ainda é muito novo e recebe correções de erros quase diariamente. Verifique se você está usando a versão mais recente do systemd e teste as compilações do Git, se possível. Veja a lista de discussão e os canais de IRC #systemde #gentoo-systemdno freenode em caso de erros.

user1686
fonte
3
No Ubuntu 16.04 LTS, o primeiro método parece não funcionar (apenas o primeiro endereço IP é acessível). No entanto, o segundo método, com [Addressseções] separadas , funciona. Pelo que vale, eu defini um único gateway na [Network]seção, como no segundo exemplo. Devo acrescentar também que não consigo fazer com que dois endereços IP estáticos funcionem em duas interfaces de rede físicas separadas, não importa o que eu tente (ainda tenho que encontrar um exemplo disso na systemddocumentação ou em qualquer outro lugar na Web), então eu ' m para resolver dois endereços IP em uma única interface.
Ben Johnson
1

Estou usando um contêiner no Proxmox, e o Proxmox grava o seu próprio /etc/systemd/network/eth0.networkno contêiner. Para evitar que o arquivo não seja substituído, 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
Prumo
fonte