У меня есть два компьютера с Ubuntu в локальной сети, и ни один из них не может пропинговать друг друга. Каждый раз, когда я пытаюсь получить сообщение об ошибке «целевой хост недоступен». Оба компьютера могут получить доступ к Интернету с любыми проблемами.
У меня есть роутер ActionTech v1000h от Telus. Я связался с одним из их представителей клиентов, и они сказали, что не должно быть никаких причин, по которым два устройства не могут пинговать друг друга в сети.
Я в полном недоумении, у кого-нибудь из вас есть какие-нибудь идеи?
Компьютер 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)
маршрут -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
Компьютер 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)
маршрут -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
Редактировать: пример ошибки, когда компьютер 1 пытается пропинговать компьютер 2:
пинг 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
Редактировать 2: arp -a
обоих компьютеров
Компьютер 1:
? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
Компьютер 2:
? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
? (192.168.1.77) at <incomplete> on wlan0
Редактировать 3: nmap -sn 192.168.1.0/24
на компьютере 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
Редактировать 4: tcpdump регистрирует оба компьютера, в то время как первый пинг 192.168.1.254, а затем друг друга:
Компьютер 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
Компьютер 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
Редактировать 5: Установить статические ips для обоих компьютеров etho0 и подключить их с помощью интернет-кабеля. Оба компьютера могут определенно пропинговать друг друга через кабель Ethernet! ifconfig -a
Результаты eth0:
Компьютер 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)
Компьютер 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)
источник
Ответы:
ping gateway с обоих компьютеров,
ping 192.168.1.254
затем попытайтесь пропинговать comp1 к compt2 и comp2 к comp1, а затем отправьте результатыarp -a
из обоих блоковредактировать
Интересно, что-то блокирует трафик
запустите
sudo tcpdump -ni wlan0 arp
в одном окне на обоих компьютерах, а затем попробуйте пропинговать друг друга и шлюз из другого окна снова и опубликовать результатыEdit2
До сих пор это показывает, что comp1 делает то, что предполагает отправку запроса arp (запрашивает адрес etherner comp2s), но не получает ответа arp (ничего не слышит). Нужно увидеть tcpdump от PC2, чтобы увидеть полную картину. Либо запустите команду screen, либо сделайте это на ПК1
sudo tcpdump -w pc1.pcap -ni wlan0 arp &
и на ПК2,sudo tcpdump -w pc2.pcap -ni wlan0 arp &
и вы должны сбросить ее в фоновом режиме и вернуть запрос на пинг. После сбоя проверки связи верните задания на передний план сfg %1
остановкойctrl+c
и прочитайте записанные файлы сsudo tcpdump -r pc1/2.pcap
ПК Edit3 делают то, что они предполагают, выпуская ARP, но они не проходят через какие точки к маршрутизатору. Может быть, отключить настройку брандмауэра, сомневаюсь, что он поддерживает VLAN? Хотелось бы, чтобы вы позволили ему работать немного дольше в 22: 45: 48.379058, когда ваш маршрутизатор отправил свой собственный запрос ARP, когда он искал ПК1,
22:45:48.379058 ARP, Request who-has 192.168.1.77 tell 192.168.1.254, length 28
оба ПК должны были его видеть, мы можем видеть, что ПК1 видел его и ответил со своим IP, но не могу скажите, получил ли PC2 его с тех пор, как вы его остановили, остановитесь на 22: 45: 09.796214 . Предполагая, что ваши часы синхронизируются с NTP, то есть.Edit4
Видите, это все еще не решено. Не видел, что у вас есть эти адаптеры на обоих ПК. Можете ли вы подключиться к маршрутизатору по eth вместо wlan и посмотреть, сможете ли вы пинговать тогда? Или получить другой роутер? Или сделать горячую точку на телефоне, подключить оба компьютера и попробовать пинговать? Кроме того, вы удивились, увидев, что вы смогли соединить два компьютера вместе и проверить связь друг с другом. Использовали ли вы перекрестный кабель?
источник
screen
с Ctrl-A и c для создания нового окна может быть полезной. Ctrl-A, затем <Space> переходит к окну, Ctrl-A, затем <Backspace>, переходит на одно назад, так что вы можете переключаться между ними.Попробуйте подключить два компьютера напрямую друг к другу с помощью кабеля Ethernet, настроив оба адреса с фиксированным IP-адресом (например, A: 192.168.1.10, B: 192.168.1.20) и попробуйте выполнить команду ping еще раз.
Тогда вы очень быстро узнаете, возникла ли проблема у вашего маршрутизатора или компьютеров.
источник
ping localhost
илиping 127.0.0.1
это говорит вам, работает ли сетевой интерфейс. Это означает, что оба ваших компьютера могут обработать запрос, если я не ошибаюсь.Мой первый ответ, когда я вижу что-то странное, это установка wireshark.
Затем сделайте так, чтобы у вас было разрешение использовать его без полномочий root:
Выберите вариант «да».
Выйдите из системы и снова войдите в систему, чтобы получить новое членство в группе, и теперь вы можете запускать пакеты захвата как пользователь без полномочий root.
Затем запустите Wireshark на машине, выбрав интерфейс, подключенный к сети. Постарайтесь минимизировать трафик, отличный от вашего тестирования, чтобы упростить интерпретацию результатов.
Если вы запустите wireshark на одной машине, а затем попытаетесь пропинговать с другой, вы должны увидеть что-то на машине под управлением wireshark, которая говорит что-то вроде «У кого есть <ip, вы пытаетесь пропинговать>». Если вы получаете это, то компьютер, пытающийся пропинговать, получает свой запрос, полученный компьютером wireshark. Надеюсь, вы также должны увидеть в wireshark что-то вроде «<IP-адрес, который вы пытаетесь пропинговать>, находится по адресу <mac address>». Если вы это сделаете, то компьютер Wireshark отвечает. Если это так, попробуйте запустить wireshark на компьютере, проверяя эхо-запрос, и посмотрите, можете ли вы увидеть ответ «<ip address, на который вы пытаетесь пропинговать> по адресу <mac address>», на компьютере pinging.
Я прошу прощения, если это слишком низкий уровень и идет над вашей головой. Этот метод действительно углубляется в детали. Но способность видеть то, что на самом деле происходит в сети, делает проблемы намного более очевидными.
источник
tshark -i wlan0
и не вижу результатов, пока компьютер 1 пытаетсяWho has 192.168.1.2? Tell 192.168.1.77
но он никогда не получает ответ. Маршрутизатор, который я использую, не имеет включенной изоляции клиента согласно их faq: часто actiontec.com/products/faqs.php?pid=191#q25У меня были те же симптомы с моей локальной сетью (только для компьютеров с Ubuntu). Это случилось с тех пор, как мы получили новый роутер. Это один из тех двухдиапазонных. Не могу понять проблему, пока я не подумаю, что одна «группа» полностью не пересекается с другой. Должно быть легко проверить, я отключил одну машину от Wi-Fi и переподключил ее (к тому же SSID), и что вы знаете, мне повезло (это 50-50 шанс?), И он появился на локальной сети другой машина и теперь я могу пинговать и входить в нее! «Nmap» дал мне подсказку. Спасибо за идею.
источник
Просмотрите конфигурацию вашего маршрутизатора и посмотрите, не запущены ли брандмауэры локальной сети. Некоторые маршрутизаторы по умолчанию изолируют подключенные устройства друг от друга.
Вы также можете использовать
nmap
:Посмотрим, придет ли это к чему-нибудь.
источник
nmap
на компьютере 2.Что-то не так с вашей таблицей маршрутизации, но я не вижу в этом ничего плохого. «Узел недоступен» означает, что ядро не может решить, какой адаптер использовать для отправки пакета, поэтому оно сдается и отбрасывает пакет.
Метрика для вашей локальной сети равна 9. Это должно быть 0 или 1. Однако, по слухам, ядро Linux игнорирует метрику.
Я бы попытался добавить маршрут к конкретному хосту. Попробуйте это на компьютере 1:
route add -host 192.168.1.2 metric 0 dev wlan0
Также попробуйте удалить маршрут до 169.254.0.0 и посмотрите, поможет ли это. Это маловероятно, но вы никогда не знаете.
РЕДАКТИРОВАТЬ
У вас не работает VPN? Известно, что Cisco VPN мешает подключению к локальной сети.
источник
route -n
таблице:192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 wlan0
Все ваши пакеты от компьютера 1 и компьютера 2 направляются в wlan0 на каждом локальном узле , но ни один беспроводной интерфейс не связан с беспроводной сетью.
Вы назначали IP-адреса вручную? Они должны предоставляться через DHCP маршрутизатором как часть настройки ассоциации / аутентификации.
Сделайте
sudo iwlist wlan0 scan
на каждом компьютере, чтобы увидеть беспроводные сети, доступные для каждого компьютера. Одним из них должен быть ваш роутер. Маршрутизатор настроен с ESSID (именем беспроводной сети), который отличается от значения по умолчанию?На какой тип шифрования настроен / способен маршрутизатор? Возможные варианты: Нет (очень-очень плохо), WEP (очень плохо), WPA (плохо) и WPA2 (лучше всего доступно на данный момент). Все 3 системы должны согласовать общее шифрование.
После того, как все это исправлено, компьютер 1 должен иметь возможность беспроводного подключения к маршрутизатору, получить от него IP-адрес (наряду с другой сетевой информацией, такой как шлюз по умолчанию, MTU). Уметь к
ping
роутеру.Повторите для компьютера 2 .
Тогда, и только тогда, вы можете действительно
ping
, если маршрутизатор разрешает маршрутизацию локальных адресов.источник
WPA / WPA2
безопасность сWPA or WPA2 - Personal
типом WPA. ESSID настроен так, чтобы он отличался от значения по умолчанию. Оба компьютера могут найти маршрутизаторы с помощьюsudo iwlist wlan0 scan
команды. Оба компьютера могут пропинговать роутер. Компьютер 1 имеет динамический IP, а компьютер 2 имеет фиксированный IP. Ни один компьютер не может пропинговать другой.NetworkManager
для управления своими соединениями Wi-Fi и паролями, иiwconfig
показывает:$ 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
Кажется, проблема в вашей сети. Не в самих машинах Linux. Я бы сказал, что с вами работает ваш беспроводной маршрутизатор / точка доступа.
Это указывает на то, что ваш маршрутизатор / AP глотает запросы ARP, и без функционирования ARP они не знают MAC другого, и поэтому они не могут общаться по Ethernet друг с другом.
Попробуйте сделать так, чтобы маршрутизатор DHCP назначал адреса вместо статического назначения их самостоятельно.
Или добавьте их статически в кеш ARP, чтобы посмотреть, поможет ли это.
На компьютере1:
На компьютере2:
источник
Проверьте, есть ли у вашей AP маршрутизатора Wlan опция изоляции (включите Изоляцию AP), отключите ее.
источник