добавить несколько статических IP-адресов на сервер с помощью systemd-networkd

добавить несколько статических IP-адресов на сервер с помощью systemd-networkd

У нас есть сервер с несколькими IP-адресами. Недавно мы перешли на systemd, и нам все еще нужно несколько IP-адресов на этом сервере. С systemd-networkd у нас возникли некоторые проблемы с поиском примера конфигурации. поэтому мы используем скрипт bash в конце процесса загрузки, чтобы добавить IP-адреса в интерфейс.

Может ли кто-нибудь предоставить пример конфигурации systemd-networkd для добавления более одного IP-адреса к одному интерфейсу.

решение1

В соответствии сsystemd.сеть(5), вы можете просто добавить несколько Address=строк в [Network]раздел с необходимыми адресами.

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

Либо создайте отдельный [Address]раздел для каждого адреса.

[Network]
Gateway=...

[Address]
Address=10.2.3.4/16

[Address]
Address=10.6.7.8/16

(То же самое относится к [Route]разделам и Gateway=параметрам.)

Обратите внимание, чтоsystemd-networkdвсе еще очень новый и получает исправления ошибок почти ежедневно. Убедитесь, что вы используете последнюю версию systemd, и протестируйте сборки Git, если это возможно. Смотритесписок рассылкиа также каналы IRC #systemdи #gentoo-systemdна freenode в случае возникновения ошибок.

решение2

Я использую контейнер под Proxmox, и Proxmox записывает свой собственный /etc/systemd/network/eth0.networkв контейнер. Чтобы обойти невозможность полагаться на то, что этот файл не будет перезаписан, вы можете создать файл drop-in с дополнительным(и) IP-адресом(ами),/etc/systemd/network/eth0.network.d/additional-ips.conf

[Match]
Name = eth0

[Address]
Address = 192.168.1.102/24

решение3

При использовании Arch Linux, SystemD 249.2-1 ни один из этих (3) методов не работает (попробовал этот ответ тоже)

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

Вместо этого, используя простую службу SystemD, вы можете установить второй IP после загрузки... Смотритеэтот ответдля получения более подробной информации о создании службы systemd... Бонусный момент: этот метод позволяет вам иметь статический или DHCP в качестве основного адреса.

  • коснитесь /usr/local/bin/second_ip
  • chmod +x /usr/local/bin/второй_ip
  • отредактируйте файл, как указано ниже
#!/bin/bash
ip address add 10.10.128.128/16 dev eth0
  • коснитесь /etc/systemd/system/second-ip.service

  • отредактируйте файл, как указано ниже

  • systemctl включить второй 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
    

Связанный контент