Для использования дополнительных IP-адресов требуются пакеты «iproute» и «ip». Конфигурация с псевдо-интерфейсами (eth0:1, eth0:2 и т.д.) устарела и её не следует использовать.
Для добавления дополнительного IP-адреса выполните:
$ ip addr add 10.4.2.1/27 dev enp2s0
где:
10.4.2.1 — дополнительный IP,
enp2s0 — имя сетевого интерфейса.
Чтобы определить имя сетевого интерфейса выполните:
$ ifconfig
Данный метод является самым простым и быстрым, однако после перезагрузки сервера настройки не сохраняются и дополнительный IP будет недоступен.
Чтобы настроить дополнительный IP с сохранением настроек необходимо добавить в файл /etc/network/interfaces под соответствующим интерфейсом (например, «enp2s0») следующие строки:
up ip addr add 10.4.2.1/32 dev enp2s0
down ip addr del 10.4.2.1/32 dev enp2s0
Конфиг должен иметь примерно следующий вид:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp2s0
iface enp2s0 inet static
address 10.4.0.0
netmask 255.255.255.224
gateway 148.251.82.97
# route 148.251.82.96/27 via 148.251.82.97
up route add -net 148.251.82.96 netmask 255.255.255.224 gw 148.251.82.97 dev enp2s0
up ip addr add 10.4.2.1/27 dev enp2s0
down ip addr del 10.4.2.1/27 dev enp2s0
iface enp2s0 inet6 static
address 2a01:4f8:202:5264::2
netmask 64
gateway fe80::1
Для применения настроек перезагружаем службу:
$ service networking restart
Настройка сети посредством systemd-networkd.
Начиная с версий Debian 8 и Ubuntu 16.04 возможно использовать демон systemd-networkd.
Необходим systemd версии 210 и выше.
Проверить версию можно с помощью команды:
$ systemctl —version
Если сеть, настроена с использованием /etc/network/, необходимо переименовать файл интерфейсов под другим именем, чтобы он не использовался после настройки systemd-networkd:
$ mv /etc/network/interfaces /etc/network/interfaces.save
Затем добавляем systemd-networkd в автозагрузку системы, но не запускаем службу, потому, что сеть еще не определена в systemd-networkd:
$ systemctl enable systemd-networkd
Все конфигурационные файлы хранятся в /etc/systemd/network. Обратите внимание, что в конфигурационных файлах важен регистр.
Создаем файл enp2s0.network с содержимым:
[Match]
Name=enp2s0
[Network]
Address=10.4.0.0/27
Address=10.4.2.1/27
Gateway=148.251.82.97
где,
Address=10.4.0.0/27 — основной IP сервера,
Address=10.4.2.1/27 — дополнительный IP.
Запускаем systemd-networkd:
$ systemctl start systemd-networkd
Готово!