我有一台服务器和一台客户端 PC 直接连接到同一个桌面交换机。但我也想在它们之间放置一个专用的单独高速链路。目的是将它们连接到 1G 的互联网和 LAN,但 PC 和服务器之间的流量为 10G:
如果相关,PC 在华硕工作站板上运行 Windows 10,服务器在 Supermicro 板上运行 FreeBSD 12。两者都具有 Intel 1G 和 Chelsio 10G NIC,并且两个基板都具有功能齐全的工作站/服务器固件。目前两者都在同一个局域网范围的子网中。
我的问题:
- 配置 PC 和服务器网络的更正确或更容易实现的方法是什么,以便循环不会导致网络问题?意思是,PC 和服务器之间的流量只能通过 10G 链路,而进出任何其他设备的流量永远不能通过 10G 链路?
(因此,如果我断开 PC 和交换机之间的线路,PC 仍不会通过服务器通过环路连接到其他 LAN 设备)
- 如果将来我将交换机升级为可以处理访问控制的完全托管交换机,例如 Netgear ProSAFE,或者我开始在其上使用 VLAN,“正确答案”会改变吗?
更新
由于评论越来越长,这是对他们所揭示的一些问题的总结,这使得这个问题变得困难。
主要问题是网络是基于 DNS 的。这很重要,因为 IP 地址不会显示在 Windows 文件资源管理器中,只有发现的主机名才会显示。IP 地址可用于 SMB 文件服务器及其共享,但每次访问文件共享时都必须手动输入,不幸的是,许多程序没有输入手动路径的范围,它希望所有可浏览的设备将出现在填充的文件资源管理器导航树中,或从已发现设备列表中的一个下降。因此,为服务器使用 10G IP 并不是一个可靠可行的解决方案。
(发现可能是来自 PAC 的 DNS 或 WS-discovery,以及来自其他一些设备的 DNS/WS-Discovery/mDNS-bonhour。SMBv1/NetBIOS/WINS 都被禁用 - 感谢@user1686 注意到这一点)
服务器有 2 个未桥接的 NIC,其中一个与 DNS 服务器没有链接并且是直接点对点的,这可能意味着它的 IP 需要不同。(并且 10G IP 需要是静态的,因为该链接/子网上没有 DHCP)。
我还怀疑如果它不使用 DNS,我必须单独阻止通过 1G 链接的发现,或者将发现配置为使用 DNS 而没有其他方法 - 从内存中可以配置 Windows 启用哪些发现方法以及尝试它们的顺序在,并仅指定 DNS?再次感谢@user1686
从答案中,我想我可能看到了 3 种可能的解决方案。哪个更正确,或者它们都是有效的?
可能的解决方案1?
到目前为止,我从答案中得到的是,如果10G 在不同的子网中并且PC 主机文件被手动破解以覆盖 DNS 并使用 10G IP 作为服务器并设置路由或防火墙以确保服务器 1G IP无法从 PC 访问,这听起来像是可以工作的。
但它非常笨拙,感觉就像一个“黑客工作”。在个别机器上设置了太多的手动覆盖。我不知道这是否“正常”。
可能的解决方案2?
另一个选项依赖于在 上运行的本地 DNS Unbound
,它(如BIND
)支持视图。这意味着可以将 DNS 服务器配置为在查找时将服务器的常用 IP 提供给所有设备,但服务器将 10G IP 提供给 PC(仅)。我不确定这是否足够 - 是吗?
如果是,那么解决方案可能是:LAN子网10.0.0.0/8,DNS分配的服务器1G IP说10.0.0.1服务器10G静态10.0.0.2,然后使用DNS将服务器的1G IP提供给除PC,但将服务器的 10G IP + PC 的 10G NIC 作为其第一跳/网关返回给 PC。
天真的结果是:1G 和 10G IP 在同一个子网上,因此 PC 认为服务器在正确的子网上。但是 10G IP 对所有其他设备是不可见的,1G IP 可见但被 PC 忽略,因此不会产生冲突。所以它几乎都是在 DNS 中完成的。
这可行吗?
可能的解决方案 3
与上述 (2) 相同的 IP,但配置 DNS 以将两个IP 返回给所有设备。非 PC LAN 设备将无法找到 10.0.0.2 并最终确定 10.0.0.1 是使用的 IP。PC 受到防火墙保护,因此它将所有数据包丢弃到 10.0.0.1,从而确定 10.0.0.2 是唯一有效的 IP(它可能需要第一跳提示)。因此,它再次在 DNS 中完成,禁止防火墙条目阻止 1G 循环。
还可以用吗?