Несколько IP-адресов со связанными интерфейсами

У меня есть сервер с двумя портами Ethernet, и я связал их вместе со следующей конфигурацией в /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual
bond-master bond0

auto eth1
iface eth1 inet manual
bond-master bond0

auto bond0
iface bond0 inet static
address 192.168.0.300
gateway 192.168.0.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode balance-rr
bond-miimon 100
bond-slaves eth0 eth1

В настоящее время все соединения маршрутизируются через bond0. Мне нужен другой интерфейс, такой как bond1, который может работать на отдельном IP-адресе, например 192.168.0.301.

Я знаю, что для достижения этого только с помощью интерфейса eth0 мне нужно добавить:

auto eth0:0
iface eth0:0 inet static
(and so on)

, но как мне это сделать с сетевым соединением? Может быть, что-то вроде bond0:0 и bond0:1? Или bond0 и bond1, но создать 4 полных сетевых интерфейса, таких как: eth0:0 eth1:0 и eth0:1 и eth1:1, и использовать их в качестве соответствующих рабов для двух отдельных связей? В некотором роде сбивает с толку, но любая помощь будет оценена!

6
задан 12 August 2019 в 22:55

2 ответа

Я использую установку, которую Вы хотите, но на CentOS. Я полагаю, что можно понять это, как перевести его в конфигурацию человечности, если я просто показываю Вам, как это работает в CentOS. Моя установка похожа на это:

ifcfg-eth4

DEVICE=eth4
BOOTPROTO=none
HWADDR=00:0F:FE:E4:A4:CF
ONBOOT=yes
HOTPLUG=no
SLAVE=yes
MASTER=bond2

ifcfg-bond2

DEVICE=bond2
BOOTPROTO=none
IPADDR=192.168.20.1
NETMASK=255.255.0.0
ONBOOT=yes
TYPE=bonding
MASTER=yes
BONDING_OPTS="miimon=100 mode=1" 

ifcfg-bond2:1

DEVICE=bond2:1
BOOTPROTO=none
IPADDR=192.168.41.1
NETMASK=255.255.0.0
ONBOOT=yes
TYPE=bonding
MASTER=yes
BONDING_OPTS="miimon=100 mode=1" 

, Таким образом, я попробовал бы его тот путь в Вашем случае:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual
bond-master bond0

auto eth1
iface eth1 inet manual
bond-master bond0

auto bond0
iface bond0 inet static
address 192.168.0.300
gateway 192.168.0.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode balance-rr
bond-miimon 100
bond-slaves eth0 eth1

auto bond0:1
iface bond0 inet static
address 192.168.1.300
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode balance-rr
bond-miimon 100
bond-slaves eth0 eth1

Испытывают его.

0
ответ дан 12 August 2019 в 22:55

Поскольку у меня была эта проблема самого и существует мало информации о ней где угодно, таким образом, вот "корректное" решение для/etc/network/interfaces файла:

auto bond0
iface bond0 inet static
    address 192.168.0.5
    netmask 255.255.255.0
    gateway 192.168.0.1
    bond-mode 802.3ad
    bond-miimon 100
    bond-updelay 200
    bond-downdelay 200
    bond-lacp-rate 1
    bond-slaves eth0 eth1

auto bond0:1
iface bond0:1 inet static
    address 192.168.10.160
    netmask 255.255.255.0

Это работает почти то же с регулярными интерфейсами как eth0, но Вы не должны повторять конфигурацию связи - который должен только быть в bond0 конфигурации. Можно затем добавить столько же дополнительных IP-адресов по мере необходимости как это, сколько bond0:2, bond0:3, и т.д.

Если Вы также хотите добавить адреса IPv6, это немного отличается снова, поскольку необходимо добавить это (как пример):

iface bond0 inet6 static
    address 2eee:354:3a3::745
    netmask 64
    gateway 2eee:354:3a3::1

IPv6 не нужен bond0:1, или подобные обходные решения - просто используют bond0 для каждого адреса. Это использует настройки связи от адреса IPv4, как второй адрес IPv4. И Вы не должны повторять часть шлюза для дополнительных адресов IPv6, просто использовать address и netmask для второго адреса IPv6.

После изменения файла интерфейсов необходимо выполнить следующие команды, чтобы полностью перезапустить сети и загрузить эти изменения:

ip address flush eth0
ip address flush eth1
systemctl restart networking

Это удаляет все IP-адреса из eth0 и eth1 и затем перезапускает сети с новой конфигурацией. Удостоверьтесь, что Вы зарегистрированы локально к машине, поскольку Вам нужно к полностью повороту сетей прежде, чем перезапустить ее, таким образом, все соединения будут потеряны.

2
ответ дан 23 November 2019 в 08:08

Другие вопросы по тегам:

Похожие вопросы: