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