У меня есть сервер с двумя портами 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
, и использовать их в качестве соответствующих рабов для двух отдельных связей? В некотором роде сбивает с толку, но любая помощь будет оценена!
Я использую установку, которую Вы хотите, но на 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
Испытывают его.
Поскольку у меня была эта проблема самого и существует мало информации о ней где угодно, таким образом, вот "корректное" решение для/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 и затем перезапускает сети с новой конфигурацией. Удостоверьтесь, что Вы зарегистрированы локально к машине, поскольку Вам нужно к полностью повороту сетей прежде, чем перезапустить ее, таким образом, все соединения будут потеряны.