нота: Мне все еще не удалось заставить эту конфигурацию работать, но я опубликую свое решение, как только я это выясню.
Я устанавливаю хост-сервер Ubuntu (16.04) с несколькими запущенными на нем KVM. Хост-сервер имеет 4 физических сетевых интерфейса, которые соединены парами для доступа к общедоступной сети и частной сети. Хосту назначена основная общедоступная подсеть (только с одним используемым внешним IP-адресом) и основная частная подсеть (с одним используемым внутренним IP-адресом). Кроме того, я приобрел две дополнительные 8 IP-подсетей, одну публичную и одну частную для виртуальных машин на этом хосте. Например, вот мой макет IP:
ДЛЯ ХОЗЯИН:
ДЛЯ VMS
У меня много проблем с тем, чтобы у хоста была отдельная подсеть от моих интерфейсов моста для виртуальных машин. Кажется, я не могу правильно подключить хост к сети, когда у меня указаны мосты, а мосты работают только тогда, когда я не указываю сеть в области хоста на связанном интерфейсе. Мой файл интерфейсов ниже. То, что вы видите здесь, является моим «желаемым» результатом, и на самом деле он не работает. Я смог заставить части работать, комментируя различные части и перезапуская сеть. Я также добавил команды маршрутизации (добавление маршрута) в соответствии с инструкциями моего интернет-провайдера, но они не смогли помочь с аспектом моста и виртуальными машинами.
############################################
#For more information, see interfaces(5).
############################################
##Loopback
auto lo
iface lo inet loopback
## Setup bond0 interface - INTERNAL CONNECTIONS
auto bond0
iface bond0 inet static
bond-lacp-rate 1
#pre-up /sbin/ethtool -s bond0 speed 100 duplex full autoneg off
post-up ifenslave bond0 eth0 eth2
pre-down ifenslave -d bond0 eth0 eth2
address 10.0.0.138
netmask 255.255.255.192
gateway 10.0.0.129
bond-slaves none
bond-mode 4
bond-lacp-rate fast
bond-miimon 100
bond-downdelay 0
bond-updelay 0
bond-xmit_hash_policy 1
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.129
auto eth0
iface eth0 inet manual
bond-master bond0
#pre-up /sbin/ethtool -s eth0 speed 100 duplex full autoneg off
auto eth2
iface eth2 inet manual
bond-master bond0
#pre-up /sbin/ethtool -s eth2 speed 100 duplex full autoneg off
auto br0
iface br0 inet static
address 10.0.1.218
netmask 255.255.255.192
gateway 10.0.1.217
bridge_ports bond0
bridge_stp off
bridge_fd 9
bridge_hello 2
bridge_maxage 12
## Setup bond1 interface - EXTERNAL CONNECTIONS
auto bond1
iface bond1 inet static
bond-lacp-rate 1
post-up ifenslave bond1 eth1 eth3
pre-down ifenslave -d bond1 eth1 eth3
bond-slaves none
bond-mode 4
bond-lacp-rate fast
bond-miimon 100
bond-downdelay 0
bond-updelay 0
bond-xmit_hash_policy 1
address 200.0.0.75
netmask 255.255.255.248
gateway 200.0.0.73
up route add -net 0.0.0.0 netmask 0.0.0.0 gw 200.0.0.73
auto eth1
iface eth1 inet manual
bond-master bond1
auto eth3
iface eth3 inet manual
bond-master bond1
auto br1
iface br1 inet static
address 200.0.1.242
netmask 255.255.255.248
gateway 200.0.1.241
#up iptables-restore < /etc/iptables.rules
post-up echo 0 > /sys/devices/virtual/net/br1/bridge/multicast_snooping
bridge_ports bond1
bridge_stp off
bridge_fd 9
bridge_hello 2
bridge_maxage 12
Если у меня уже есть подсеть на моем хосте (на интерфейсе связи), я могу ошибаться, указывая конкретный адрес на мостовом интерфейсе, но тогда я не уверен, как указать отдельную подсеть для VMS (на мосту), не выполняя который. Заранее благодарим за любые комментарии / предложения относительно того, что я здесь делаю не так.
Ниже приведены подсети для VLAN, предоставленные мне моим интернет-провайдером. «Первичный IP-адрес только для будущего сервера» предназначен для первичного IP-адреса, предоставленного другому клиенту / хосту и не доступного мне. Кроме того, есть два основных частных IP-адреса, один из которых доступен для моей ОС, а другой - интерфейс управления для доступа к консоли (похоже, через BIOS).
Существует две сети VLAN, одна общедоступная и одна частная, каждая из которых пронумерована и имеет связанный с ней маршрутизатор. Т.е. маршрутизатор с номером VLAN 1200 zzz02a.bbb03 для публичной сети и аналогичный для частной.
Общедоступная основная подсеть
200.0.0.72 Reserved Network
200.0.0.73 Reserved Gateway
200.0.0.74 Reserved Primary IP for future server only
200.0.0.75 In Use host.mydomain.com
200.0.0.76 Reserved Primary IP for future server only
200.0.0.77 Reserved Primary IP for future server only
200.0.0.78 Reserved Primary IP for future server only
200.0.0.79 Reserved Broadcast
Публичная переносимая подсеть
200.0.1.240 Reserved Network
200.0.1.241 Reserved Gateway
200.0.1.242 Available vm1.mydomain.com
200.0.1.243 Available <<available for vm>>
200.0.1.244 Available <<available for vm>>
200.0.1.245 Available <<available for vm>>
200.0.1.246 Available <<available for vm>>
200.0.1.247 Reserved Broadcast
Частная основная подсеть
10.0.0.128 Reserved Network
10.0.0.129 Reserved Gateway
10.0.0.130 Reserved Primary IP for future server only
10.0.0.131 Reserved Primary IP for future server only
10.0.0.132 Reserved Primary IP for future server only
10.0.0.133 Reserved Primary IP for future server only
10.0.0.134 Reserved Primary IP for future server only
10.0.0.135 Reserved Primary IP for future server only
10.0.0.136 Reserved Primary IP for future server only
10.0.0.137 Reserved Primary IP for future server only
10.0.0.138 In Use host.mydomain.com
10.0.0.139 Reserved Primary IP for future server only
10.0.0.140 Reserved Primary IP for future server only
10.0.0.141 Reserved Primary IP for future server only
10.0.0.142 Reserved Primary IP for future server only
10.0.0.143 Reserved Primary IP for future server only
10.0.0.144 Reserved Primary IP for future server only
10.0.0.145 Reserved Primary IP for future server only
10.0.0.146 Reserved Primary IP for future server only
10.0.0.147 Reserved Primary IP for future server only
10.0.0.148 Reserved Primary IP for future server only
10.0.0.149 In Use host.mydomain.com
10.0.0.150 Reserved Primary IP for future server only
10.0.0.151 Reserved Primary IP for future server only
10.0.0.152 Reserved Primary IP for future server only
Частная портативная подсеть
10.0.1.216 Reserved Network
10.0.1.217 Reserved Gateway
10.0.1.218 Available vm1.mydomain.com
10.0.1.219 Available <<available for vm>>
10.0.1.220 Available <<available for vm>>
10.0.1.221 Available <<available for vm>>
10.0.1.222 Available <<available for vm>>
10.0.1.223 Reserved Broadcast
Думаю, вланов нет. Если вы хотите использовать все 4 подсети для своих виртуальных машин, вам следует назначить их на мостах. Файл интерфейсов должен быть:
############################################
#For more information, see interfaces(5).
############################################
##Loopback
auto lo
iface lo inet loopback
## Setup bond0 interface - INTERNAL CONNECTIONS
auto bond0
iface bond0 inet manual
bond-slaves eth0 eth2
bond-mode 4
bond-lacp-rate fast
bond-miimon 100
bond-downdelay 0
bond-updelay 0
bond-xmit_hash_policy 1
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth2
iface eth2 inet manual
bond-master bond0
## Setup VLAN ID 1201 on bond0 interface
auto bond0.1201
iface bond0.1201 inet manual
vlan_raw_device bond0
auto br0
iface br0 inet static
address 10.0.0.138
netmask 255.255.255.192
bridge_ports bond0.1201
bridge_stp off
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.129
auto br0:1
iface br0:1 inet static
address 10.0.1.218
netmask 255.255.255.192
## Setup bond1 interface - EXTERNAL CONNECTIONS
auto bond1
iface bond1 inet manual
bond-slaves eth1 eth3
bond-mode 4
bond-lacp-rate fast
bond-miimon 100
bond-downdelay 0
bond-updelay 0
bond-xmit_hash_policy 1
auto eth1
iface eth1 inet manual
bond-master bond1
auto eth3
iface eth3 inet manual
bond-master bond1
## Setup VLAN ID 1200 on bond1 interface
auto bond1.1200
iface bond1.1200 inet manual
vlan_raw_device bond1
auto br1
iface br1 inet static
address 200.0.0.75
netmask 255.255.255.248
gateway 200.0.0.73
post-up echo 0 > /sys/devices/virtual/net/br1/bridge/multicast_snooping
bridge_ports bond1.1200
bridge_stp off
auto br1:1
iface br1:1 inet static
address 200.0.1.242
netmask 255.255.255.248