
Eu criei um domU Xen-4.0 muito padrão com configuração de ponte de rede. No entanto, nenhum pacote sai da máquina virtual para a rede à qual a ponte (peth0) está conectada. Do convidado, posso executar ping no hipervisor, mas não consigo executar ping em nada fora dele.
Endereços IP:
x.x.x.121
-- hipervisor Budax.x.x.162
-- máquina virtual, xen6
O que está acontecendo? É uma configuração de rede muito padrão. Com outro hipervisor funciona exatamente a mesma configuração (mesmo sistema operacional, mesmas versões, mesma configuração), mas com outra caixa não.
Os sintomas são semelhantes aosesse, no entanto, minha configuração de rede parece boa. Alguma ideia?
xen6:~$ ping -c 1 xxx121 PING xxx121 (xxx121) 56(84) bytes de dados. 64 bytes de xxx121: icmp_req=1 ttl=64 tempo=0,093 ms --- xxx121 estatísticas de ping --- 1 pacote transmitido, 1 recebido, 0% de perda de pacote, tempo 0ms rtt min/média/máx/mdev = 0,093/0,093/0,093/0,000 ms
buda$ sed -n '/^[^#].*\(\(network\)\|\(vif\)\)/p' xend-config.sxp (ponte de rede de script de rede) (vif-script vif-bridge)
buda# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:30:48:5a:05:fa endereço inet:xxx121 Bcast:xxx255 Máscara:255.255.255.0 endereço inet6: fe80::230:48ff:fe5a:5fa/64 Escopo:Link UP TRANSMISSÃO EM EXECUÇÃO MULTICAST MTU:1500 Métrica:1 Pacotes RX:6082 erros:0 descartados:0 ultrapassagens:0 quadro:0 Pacotes TX:1138 erros:0 descartados:0 excessos:0 operadora:0 colisões:0 txqueuelen:0 Bytes RX: 573467 (560,0 KiB) Bytes TX: 230756 (225,3 KiB) lo Link encap:Loopback local endereço inet:127.0.0.1 Máscara:255.0.0.0 endereço inet6: ::1/128 Escopo:Host UP LOOPBACK EM EXECUÇÃO MTU:16436 Métrica:1 Pacotes RX:26 erros:0 descartados:0 ultrapassagens:0 quadro:0 Pacotes TX:26 erros:0 descartados:0 sobrecargas:0 operadora:0 colisões:0 txqueuelen:0 Bytes RX: 2.428 (2,3 KiB) Bytes TX: 2.428 (2,3 KiB) peth0 Link encap:Ethernet HWaddr 00:30:48:5a:05:fa endereço inet6: fe80::230:48ff:fe5a:5fa/64 Escopo:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Métrica:1 Pacotes RX:6218 erros:0 descartados:0 ultrapassagens:0 quadro:0 Pacotes TX:1141 erros:0 descartados:0 sobrecargas:0 operadora:0 colisões:0 txqueuelen:1000 Bytes RX: 693978 (677,7 KiB) Bytes TX: 235320 (229,8 KiB) Interrupção:26 vif1.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff endereço inet6: fe80::fcff:ffff:feff:ffff/64 Escopo:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Métrica:1 Pacotes RX:3 erros:0 descartados:0 ultrapassagens:0 quadro:0 Pacotes TX:4369 erros:0 descartados:43 sobrecargas:0 operadora:0 colisões:0 txqueuelen:32 Bytes RX: 84 (84,0 B) Bytes TX: 487332 (475,9 KiB)
buda# xm lista de redes xen6 Endereço MAC Idx BE. lidar com estado evt-ch tx-/rx-ring-ref BE-path 0 0 00:16:3E:F3:0F:D9 0 4 15 769 /768 /local/domínio/0/backend/vif/1/0 buda # brctl show nome da ponte ID da ponte Interfaces habilitadas para STP eth0 8000.0030485a05fa não peth0 vif1.0
xen6#ifconfig -a eth0 Link encap:Ethernet HWaddr 00:16:3e:f3:0f:d9 endereço inet:xxx162 Bcast:xxx255 Máscara:255.255.255.0 endereço inet6: fe80::216:3eff:fef3:fd9/64 Escopo:Link UP TRANSMISSÃO EM EXECUÇÃO MULTICAST MTU:1500 Métrica:1 Pacotes RX:6870 erros:0 descartados:0 ultrapassagens:0 quadro:0 Pacotes TX:209 erros:0 descartados:0 sobrecargas:0 operadora:0 colisões:0 txqueuelen:1000 Bytes RX: 628821 (614,0 KiB) Bytes TX: 31636 (30,8 KiB) Interrupção: 17 lo Link encap:Loopback local endereço inet:127.0.0.1 Máscara:255.0.0.0 endereço inet6: ::1/128 Escopo:Host UP LOOPBACK EM EXECUÇÃO MTU:16436 Métrica:1 Pacotes RX:1 erros:0 descartados:0 ultrapassagens:0 quadro:0 Pacotes TX:1 erros:0 descartados:0 sobrecargas:0 operadora:0 colisões:0 txqueuelen:0 Bytes RX: 80 (80,0 B) Bytes TX: 80 (80,0 B)
xen6:~$ ping -c 1 xxx121 PING xxx121 (xxx121) 56(84) bytes de dados. 64 bytes de xxx121: icmp_req=1 ttl=64 tempo=0,081 ms --- xxx121 estatísticas de ping --- 1 pacote transmitido, 1 recebido, 0% de perda de pacote, tempo 0ms rtt min/média/máx/mdev = 0,081/0,081/0,081/0,000 ms
Aqui está o controlador Ethernet:
02:05.0 Controlador Ethernet: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet (rev 10) Subsistema: Dispositivo Super Micro Computer Inc 1648 Flags: bus master, 66MHz, devsel médio, latência 64, IRQ 26 Memória em fc9f0000 (64 bits, não pré-buscável) [tamanho=64K] ROM de expansão em [desativado] Capacidades: [40] Dispositivo sem ponte PCI-X Capacidades: [48] Gerenciamento de energia versão 2 Capacidades: [50] Dados vitais do produto Capacidades: [58] MSI: Ativar - Contagem = 1/8 Mascarável - 64 bits + Driver do kernel em uso: tg3
Li em algum lugar (não me lembro onde) que o IPMI cria problemas de rede. Então desativei o IPMI.
motiejus@buda> uname -a Linux buddha 2.6.32-5-xen-amd64 #1 SMP Seg, 16 de janeiro 20:48:30 UTC 2012 x86_64 GNU/Linux motiejus@buda> lsb_release -a ID do Distribuidor: Debian Descrição: Debian GNU/Linux 6.0.4 (squeeze) Versão: 6.0.4 Codinome: aperto
Atualização de dados pastebin (informações de roteamento e resultados de ping):
Xen6:
Destination Gateway Genmask Flags MSS Window irtt Iface
x.x.x.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 x.x.x.1 0.0.0.0 UG 0 0 0 eth0
Buddha:
Destination Gateway Genmask Flags MSS Window irtt Iface
x.x.x.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 x.x.x.1 0.0.0.0 UG 0 0 0 eth0
xen6:~$ ping -c1 x.x.x.1
PING x.x.x.1 (x.x.x.1) 56(84) bytes of data.
--- x.x.x.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
buddha# tcpdump -nni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:51:01.977068 IP x.x.x.162 > x.x.x.1: ICMP echo request, id 2632, seq 1, length 64
However, x.x.x.1 does not receive the ICMP request.
buddha# ping -c1 x.x.x.1
PING x.x.x.1 (x.x.x.1) 56(84) bytes of data.
64 bytes from x.x.x.1: icmp_req=1 ttl=255 time=0.403 ms
--- x.x.x.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.403/0.403/0.403/0.000 ms
Responder1
A segurança "baseada em MAC" é ativada pelo seu departamento de rede? Parece-me que apenas o primeiro MAC de saída na linha física está sendo aceito.
Responder2
Pelo que me lembro, meu problema era o mesmo. Ativar o cache arp resolveu meu problema, pode funcionar para você também.
Insira estas linhas em /etc/sysctl.conf
:
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.proxy_arp = 1
Eu uso uma rede roteada, então não há peth0
, talvez você precise habilitá-la:
net.ipv4.conf.peth0.proxy_arp = 1