Hospedar com interfaces ligadas em uma sub-rede, configurar ponte com uma sub-rede pública diferente para VMs

1

nota: Eu ainda não consegui configurar essa configuração, mas vou postar minha solução assim que eu descobrir.

Eu estou configurando um servidor host Ubuntu (16.04) com um número de KVMs rodando nele. O servidor host possui 4 NICs físicas conectadas em pares para acessar uma rede voltada para o público e uma rede privada. O host tem uma sub-rede pública primária atribuída a ele (com apenas um IP externo utilizável) e uma sub-rede privada primária (com um IP interno utilizável). Além disso, adquiri duas sub-redes IP adicionais, uma pública e outra privada para as máquinas virtuais neste host. Por exemplo, aqui está o meu layout de IP:

PARA O HOST:

  • Sub-rede primária pública: 200.0.0.72/29 - IP público utilizável: 200.0.0.75
  • Sub-rede primária privada: 10.0.0.128/26 - IP privado utilizável: 10.0.0.138

PARA VMS

  • Sub-rede portátil pública: 200.0.1.240/29, 5 IPs públicos utilizáveis
  • Sub-rede portátil privada: 10.0.1.216/29, 5 IPs privados utilizáveis

Estou tendo muitos problemas para fazer com que o host tenha uma sub-rede separada de minhas interfaces de ponte para as VMs. Parece que não consigo fazer com que o host se conecte corretamente quando tenho pontes especificadas, e as pontes só funcionam, quando não especifico uma rede na área do host na interface vinculada. Meu arquivo de interfaces está abaixo. O que você vê aqui é o meu resultado "desejado" e não funciona de verdade. Eu consegui fazer com que as peças funcionassem comentando diferentes partes e reiniciando a rede. Também adicionei comandos de roteamento (route add) por instruções do meu ISP, mas eles não conseguiram ajudar com o aspecto de bridging e as 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

Se eu já tiver uma sub-rede em meu host (na interface de ligação), posso estar errado ao especificar um endereço específico na interface em ponte, mas não tenho certeza de como especificar uma sub-rede separada para o VMS ) sem fazer isso. Agradecemos antecipadamente por quaisquer comentários / sugestões sobre o que estou fazendo errado aqui.

#Adição 1: VLANS

Abaixo estão as sub-redes para as VLANs que me foram fornecidas pelo meu provedor. O "IP primário somente para o servidor futuro" é para um IP primário fornecido a outro cliente / host e não é acessível por mim. Além disso, há dois IPs privados primários, um é acessível ao meu sistema operacional hospedeiro e o outro é uma interface de gerenciamento para acesso ao console (por meio da bios, parece).

Existem duas VLANs, uma pública e uma privada, e cada uma delas é numerada e tem um roteador associado a elas. Ou seja, roteador de número de VLAN 1200 zzz02a.bbb03 para rede pública e um semelhante para privado.

Sub-rede principal pública

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

Sub-rede portátil pública

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

Sub-rede principal privada

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

Sub-rede portátil privada

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
    
por hmorton 24.03.2017 / 22:25

1 resposta

0

Eu acho que não há vlans. Se você deseja compartilhar todas as 4 sub-redes em suas máquinas virtuais, você deve atribuí-las às pontes. O arquivo de interfaces deve ser:

############################################
#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
    
por 25.03.2017 / 18:34