我有以下配置:
2 个 Hyper-v 主机使用 Dell 1gb 交换机连接:
主机 1 虚拟机:
- 域控制器也作为 DNS 服务器(DC01,IP:10.2.2.5)
- 文件服务器(FS01,ip:10.2.2.6)
- 远程桌面会话主机(RDSH01,ip:10.2.2.7)
托管 2 个虚拟机:
- 远程桌面会话主机(RDSH02,ip:10.2.2.8)
主机有一个外部虚拟网络交换机,虚拟机使用单个 NIC
RDSH02 有一个映射到 FS01 的驱动器。
当我将文件从 RDSH02 传输到 FS01 时,通过戴尔交换机可以获得大约 1gb 的速度。
RDSH01 也有一个映射到 FS01 的驱动器。但是,对于这个,我想改用私有虚拟交换机,这样它就不会经过物理戴尔交换机(因为它们在同一台主机上)。
我在 host1 上添加了私有虚拟交换机,并在连接到此私有交换机的 FS01 和 RDSH01 上分配了网卡。我还在两个 VMS 上分别设置了 IP 192.168.0.2 和 192.168.0.3。
现在,使用前面提到的映射驱动器(映射到 \fs01\rdsh01 的 Z 驱动器),什么决定它选择哪个网络进行传输?
我的胡言乱语:
- 它进行 DNS 查找,发现 FS01 有 10.2.2.6,并选择该路由进行传输
- 不知何故,它知道它有一条“更好”的路线并选择了私人路线(192.168.0.2)
- 我需要更改两个虚拟机上的主机文件,以将 FS01 指向 RDSH01 上的 192.168.0.2(我真的不想这样做)
- 需要在 DNS 中为 fs01 添加额外的 IP,并以某种方式设置一些网络绑定顺序
基本上,我如何让它选择私人网络?
答案1
根据设计,当两个交换机均已启动并连接时,它将始终优先选择外部交换机而不是内部交换机。要强制仅使用内部交换机,您必须实施防火墙规则以阻止外部网络上的主机和虚拟机之间的通信。
我的解决方案发布在慈悲酒在线程的末尾
针对您的情况的调整应如下:
如果您通过 DNS 名称将 RDSH01 上的驱动器映射到 FS01 上的共享,并且仍希望使用该名称,则需要在 DNS 区域中为 FS01 的 DNS 名称创建静态 A 记录,指向其私有虚拟交换机接口 IP - 192.168.0.2,因为该接口无法在 DNS 中注册自身(当然,除非 FS01 本身是 DNS 服务器,并且您选择让私有接口参与 DNS 进程)。另一方面,您可以删除驱动器,并通过其私有接口的 IP(\192.168.0.2\sharename 而不是 \FS01)明确将其重新映射到 FS01。域名.域根目录\共享名)。
在虚拟机中,使用高级安全 Windows 防火墙 MMC 在下方创建自定义的基于端口的规则出站规则使用以下设置
- 协议类型:TCP
- 本地端口:任意
- 远程端口:特定端口 139、445
- 本地 IP 地址:10.2.2.7
- 远程 IP 地址:10.2.2.6
- 措施:阻止连接
- 个人资料:全部
- 姓名:正如你发现的描述性
创建第二个自定义的基于端口的规则,但这次在入境规则使用以下设置
- 协议类型:TCP
- 本地端口:特定端口 139、445
- 远程端口:任意
- 本地 IP 地址:10.2.2.7
- 远程 IP 地址:10.2.2.6
- 措施:阻止连接
- 个人资料:全部
- 姓名:正如你发现的描述性
您可能需要重新启动 Windows 防火墙服务才能使规则生效。通过在共享中复制一个大文件并从任务管理器中观察以确认所使用的是基于私有虚拟交换机的网络接口来测试它是否有效。
警告!!!如果断开或禁用其中任何一个的私有虚拟交换机接口,此解决方案将不允许故障转移。两个系统之间的所有基于 SMB 的流量将永久失败,直到规则被禁用。