![WiFi 客户端计算机上的有线以太网设备,使用同一子网和同一池中的 IP](https://linux22.com/image/199225/WiFi%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8A%E7%9A%84%E6%9C%89%E7%BA%BF%E4%BB%A5%E5%A4%AA%E7%BD%91%E8%AE%BE%E5%A4%87%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%90%8C%E4%B8%80%E5%AD%90%E7%BD%91%E5%92%8C%E5%90%8C%E4%B8%80%E6%B1%A0%E4%B8%AD%E7%9A%84%20IP.png)
我正在开发一个具有无线连接客户端计算机的混合网络,通过接入点提供的 WLAN,由 CentOS Stream 9 驱动(安装请参阅在本文中)用于 iPad 的灵活多点 POS。
/编辑/网络应该只为一台服务器和几个客户端使用相同的硬件来构建。这是(链接:)技嘉 Brix BACE-3000(2 核 1.04GHz、8GB RAM、120GB SSD)(链接:)数据表,配备 GBit LAN Realtek RTL8111H,定制配备 Intel Wifi 6E ax210 ngff,混合 vPro 和非 vPro 版本。它是最实用的新型英特尔 WiFi 芯片之一。此卡的 Linux wifi 驱动程序是iwlwifi
,Intel 的硬件驱动程序是iwlwifi-ty-a0-gf-a0-59.ucode
。服务器和客户端都运行 CentOS Stream 9。服务器运行时安装了“无 GUI 的服务器”,带有 mySQL 和 python3.9,客户端是“最小化”安装的,仅带有 python3.9。
用于员工 POS 屏幕的 iPad 独立于上述无线连接到服务器的客户端 PC。
正在运行的单线客户端版本自 2014 年起就存在,现在程序本身和硬件架构需要彻底升级,特别是在电子现金系统的财政法律发生变化之后。
我的问题是关于将有线以太网打印机连接到每台无线客户端计算机的可能性。我不想通过 CUPS 安装本地打印机,我只想使用网络协议与打印机通信,而与它们的以太网或 WiFi 功能无关。这主要针对 EPSON 热敏收据打印机(如 TM88V(有线))以及 Zebra 标签打印机(如 TLP2824 Plus(有线)或其他打印机)。
我有一个无线子网,其 IP 地址范围为 ...99.200 到 ...99.250,我希望客户端连接的打印机成为该 IP 池的一部分。对于无线打印机没有问题,例如EPSON TM-m30(无线)。
每台(有线)打印机应该能够完全独立于它在哪台计算机上连接、在任何地方拔出和插入的事实进行寻址,并且无线打印机可以放置在客户想要的房间中的任何位置(最终更改) )生产过程中的需求。唯一的配置中心是一个基于网络的工具,其中打印机被分配到其任务,并结合其 IP 地址。整个程序从这个配置中获取其打印作业路由。
再次强调,强制性:我不想安装带有交换机的大型有线网络网络电缆仅在每台客户端计算机的附近区域接受,只是为了我的客户能够使用他们现有的硬件,例如有线以太网打印机,而不是购买所有新的无线设备。
如何实现这一目标?
我对网络不是很专业,请描述和评论可以理解。预先非常感谢。
答案1
我的问题是关于将有线以太网打印机连接到每台无线客户端计算机的可能性
这里的问题是“普通”WLAN 使用所谓的“三地址模式”,这阻碍了对此问题的简单解决方案。简单来说,每个 WLAN 数据包的三个 MAC 地址中,两个是源(接入点)地址,一个是目标(客户端)地址。这意味着另一个源可以通过 AP(使用第二个源地址),因此您可以将接入点连接在一起,但这不适用于客户端。
但许多WLAN硬件也支持“四地址模式”。缺点是这些模式不能混合。因此,您的接入点和所有客户端都需要支持它,并且您的 WLAN 中不能有任何其他不支持它的设备。
但是,如果您的客户端是 iPad,并且您想将打印机连接到 iPad,这可能会很困难 - 我不知道是否(以及如何)将 iPad 切换到四地址模式。
所以你想要的可能是不可能的。
我对网络不是很专业
这看起来像是一个专业的 POS 系统,那么为什么不寻求专业帮助呢?
不幸的是,四地址支持是特定于驱动程序的,但iwlwifi
似乎支持它。
这条线
valid interface combinations:
* #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
total <= 3, #channels <= 2
说您只能拥有一个带有此适配器的“客户端”(“托管”、“工作站”)设备,因此,如果您需要尝试,请确保您有一些在计算机上执行某些操作的替代方法(键盘/显示器,或通过 LAN 的 ssh),因为如果您进行更改,通过 WLAN 连接的 ssh 可能会失效。但你可能已经遇到过这个问题。
第一步是在您的接入点和 WLAN 中的所有设备上启用四地址模式。如果您手动启用此功能,网络管理器可能会干扰,因此您需要弄清楚如何在网络管理器中配置它,或者禁用管理(或完整的网络管理器)。
一旦工作正常,第二步是将以太网与无线接口桥接。同样,您可以使用类似的方法手动执行此操作
ip link add br0 type bridge
ip link set wlan0 master br0
ip link set eth0 master br0
ip link set br0 up
作为 root(以您的接口名称为模,以及网络管理器干扰)。您可能必须重新运行 DHCP 客户端,现在是在 br0 而不是 wlan0 上。
您也可以通过网络管理器、谷歌来完成此操作。
其结果应该是br0
获得分配的 IP 地址,并且 eth0 后面的任何内容(您可以使用另一台 PC 进行测试,或打印机)也可以通过 DHCP 获得 IP 地址。
一旦此功能生效,您可以进行一些微调:为 分配静态 MAC 地址br0
,并配置运行 DHCP 服务器(可能是您的接入点)的任何内容,以根据 MAC 地址跟踪或分配 DNS 名称和 IP 地址。dnsmasq
如果尚未使用,我建议您使用它。
这样您就应该能够通过 DNS 名称访问打印机,无论它们位于何处。
(实现此功能的另一个选择是使用基于广播的协议来访问打印机,其中打印机广播自己的名称,但这取决于您想要如何使用它们)。
正如您所看到的,有很多细节需要整理,这又取决于系统设置的细节。
当我向无线客户端 eth0 以及打印机手动提供固定 IP 时,我是否必须执行 4addr 操作
您需要四种地址模式才能桥接,并使您的打印机出现在 WLAN 上(在第2层)。从那时起接入点可以给出IP地址(第3层)到打印机,您将能够访问打印机,无论它们在哪里(这是您的要求之一)。
如果您不桥接,并且将 IP 地址分配给 MiniPC 上的 eth0,那么您需要路线。这意味着至少您的接入点(可能还有所有客户端)需要到所有设备的正确路由,并且当您移动打印机时,您将必须更新这些表(与上面的解决方案一样,它不是自动的)。此外,您至少需要了解如何正确规划和设置此类网络的基本知识,因此您为自己购买了更多的复杂性,而不是更少。
“所有打印机应该只出现在 WLAN 上”只有在第 2 层桥接时才有效,并且为此需要四种地址模式。