Plug Ethernet Loopback - executando um ping

3

Para um projeto em funcionamento, preciso testar várias NICs Ethernet conectando-as a um "plugue adaptador de loopback", como este em várias caixas embutidas Linux que saem de uma linha de montagem de produção. Eu gostaria de ser capaz de configurar dois endereços IP diferentes (AddressA e AddressB) em uma interface Ethernet e, em seguida, executar um ping de AddressA para AddressB.

Ex:  ping -I AddressA AddressB

Isso é possível?

Além disso, existe um teste disponível que testaria a interface Ethernet somente em um nível de endereço L2 / MAC usando o plugue de loopback? Se bem me lembro, o RealTek tinha uma ferramenta de diagnóstico para seus adaptadores ethernet 8139 que fazia um tipo de teste de loopback somente de L2, e eu queria saber se havia uma ferramenta Linux que fizesse o mesmo.

UPDATE: Adicionamos comentários sobre o porquê estou testando as caixas nos comentários acima. Terei que experimentar algumas dessas ideias neste fim de semana para ver o que acontece. Talvez faça o meu próprio "plug adaptador de loopback" usando um jack keystone + alguns fios de uma loja de hardware, e tentar ver se eu posso espiar os sinais usando um osciloscópio ou analisador lógico para garantir que os sinais realmente estão atingindo o fio. Como isso parece ser mais difícil do que o esperado, nossa equipe de trabalho tomou a decisão de testar as portas Ethernet do boxen do Linux pegando um pequeno roteador NAT doméstico e depois fazendo o ping do roteador, e colocando isso nos equipamentos de teste de hardware. Ainda assim, estou intrigado com os aspectos técnicos disso e quero experimentar esse assunto sozinho.

    
por J. Polfer 10.06.2009 / 00:30

4 respostas

4

Com certeza:)

# ip address list dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1e:4f:9b:4a:ab brd ff:ff:ff:ff:ff:ff
    inet 10.10.141.83/24 brd 10.10.141.255 scope global eth0
    inet6 fe80::21e:4fff:fe9b:4aab/64 scope link 
       valid_lft forever preferred_lft forever
# ip address add 10.10.141.253/24 dev eth0
# ip address list dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1e:4f:9b:4a:ab brd ff:ff:ff:ff:ff:ff
    inet 10.10.141.83/24 brd 10.10.141.255 scope global eth0
    inet 10.10.141.253/24 scope global eth0
    inet6 fe80::21e:4fff:fe9b:4aab/64 scope link 
       valid_lft forever preferred_lft forever
# ping -I 10.10.141.83 10.10.141.253
PING 10.10.141.253 (10.10.141.253) from 10.10.141.83 : 56(84) bytes of data.
64 bytes from 10.10.141.253: icmp_seq=1 ttl=64 time=0.050 ms
64 bytes from 10.10.141.253: icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from 10.10.141.253: icmp_seq=3 ttl=64 time=0.038 ms
^C
--- 10.10.141.253 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.034/0.040/0.050/0.010 ms
# ip address delete 10.10.141.253/24 dev eth0
# ping -I 10.10.141.83 10.10.141.253
PING 10.10.141.253 (10.10.141.253) from 10.10.141.83 : 56(84) bytes of data.
From 10.10.141.83 icmp_seq=1 Destination Host Unreachable
From 10.10.141.83 icmp_seq=2 Destination Host Unreachable
From 10.10.141.83 icmp_seq=3 Destination Host Unreachable
^C
--- 10.10.141.253 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3016ms

Realmente simples e morto. :) (Brincadeira, é sempre simples se você já sabe)

Eu não tenho certeza se L2 realmente funcionaria, mas com ip neigh você pode ser capaz de modificar o cache de arp também (tanto para simples morto)

    
por 10.06.2009 / 00:35
3

Você pode achar que arping tem mais chances de acertar o fio, já que isso usa arp e, portanto, evita o IP empilhar completamente.

    
por 10.06.2009 / 01:09
1

Neste cenário, é duvidoso que o sinal realmente "atinja o fio". Como o dispositivo verá que possui o endereço IP atribuído a uma interface, toda a consulta / roteamento de MAC (se as duas interfaces estiverem em sub-redes diferentes) ocorrerá no próprio sistema e nunca atingirá a interface física.

O conector de loopback pode ser usado para enganar a caixa e ver a interface como 'para cima' para que você possa fazer esse teste, mas apenas usando um cabo normal e uma porta de switch sobressalente conseguiriam o mesmo resultado.

Se ao invés disso você quer dizer que você estará conectando eth0 a eth1 na mesma caixa, então você pode simplesmente usar um cabo cross-over, mas a mesma coisa pode acontecer como acima.

Plug de loopback Ethernet: link

    
por 10.06.2009 / 16:16
1

Eu fiz um pouco de pesquisa e encontrei esta página para converter os sinais Ethernet em luz, e testar isso em uma configuração de loopback: link .

Infelizmente, isso não é um verdadeiro ping, já que você só vê o mesmo pacote ICMP duas vezes no Wireshark / tcpdump. Isso garante que o sinal atinja o fio.

    
por 10.06.2009 / 17:53