我有一台小型设备,带有两个以太网端口 (NIC),运行 Ubuntu 16.04。第一个以太网端口有一个静态 IP 地址(例如10.0.0.2
),第二个以太网端口有一个静态 IP 地址(例如10.0.0.3
),但连接到的打印机的 IP 地址与我设备的第一个以太网端口相同(10.0.0.2
在我们的示例中,它有 IP)。正如预期的那样,打印机无法通信,因为网络上有一个重复的 IP 地址。我的 Linux 设备不知道是将信息发送到自己的 NIC 还是两个打印机。
我的问题是:我可以根据设备名称控制网络通信吗?或者有没有其他方法可以解决这个问题,而不必更改端口 1 或打印机的 IP 地址?
答案1
不可以。如果您不想让事情变得过于复杂,就必须在网络上移动打印机。
要执行您想要的操作 - 正确地将您的“小型设备”放在打印机和网络之间 - 您应该在 NIC 1 上连接到主网络,并将 NIC 2 单独连接到打印机。打印机和 NIC 2 应该在另一个 IP 范围内,以便主网络上的设备无法直接连接到打印机。例如,打印机仅连接到 NIC 2:
网卡 1:10.0.0.3
网卡 2:192.168.1.100
打印机:192.168.1.101(掩码/24,网关网卡2的IP)
从那里,您可以让程序在 NIC 1 上监听,修改打印作业,然后通过 NIC 2 将其发送到打印机。将 NIC 2 放在不同的子网上可以带来额外的便利,即使系统自动选择 NIC 2 连接到打印机。