У нас есть сервер с несколькими 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