Устранение неполадок в сети
РЕДАКТИРОВАТЬ: Это сейчас не работает вообще, и у меня до сих пор нет решения для этого. Симптомы приведены ниже: я могу получить доступ к принтеру со ВСЕХ устройств, отличных от Ubuntu, в той же локальной сети, но не из моего Ubuntu 16.04. Есть идеи? Благодарю.
======
Я пытаюсь устранить неполадки подключения ThinkPad E460 под управлением Ubuntu 16.04 к сетевому принтеру HP LaserJet Pro M402dw:
- Ноутбук и принтер подключены к сети через Wi-Fi.
- Часто переходит из работы в нерабочее состояние и обратно в течение нескольких минут, без преднамеренного изменения каких-либо настроек.
- Подключение с ноутбука на интернет работает нормально.
- Подключение с других устройств по локальной сети к принтеру работает нормально.
Когда он работает, я могу пропинговать принтер по его IP-адресу 192.168.1.xxx со своего ноутбука по адресу 192.168.1.yyy. На Wireshark пинг выглядит так:
Time Source Destination Protocol Length Info
[time] 192.168.1.yyy 192.168.1.xxx ICMP 98 Echo (ping) request...
[time] 192.168.1.xxx 192.168.1.yyy ICMP 98 Echo (ping) reply...
Когда он не работает, я не могу пропинговать принтер, и arp -a сообщает о его MAC-адресе как "неполном". На Wireshark ясно, что сам пинг фактически никогда не передается. Вместо этого мой ноутбук, по адресу "IntelCor_[MAC]", отправляет неотвеченный запрос ARP следующим образом:
Time Source Destination Protocol Length Info
[time] IntelCor_[MAC] Broadcast ARP 42 Who has 192.168.1.xxx? Tell 192.168.1.yyy
Следуя приведенному здесь предложению, я попытался использовать скрипт в /etc/network/if-up.d/, чтобы установить статическую запись ARP для принтера, следующим образом:
#!/bin/sh
arp -i wlp1s0 -s 192.168.1.xxx [MAC address] # HP printer
Это все еще иногда работает, но не всегда. Соединение может разорваться после подключения к сети, и перезапуск сети не обязательно исправит это. С этой статической ARP-записью неудавшийся запрос ping выглядит следующим образом:
Time Source Destination Protocol Length Info
[time] 192.168.1.yyy 192.168.1.xxx ICMP 98 Echo (ping) request...(no response found!)
Обратите внимание, что это внешне похоже на проблему с сетью, описанную здесь, но я думаю, что я уже устранил возможные программные причины, описанные в этой теме. Единственное, что я не сделал, это изменил физическое сетевое оборудование.
Любые предложения о возможных причинах или как устранить неполадки в дальнейшем?
======
Дополнительная информация:
Когда это не работает:
- Я не могу получить доступ к веб-интерфейсу принтера с моего ноутбука.
- Когда я пытаюсь распечатать, в окне свойств принтера Ubuntu появляется сообщение "Фильтр не выполнен".
- snmp, dnssd, lpinfo и avahi-browse не отображают информацию о принтере.
- Я все еще могу получить надежный доступ к принтеру с моего iPhone и компьютера с Windows через ту же сеть Wi-Fi.
Дополнительные примечания:
- Режим ожидания принтера отключен для тестирования.
- Брандмауэр iptables ноутбука отключен для тестирования.
- Брандмауэр принтера выключен.
- В списке контроля доступа принтера разрешены все подключения в локальной сети (192.168.xxx.0, маска подсети 255.255.255.0).
- Сеть Wi-Fi - это система Unifi с двумя точками беспроводного доступа, работающими под одним именем сети. DHCP-сервер включен, и в сети нет повторяющихся IP-адресов.
======
Ранее запрошенный вывод:
$ nmcli device
DEVICE TYPE STATE CONNECTION
wlp1s0 wifi connected [Network Name]
enp0s31f6 ethernet unavailable --
lo loopback unmanaged --
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether [MAC address of laptop's ethernet card] brd ff:ff:ff:ff:ff:ff
3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether [MAC address of laptop's wifi card] brd ff:ff:ff:ff:ff:ff
inet 192.168.1.99/24 brd 192.168.1.255 scope global dynamic wlp1s0
valid_lft 83676sec preferred_lft 83676sec
inet6 [IPv6 address]/64 scope link
valid_lft forever preferred_lft forever
$ sudo lshw -short -class network
H/W path Device Class Description
====================================================
/0/100/1c/0 wlp1s0 network Dual Band Wireless-AC 3165 Plus Bluetoo
/0/100/1f.6 enp0s31f6 network Ethernet Connection I219-V
$ rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Jan 10 2017 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
$ ls -l /run/resolvconf/resolv.conf
-rw-r--r-- 1 root root 196 Apr 17 10:56 /run/resolvconf/resolv.conf
Дополнительный запрошенный вывод:
$ nmcli device show wlp1s0 | grep IP4.DNS
IP4.DNS[1]: 192.168.1.1
IP4.DNS[2]: 1.1.1.1
IP4.DNS[3]: 1.0.0.1
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search [domain.tld]
Обратите внимание, что [domain.tld] - неразрешимое доменное имя, добавляемое ко всем именам хостов в локальной сети. Кроме того, FWIW, я всегда пингую и получаю доступ к веб-интерфейсу по IP-адресу, а не по имени хоста. Когда я не могу печатать, я даже не могу получить доступ к принтеру по IP-адресу с моего ноутбука.
Дополнительная запрашиваемая информация:
sudo grep -r -n "192.168.1.1" /run/resolvconf/ * ничего не возвращает.
В /run/resolvconf есть только три файла:
/run/resolvconf/ enable-updates: это пустой файл.
/run/resolvconf/resolv.conf: см. выше.
/ Запустить / Resolvconf/ интерфейс /NetworkManager:
search [domain.tld]
nameserver 127.0.1.1