我正在尝试在 Windows Hyper-V 主机后面设置一个 Linux 服务器,以帮助提供一些服务(SSH、HTTPS 等)。然而,为反向 NAT(端口转发)配置 RRAS 却不是一件容易的事。
作为起点,我尝试将端口 22 (SSH) 转发到虚拟机。虚拟机位于公共接口上(即:它在与主机相同的网络上也有一个可见的 IP)。在 RRAS 管理控制台上,我尝试添加一条规则,方法是将“本地连接”添加到 NAT 池(公共接口 -> 启用 Nat),并为端口 22 -> :22 添加一条传入规则。我还尝试在 Windows 防火墙上启用相同的端口(或不启用)。
NAT 管理页面显示有“1 个映射”和“30+ 个已转换的出站数据包”。但是所有其他计数器(已转换的入站数据包和相应已拒绝的数据包)始终为零。
(我正尝试从外部机器访问服务器)。如果我提供虚拟机的公共 IP,但不提供主机的 IP,我可以直接访问该服务。
有没有办法在 RRAS 上启用此功能?
答案1
我认为Linux直接使用公共接口回复,而不是通过hyper-v。
您需要确保 Linux 默认网关是 hyper-v 主机。
我在 10 台 RRAS 服务器之间发布资源没有任何问题,即使在 Linux 机器上也是如此。
但是您需要对称路由。
如果 Linux 必须保持其直接 WAN 连接,那么您必须使用基于 IP 地址的路由,因为 RRAS 不会隐藏真正的远程 IP。