Eu tenho dois computadores ubuntu em uma rede local e nenhum deles pode executar ping um no outro. Sempre que tento, recebo a mensagem de erro "host de destino inacessível". Ambos os computadores podem acessar a Internet com qualquer problema.
Eu tenho um roteador ActionTech v1000h da Telus. Entrei em contato com um de seus representantes de clientes e eles disseram que não deveria haver motivo para que dois dispositivos não pudessem executar ping na rede.
Estou totalmente perdida, algum de vocês tem alguma idéia?
Computador 1:
ifconfig -a
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10084 errors:0 dropped:0 overruns:0 frame:0
TX packets:10084 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:797420 (797.4 KB) TX bytes:797420 (797.4 KB)
wlan0 Link encap:Ethernet HWaddr c4:85:08:77:d3:f5
inet addr:192.168.1.77 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::c685:8ff:fe77:d3f5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:373068 errors:0 dropped:0 overruns:0 frame:0
TX packets:380158 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:103445020 (103.4 MB) TX bytes:112630337 (112.6 MB)
rota -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Computador 2:
ifconfig -a
etho0 Link encap:Ethernet HWaddr 00:24:8c:ae:f6:91
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:2
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:110 errors:0 dropped:0 overruns:0 frame:0
TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8414 (8.4 KB) TX bytes:8414 (8.4 KB)
wlan0 Link encap:Ethernet HWaddr 00:22:43:9b:7b:64
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::222:43ff:fe9b:7b64/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:252 errors:0 dropped:0 overruns:0 frame:0
TX packets:435 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:123143 (123.1 KB) TX bytes:65828 (65.8 KB)
rota -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Edit: Exemplo do erro quando o computador 1 tenta executar ping no computador 2:
ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
From 192.168.1.77 icmp_seq=1 Destination Host Unreachable
From 192.168.1.77 icmp_seq=2 Destination Host Unreachable
From 192.168.1.77 icmp_seq=3 Destination Host Unreachable
From 192.168.1.77 icmp_seq=4 Destination Host Unreachable
From 192.168.1.77 icmp_seq=5 Destination Host Unreachable
From 192.168.1.77 icmp_seq=6 Destination Host Unreachable
^C
--- 192.168.1.2 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6031ms
pipe 3
Edição 2: arp -a
dos dois computadores
Computador 1:
? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
Computador 2:
? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
? (192.168.1.77) at <incomplete> on wlan0
Edição 3: nmap -sn 192.168.1.0/24
no computador 2
Starting Nmap 6.40 ( http://nmap.org ) at 2014-05-07 21:14 PDT
Nmap scan report for 192.168.1.2
Host is up (0.00024s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 3.30 seconds
Edição 4: O tcpdump registra os dois computadores enquanto o primeiro executa ping 192.168.1.254 e depois um ao outro:
Computador 1:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:45:01.661300 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:02.659393 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:03.659394 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:04.676872 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:05.675391 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:06.675396 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:07.692825 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:48.379058 ARP, Request who-has 192.168.1.77 tell 192.168.1.254, length 28
22:45:48.379108 ARP, Reply 192.168.1.77 is-at c4:85:08:77:d3:f5, length 28
22:45:54.419388 ARP, Request who-has 192.168.1.254 tell 192.168.1.77, length 28
22:45:54.420875 ARP, Reply 192.168.1.254 is-at 20:76:00:f5:3b:70, length 28
Computador 2:
reading from file pc2.pcap, link-type EN10MB (Ethernet)
22:44:43.538367 ARP, Request who-has 192.168.1.254 tell 192.168.1.2, length 28
22:44:43.676705 ARP, Reply 192.168.1.254 is-at 20:76:00:f5:3b:70 (oui Unknown), length 28
22:45:02.107935 ARP, Request who-has 192.168.1.254 tell 192.168.1.2, length 28
22:45:02.107951 ARP, Reply 192.168.1.254 is-at 20:76:00:f5:3b:70 (oui Unknown), length 28
22:45:06.780619 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
22:45:07.778419 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
22:45:08.778419 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
22:45:09.796214 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
Edit 5: Configure ips estáticos para os dois computadores etho0 e conecte-os com um cabo de internet. Os dois computadores podem definitivamente fazer ping um ao outro através do cabo Ethernet! ifconfig -a
eth0 resultados:
Computador 1:
eth0 Link encap:Ethernet HWaddr 68:68:68:00:62:a4
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::6a68:68ff:fe00:62a4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4060 (4.0 KB) TX bytes:7629 (7.6 KB)
Computador 2:
eth0 Link encap:Ethernet HWaddr 00:24:8c:ae:f6:91
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::224:8cff:feae:f691/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:250 errors:0 dropped:0 overruns:0 frame:0
TX packets:130 errors:0 dropped:0 overruns:0 carrier:3
collisions:0 txqueuelen:1000
RX bytes:26501 (26.5 KB) TX bytes:20897 (20.8 KB)
fonte
Respostas:
execute o ping do gateway de ambos os computadores
ping 192.168.1.254
e tente executar o comando ping para comp1 para compt2 e comp2 para comp1 e, em seguida, publique os resultados dearp -a
ambas as caixasEditar
Interessante, algo está bloqueando o tráfego
execute
sudo tcpdump -ni wlan0 arp
em uma janela nos dois computadores e tente executar o ping entre si e o gateway de outra janela nos dois novamente e publique os resultadosEdit2
Até agora, isso mostra que o comp1 está fazendo o que deveria enviar a solicitação arp (solicitando o endereço etherner do comp2s), mas não recebendo uma resposta do arp (ouvindo algo de volta). Precisa ver o tcpdump do PC2 para ver a imagem completa. Execute o comando screen ou faça isso no PC1
sudo tcpdump -w pc1.pcap -ni wlan0 arp &
e no PC2sudo tcpdump -w pc2.pcap -ni wlan0 arp &
e jogue-o em segundo plano e retorne a solicitação de pings. Após pings falhar, traga os trabalhos de volta ao primeiro plano comfg %1
parectrl+c
e leia os arquivos gravados comsudo tcpdump -r pc1/2.pcap
Edit3 Os PCs estão fazendo o que deveriam, lançando ARPs, mas não estão passando por quais pontos do roteador. Talvez uma configuração de firewall desativada, duvide que ele suporte VLANs? Meio que gostaria que você deixasse que demorasse um pouco mais às 22: 45: 48.379058, seu roteador enviou sua própria solicitação de ARP quando procurava pelo PC1 que
22:45:48.379058 ARP, Request who-has 192.168.1.77 tell 192.168.1.254, length 28
ambos os PCs deveriam ter visto, podemos ver que o PC1 o viu e respondeu com seu IP, mas não posso diga se o PC2 conseguiu, desde que você o parou, pare às 22: 45: 09.796214 . Supondo que seus relógios sejam sincronizados com o NTP.Edit4
Veja que ainda não está resolvido. Não viu que você possui adaptadores eth nos dois computadores. Você pode conectar o roteador no eth em vez da wlan e ver se consegue executar o ping? Ou adquirir outro roteador? Ou faça um hotspot no telefone conectar os dois PCs e tentar executar ping? Além disso, surpreso ao ver que você foi capaz de conectar dois PCs e fazer ping um no outro, usou um cabo cruzado?
fonte
screen
comando, com Ctrl-A e c para criar uma nova janela, pode ser útil. Ctrl-A e <Space> avançam uma janela, Ctrl-A e <Backspace> retornam uma, para que você possa alternar entre elas.Tente conectar-se diretamente aos dois computadores com um cabo Ethernet, configurando um endereço IP fixo (ex A: 192.168.1.10, B: 192.168.1.20) e tente executar o ping novamente.
Você saberá rapidamente se o problema vem do seu roteador ou dos seus computadores.
fonte
ping localhost
ou oping 127.0.0.1
que informa se a interface de rede está ativa. Isso significa que os dois computadores podem lidar com solicitações, se não me engano.Minha primeira resposta quando vejo algo estranho como esse é instalar o wireshark.
Em seguida, faça com que você tenha permissão para usá-lo como não raiz:
Escolha a opção "yes".
Efetue logout e efetue login novamente para selecionar a nova associação ao grupo e agora você pode executar pacotes de captura como um usuário não raiz.
Em seguida, execute o wireshark na máquina, selecionando a interface conectada à rede. Tente minimizar o tráfego que não seja o seu teste para facilitar a interpretação dos resultados.
Se você executar o wireshark em uma máquina e tentar executar ping em outra, deverá ver algo na máquina executando o wireshark que diz algo como "Quem tem <ip que você está tentando executar ping>". Se você conseguir isso, o computador que está tentando executar o ping está recebendo sua solicitação pelo computador wireshark. Felizmente, você também deve ver no wireshark algo como "<endereço IP que você está tentando executar ping> está em <endereço mac>". Se o fizer, o computador wireshark está respondendo. Se for esse o caso, tente executar o wireshark no ping do computador e veja se você pode ver a resposta "<endereço IP que você está tentando executar ping> está em <endereço MAC>" no computador que executa o ping.
Peço desculpas se este é um nível muito baixo e passa por cima de sua cabeça. Este método se aprofunda nos detalhes. Mas poder ver o que realmente está acontecendo na rede tende a tornar os problemas muito mais óbvios.
fonte
tshark -i wlan0
e não vê quaisquer resultados, enquanto computador 1 está tentando computador de ping 2.Who has 192.168.1.2? Tell 192.168.1.77
mas nunca recebe uma resposta. O roteador que estou usando não tem isolamento cliente habilitado como por seu FAQ: actiontec.com/products/faqs.php?pid=191#q25Eu tive os mesmos sintomas com a minha LAN (apenas máquinas ubuntu). Isso aconteceu desde que adquirimos um novo roteador. É um daqueles de banda dupla. Não consegui entender o problema, até que eu pensasse que uma "banda" é totalmente separada da outra. Deveria ser fácil testar, desconectei uma máquina do wifi e reconectei (no mesmo SSID), e o que você sabe, tive sorte (é uma chance de 50-50?) E apareceu na LAN da outra agora eu posso efetuar ping e fazer login nela! O "nmap" acima me deu a pista. Obrigado pela ideia.
fonte
Passe pela configuração do seu roteador e verifique se os firewalls da rede local não estão ativados. Alguns roteadores, por padrão, isolam os dispositivos conectados um do outro.
Você também pode usar
nmap
:Veja se isso traz alguma coisa.
fonte
nmap
no computador 2.Alguma coisa está bagunçada com sua tabela de roteamento, mas não vejo nada de errado com ela. "Host inacessível" significa que o kernel não pode decidir qual adaptador usar para enviar o pacote, então ele desiste e descarta o pacote.
A métrica para a sua rede local é 9. Isso deve ser 0 ou 1. No entanto, há rumores de que o kernel do Linux ignore a métrica.
Eu tentaria adicionar uma rota ao host específico. Tente isso no computador 1:
route add -host 192.168.1.2 metric 0 dev wlan0
Tente também remover a rota para 169.254.0.0 e veja se isso ajudará. É improvável, mas você nunca sabe.
EDITAR
Você não tem VPN em execução, não é? Sabe-se que a Cisco VPN interfere nas conexões de rede local.
fonte
route -n
tabela é:192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 wlan0
Todos os seus pacotes do Computador 1 e do Computador 2 são roteados para wlan0 em cada host local, mas nenhuma interface sem fio está associada a uma rede sem fio.
Você atribuiu os endereços IP manualmente? Eles devem ser fornecidos, via DHCP, pelo roteador, como parte da configuração de associação / autenticação.
Faça
sudo iwlist wlan0 scan
em cada computador para ver as redes sem fio disponíveis para cada computador. Um deles deve ser o seu roteador. O roteador está configurado com um ESSID (nome de rede sem fio) diferente do padrão?De que tipo de criptografia o roteador está configurado para / é capaz? As opções são Nenhuma (muito, muito ruim), WEP (muito ruim), WPA (ruim) e WPA2 (melhor disponível no momento). Todos os três sistemas devem concordar com uma criptografia comum.
Quando tudo estiver resolvido, o Computador 1 poderá conectar-se sem fio ao roteador e obter um endereço IP (além de outras informações de rede, como o gateway padrão, MTU). Ser capaz de
ping
o roteador.Repita para o Computador 2 .
Então, e somente então, você pode realmente
ping
, se o roteador permitir roteamento de endereço local.fonte
WPA / WPA2
segurança com umWPA or WPA2 - Personal
tipo WPA. O ESSID está configurado para ser diferente do padrão. Ambos os computadores podem encontrar os roteadores com osudo iwlist wlan0 scan
comando Ambos os computadores podem executar ping no roteador. O computador 1 possui um IP dinâmico e o computador 2 possui um IP fixo. Nenhum computador pode executar ping no outro.NetworkManager
para gerenciar minhas conexões wifi e senhas, eiwconfig
shows:$ iwconfig wlan0 wlan0 IEEE 802.11bg ESSID:"Fairfield" Mode:Managed Frequency:2.422 GHz Access Point: 14:D6:4D:2D:5F:AE Bit Rate=54 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=70/70 Signal level=-40 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx Invalid frag:0 Tx excessive retries:0 Invalid misc:37 Missed beacon:0
O problema parece estar na sua rede. Não nas próprias máquinas Linux. Eu diria que é o seu roteador / ponto de acesso sem fio que está enganando você.
Isso indica que o seu roteador / AP engole os pedidos do ARP e, sem o ARP funcionando, eles não conhecem o MAC do outro e, portanto, não podem conversar sobre Ethernet.
Tente fazer com que o DHCP do roteador atribua os endereços em vez de atribuí-los estaticamente.
Ou adicione-os estaticamente ao cache do ARP para ver se isso ajuda.
No computador1:
No computador2:
fonte
Verifique se o ponto de acesso do seu roteador wlan possui uma opção de isolamento (ative o isolamento do ponto de acesso).
fonte