2 computadores conectados com cabo crossover não podem pingar uns nos outros: linux

1

Eu trabalhei nisso por um dia inteiro. Eu tenho 2 computadores Manjaro / Arch - uma estação de trabalho mais antiga A e um laptop B. Um trabalho será sem conectividade de rede regular e eu irei me conectar semanalmente via crossover com meu laptop para descarregar dados. A tem IP estático 192.168.0.1/24 definido via netctl e B tem IP 192.168.0.10/24 definido por meio de um perfil do NetworkManager na GUI. Para a porta ethernet mobo não parece funcionar e eu instalei um PCI NIC whihc tem uma luz de link. Tentei conectar A e B com um cabo crossover. O cabo funcionou com sucesso em casa com o mesmo laptop e um RaspberryPi. Eu também testei o crossover, tudo está correto. Mas no trabalho nem o computador pode pingar uns aos outros e o erro é:

# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.10 icmp_seq=1 Destination Host Unreachable
From 192.168.0.10 icmp_seq=2 Destination Host Unreachable

O laptop tem um IP definido manualmente:

 enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        ether f0:76:1c:b9:b8:e6  txqueuelen 1000  (Ethernet)
        RX packets 853896  bytes 917175985 (874.6 MiB)
        RX errors 0  dropped 65  overruns 0  frame 0
        TX packets 378812  bytes 51523006 (49.1 MiB)
        TX errors 8  dropped 47 overruns 0  carrier 0  collisions 0

e assim tem a estação de trabalho A, exceto o endereço é 192.168.0.1 ; netmask é o mesmo. A luz de conexão está acesa para a placa de rede na estação de trabalho A; ethtool output em A mostra que o link é detectado. No entanto, não há ping / conectividade e no link B não é detectado (mensagem de NetworkManager , ethtool e mii-tool saídas. O que diabos poderia estar errado?

Atualizações de acordo com comentários: A máscara de rede é a mesma em A e B. Verifiquei as interfaces com: lshw -class network -businfo - configurei a interface correta em A - a que pertence à placa PCI Realtek instalada. Ambos os endereços são estáticos com a mesma máscara de rede 255.255.255.0 . Os cartões são padrão 10/100, o que é confirmado por ethtool e mii-tool .

Saída de exibição de rota IP em B

[root@zeniba ~]# ip route show
default via 192.168.0.1 dev enp3s0 proto static metric 100 
192.168.0.0/24 dev enp3s0 proto kernel scope link src 192.168.0.10 metric 100 

e similar em A, exceto que o endereço é diferente.

arp no estado não conectado não mostra nenhum endereço hw para a outra máquina, o que faz sentido, eu acho, se pelo menos uma máquina achar que não há link.

Próxima atualização: Quase a solução: Depois, descobri que no computador A NetworkManager ainda estava em execução, apesar de eu ter desativado anteriormente. Eu li sobre isso e defini NetworkManager e NetworkManager-dispatcher services como masked - o que deve impedir totalmente o carregamento do NM. Na próxima reinicialização, tudo estava funcionando absolutamente bem; houve conexão imediata via crossover e consegui obter os dados esperados e isso sobreviveu a 5 reinicializações. Dei um suspiro de alívio e coloquei o computador A no local de testes de produção. No entanto, mais tarde, durante o dia, quando tentei me conectar a ele com o laptop B, tive o mesmo problema novamente. Ligado Uma luz de link ethernet está acesa, mas B não mostra nenhuma mensagem de link / cabo desconectado. Vou tentar ver se de alguma forma estranha NetworkManager voltou à vida novamente, mas talvez isso seja uma falha de hardware? Ou qualquer outro serviço de rede que esteja interferindo com netctl ?

E muito obrigado por todos os comentários e sugestões . Eles me ajudaram a seguir o caminho certo. Eu estarei postando a resposta que eu cheguei.

    
por r0berts 04.04.2017 / 19:02

1 resposta

1

Eu tive dois problemas principais.

1) O maior problema era que o gerenciador de rede não estava completamente desativado - isso realmente estragava minha configuração no A. Até que eu resolvesse, não havia conectividade. Assim que eu desativei com mask (leia sobre três níveis de desligamento systemd ) Eu tenho a conexão. Ambos Arch e Manjaro sobre como configurar o IP estático com netctl mencionam que você precisa desativar o NetworkManager, mas elas não dizem que alguns serviços ainda podem aumentar o NM, embora eu o tenha desativado no segundo nível inicialmente. Comandos são:

 systemctl mask NetworkManager
 systemctl mask NetworkManager-dispatcher

2) Então eu tenho o problema que às vezes esta configuração iria misteriosamente parar de funcionar - isto é, conectar o cabo e configurar o perfil do NetworkManager B para o IP estático não daria resultado. Estranhamente, a estação de trabalho Uma luz de conexão de cartão ainda está acesa. Já que em casa com o RaspberryPis isso sempre funciona, acho que são alguns problemas antigos de hardware para a estação de trabalho. A melhor maneira de lidar com isso eu encontrei foi usar mii-tool -w enp3s0 no laptop. Significa observar sua interface ethernet específica (enp3s0 no meu caso) para link de nível de hardware. Ele muda instantaneamente conforme você conecta / desconecta seu cabo. ethtool parece mais poderoso, mas eu não encontrei esse monitoramento conveniente do link para ethtool . Portanto, se mii-tool mostrar o link, você verá se a interface do laptop está associada ao perfil correto e poderá verificar com ping .

3) Problemas relacionados a hardware - portanto, como amador, tenho muitas coisas para duvidar, o que torna o processo mais complicado. Por essa razão, vou colocar mais algumas dicas que achei particularmente útil:

Um é lshw -class network -businfo - fornece o endereço PCI, o nome do dispositivo e a descrição. Portanto, em uma máquina com várias interfaces, você pode certificar-se de que sua configuração netctl ou outra configuração da CLI esteja se referindo à placa correta.

Sobre a configuração do IP v4. Como você está configurando apenas 2 computadores na mesma sub-rede, não é necessário configurar o gateway. No entanto, a GUI do NetworkManager não permitiria criar um perfil sem um GW. Você pode simplesmente colocar o endereço do outro computador lá ou colocar 0.0.0.0 como GW.

Problema com a placa ethernet - endereço MAC estranho

Eu não sei como, mas parte do problema foi com a placa ethernet Realtek que eu tinha. Por algum motivo incognoscível, o computador estava inicializando cada vez com um endereço MAC ligeiramente diferente e a maior parte era fff - like ff:ff:ff:7f:ff:ff . Foi frustrante como eu vi em logs que a atribuição de endereços IP falha. Eu não consegui resolver isso tentando atribuir um endereço MAC diferente na inicialização. Este problema foi resolvido com a compra de outra placa ethernet barata que parecia ter sempre um endereço MAC adequado.

Problema na extremidade do laptop - sem interface após a desconexão

Descobri que, às vezes, meu laptop manjaro não podia ver a interface de rede depois que o cabo era desconectado e depois plugado novamente. Portanto, o comando mii-tool -w enp3s0 iria reclamar que não havia essa interface. No entanto, isso foi fácil de resolver colocando o laptop para dormir e, em seguida, acordando-o novamente. mii-tool reportaria link e, em seguida, ping funcionaria como esperado.

    
por 08.04.2017 / 10:35