当我未连接到 VPN 时,我可以通过 LAN 打印到我的 HP 打印机。连接到 VPN 时,打印失败。
OpenVPN 2.1.0 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 12 2010
连接到 VPN 时我可以 ping 打印机:
$ ping 192.168.100.12
PING 192.168.100.12 (192.168.100.12) 56(84) bytes of data.
64 bytes from 192.168.100.12: icmp_req=1 ttl=255 time=9.17 ms
--- 192.168.100.12 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss...
$ ping HpPrinter.local
PING HpPrinter.local (192.168.100.12) 56(84) bytes of data.
64 bytes from HpPrinter.local (192.168.100.12): icmp_req=1 ttl=255 time=0.383 ms
--- HpPrinter.local ping statistics ---
4 packets transmitted, 4 received, 0% packet loss...
但是当我尝试连接到 VPN 进行打印时出现以下错误:
hpijs[9990]: io/hpmud/jd.c 784: mdns lookup HpPrinter.local retry 1...
...
hpijs[9990]: io/hpmud/jd.c 784: mdns lookup HpPrinter.local retry 20...
hpijs[9990]: io/hpmud/jd.c 780: error timeout mdns lookup HpPrinter.local
hpijs[9990]: io/hpmud/jd.c 88: unable to read device-id
hp[9982]: io/hpmud/jd.c 784: mdns lookup HpPrinter.local retry 1...
...
hp[9982]: io/hpmud/jd.c 784: mdns lookup HpPrinter.local retry 20...
hp[9982]: io/hpmud/jd.c 780: error timeout mdns lookup HpPrinter.local
hp[9982]: io/hpmud/jd.c 88: unable to read device-id
hp[9982]: prnt/backend/hp.c 745: ERROR: open device failed stat=12: hp:/net/Officejet_Pro_L7600?zc=HpPrinter
我正在运行 iptables 规则,但问题似乎与防火墙无关。我测试过没有规则(即没有防火墙)。当 VPN 连接时会发生打印问题。我猜这是一个 mdns 问题,但在 google 上搜索 mdns 并没有找到任何与此相关的内容(就我的知识水平而言)。有什么建议吗?
答案1
我有点倒霉……我一直在寻找“正确”的解决方案(并试图了解更多导致问题的原因),然后出于某种原因,我突然想到尝试系统 > 管理 > 打印。GUI 显示我的打印机位于:
原始位置:hp:/net/Officejet_Pro_L7600?zc=HpPrinter
我使用 GUI 向导再次查找打印机,这次使用的是 VPN。它找到了这个位置:dnssd://Officejet%20Pro%20L7600%20%5B32C801%5D._pdl-datastream._tcp.local/
现在,通过 VPN 即可进行打印。
为什么???我真的很想知道这一切意味着什么,以及 mdns 的安全隐患是什么。如果有人想添加任何评论,我将不胜感激。
答案2
在我的 Anyconnect 客户端中,我可以点击齿轮图标来编辑“设置”,然后选择“使用 VPN 时允许本地 (LAN) 访问(如果已配置)”。当我选中该框并重新连接到 VPN 时,我可以访问我的(本地)网络打印机和其他资源。