Encaminhamento em ponte com KVM e endereços IP independentes

2

Eu tenho um servidor dedicado (no Hetzner), com Debian Jessie e und KVM para virtualização. Para as duas máquinas virtuais, tenho dois endereços IP adicionais (com endereços MAC extras), que não fazem parte de uma sub-rede (ou estão relacionados ao IP principal).

Main IP: WW.XX.YY.179
Additional IP 1: AA.BB.CC.DD
Additional IP 2: EE.FF.GG.HH

Eu quero usar uma configuração em ponte para trazer minhas VMs à Internet e disponibilizá-las de fora. E basicamente eu usei a documentação do Wiki Hetzner para conseguir isso.

Eu posso pingar (ssh) do servidor para as máquinas virtuais usando os IPs externos (WW.XX.YY.179, AA.BB.CC.DD, EE.FF.GG.HH), mas não consigo acessar a Internet externa das VMs nem alcançar as VMs de fora.

Qual é a peça que falta aqui? Eu apreciaria sua gentil ajuda! Muito obrigado! Felicidades!

-

No servidor eu uso a seguinte configuração em / etc / network / interfaces

auto  eth0
iface eth0 inet static
  address   WW.XX.YY.179
  netmask   255.255.255.224
  gateway   WW.XX.YY.160
  up route add -net WW.XX.YY.179 netmask 255.255.255.224 gw WW.XX.YY.160 eth0

auto  br0
iface br0 inet static
 address   WW.XX.YY.179
 netmask   255.255.255.255
 bridge_ports none
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0
 up route add -host AA.BB.CC.DD  dev br0
 up route add -host EE.FF.GG.HH dev br0

E o cliente usa a seguinte configuração de rede:

auto eth0
iface eth0 inet static
    address AA.BB.CC.DD
    netmask 255.255.255.255
    gateway WW.XX.YY.160
    pointopoint WW.XX.YY.179
    dns-nameservers 8.8.8.8 8.8.4.4

-

Aqui estão algumas saídas dos comandos executados no servidor :

root@server ~ # ifconfig
br0       Link encap:Ethernet  HWaddr fe:50:56:00:3c:ae  
          inet addr:WW.XX.YY.179  Bcast:WW.XX.YY.179  Mask:255.255.255.255
          inet6 addr: fe80::2020:30ff:fe08:631f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:188 errors:0 dropped:0 overruns:0 frame:0
          TX packets:193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:25958 (25.3 KiB)  TX bytes:22480 (21.9 KiB)

eth0      Link encap:Ethernet  HWaddr 6c:62:6d:99:89:b1  
          inet addr:WW.XX.YY.179  Bcast:WW.XX.YY.BB  Mask:255.255.255.224
          inet6 addr: fe80::8f51:6dff:fe88:92b1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:825 errors:0 dropped:0 overruns:0 frame:0
          TX packets:702 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:90106 (87.9 KiB)  TX bytes:189776 (185.3 KiB)

*(omitted lo here...)*


vnet0     Link encap:Ethernet  HWaddr fe:50:56:00:3c:af  
          inet6 addr: fe80::fc50:56ff:fe00:3caf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:182 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:15247 (14.8 KiB)  TX bytes:23643 (23.0 KiB)

vnet1     Link encap:Ethernet  HWaddr fe:50:56:00:3c:ae  
          inet6 addr: fe80::fc50:56ff:fe00:3cae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:40 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:5351 (5.2 KiB)  TX bytes:16307 (15.9 KiB)

root@server ~ # brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.fe5056003cae   no      vnet0
                            vnet1

root@server ~ # brctl showmacs br0
port no mac addr        is local?   ageing timer
  1 00:50:56:00:3c:af   no        58.00
  3 fe:50:56:00:3c:ae   yes        0.00
  1 fe:50:56:00:3c:af   yes        0.00


root@server ~ # ip route
default via WW.XX.YY.161 dev eth0 
WW.XX.YY.160/27 via WW.XX.YY.161 dev eth0 
WW.XX.YY.160/27 dev eth0  proto kernel  scope link  src WW.XX.YY.179 
AA.BB.CC.DD dev br0  scope link 
EE.FF.GG.HH dev br0  scope link

root@server ~ # ping AA.BB.CC.DD
PING AA.BB.CC.DD (AA.BB.CC.DD) 56(84) bytes of data.
64 bytes from AA.BB.CC.DD: icmp_seq=1 ttl=64 time=0.581 ms
*.... \o/*

root@server ~ # for file in 'find /proc/ -iname send_redirects'; do echo $file; cat $file; done
/proc/sys/net/ipv4/conf/all/send_redirects
0
/proc/sys/net/ipv4/conf/br0/send_redirects
0
/proc/sys/net/ipv4/conf/default/send_redirects
0
/proc/sys/net/ipv4/conf/eth0/send_redirects
0
/proc/sys/net/ipv4/conf/lo/send_redirects
0
/proc/sys/net/ipv4/conf/vnet0/send_redirects
0
/proc/sys/net/ipv4/conf/vnet2/send_redirects
0

-

Aqui estão algumas saídas dos comandos executados na máquina virtual :

root@vm1 ~ # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:00:3c:af  
          inet addr:AA.BB.CC.DD  Bcast:AA.BB.CC.DD  Mask:255.255.255.255
          inet6 addr: fe80::250:56ff:fe00:3caf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:192 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:24463 (23.8 KiB)  TX bytes:15857 (15.4 KiB)

*(omitted lo here...)*


root@vm1 ~ # ip route
WW.XX.YY.179 dev eth0  proto kernel  scope link  src AA.BB.CC.DD

root@vm1 ~ # ping 8.8.8.8
connect: Network is unreachable

root@vm1 ~ # ping WW.XX.YY.179 
PING WW.XX.YY.179 (WW.XX.YY.179) 56(84) bytes of data.
64 bytes from WW.XX.YY.179 : icmp_req=1 ttl=64 time=0.104 ms
*.... \o/*
    
por f00b43r 09.09.2016 / 10:47

2 respostas

0

Verifique se endereços separados do Mac estão ativados para os seus IP's adicionais, tente usá-los com o vms.

Esta solução funcionou para mim no pfsense

    
por 09.09.2016 / 20:06
0
auto  br0
iface br0 inet static
 address   WW.XX.YY.179 (the one from eth0)
 netmask   255.255.255.255 (the one from eth0)
 gateway   WW.XX.YY.160 (the one from eth0)
 bridge_ports eth0
 bridge_stp off
 bridge_fd 1
 bridge_hello 2
 bridge_maxage 12

Eu tive exactyl a mesma configuração que você tem e, finalmente, eu fiz isso usando o 'totalmente brdiged'-setup do hetzner. (Servidor está no hetzner também)

Talvez você seja o mesmo iniciante que eu, então você tem medo de deletar eth0. Eu também tive esse medo. Mas funciona porque o Hetzner está usando o MAC-Routing, então a sua eth0 não precisa ter um mac designado por você.

    
por 06.01.2017 / 20:24