Linux
有故障的列印機不響應 ARP 請求。如何從 Linux 路由器欺騙它?
我有這台愚蠢的列印機,它只會偶爾回復一次 ARP(相對很少,有時必須等待 5 分鐘才能建立連接)。但是,當我將其 MAC 手動添加到客戶端電腦上的 ARP 表時,它執行良好(立即響應 ICMP ping、列印等)。
一種解決方案可能是將其靜態添加到
/etc/ethers
每台客戶端電腦上。但這可能是錯誤的,因為未來新機器將無法了解它。該本地網路由 Linux 路由器執行。
另一個解決方案是讓該路由器(10.77.4.1) 響應針對該列印機 (10.77.4.5) 的 ARP 請求。我閱讀了一些手冊,並認為在那個 Linux 路由器上執行此操作就足夠了:
$ sudo arp -i wlan0 -s 10.77.4.5 f4:81:39:86:73:cb pub
…即添加手冊(永久)和已發布條目,但事實證明
pub
,在快速Google™’ing 之後,該功能從未起作用?…我也想過使用
arping
或arpoison
廣播這台列印機的地址,但他們必須不斷地這樣做(比如每一秒),才能使東西可靠地工作。如果路由器只響應請求會更好。我怎樣才能讓它做到這一點?
這是它的外觀:
# arping 10.77.4.5 ARPING 10.77.4.5 Timeout Timeout Timeout Timeout Timeout Timeout 42 bytes from f4:81:39:86:73:cb (10.77.4.5): index=0 time=250.435 msec Timeout Timeout Timeout Timeout Timeout Timeout Timeout Timeout Timeout Timeout Timeout Timeout
……在引擎蓋下:
# tcpdump -i wlp8s0 -v arp tcpdump: listening on wlp8s0, link-type EN10MB (Ethernet), capture size 262144 bytes 21:34:44.877417 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:45.878547 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:46.879713 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:47.880887 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:48.882064 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:49.883216 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:50.884338 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:51.134742 ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.77.4.5 is-at f4:81:39:86:73:cb (oui Unknown), length 28 21:34:51.928209 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:52.886242 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:53.886689 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:54.887869 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:55.889023 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:56.890206 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:57.891361 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:58.892543 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:34:59.893485 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:35:00.894657 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:35:01.895783 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:35:02.896968 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:35:03.898118 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44 21:35:04.899301 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.77.4.5 tell 10.77.4.100, length 44
我會以此為藉口設置 CUPS 伺服器,因為如果將來需要更換管理員或網路需要重構。
您不僅可以通過這種方式整合您的列印管理平面,還可以使用 CUPS 作為中央伺服器進行定址,讓您可以將任何 ARP 修復集中在單個伺服器上。可以使用來自 CUPS 的 IPP 或 IPPS 連接來表示使用各種連接類型的列印機,從而使客戶端連接管理更加容易。
我不確定這是否是您在此環境中唯一的列印機,但即使是 CUPS 仍然是解決問題的好方法。可以在此處找到有關安裝的一些詳細資訊: