AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 925901
Accepted
Grant
Grant
Asked: 2018-08-11 13:27:45 +0800 CST2018-08-11 13:27:45 +0800 CST 2018-08-11 13:27:45 +0800 CST

Windows 10 Always On VPN、Split DNS、NRPT,以及如何配置使用哪个 DNS 服务器?

  • 772

这是设置:

  • Windows 10 1803 客户端
  • 服务器 2012R2 RRAS 服务器
  • 按照这些说明设置 Always On VPN 设备隧道,使用拆分隧道。
  • Device VPN 仅具有到 1 个 DC/DNS 服务器和我们的配置管理器服务器的路由,因此可以对其进行管理,并且新用户可以在不在办公室时进行身份验证。当用户需要完全访问办公网络时,他们可以连接到一个单独的用户 VPN。这很好用,除了 DNS。
  • AD 域名为 example.local
  • 公共域名是example.com

问题:

  • 我们将拆分 DNS 用于我们的公共域名 - 因此 mail.example.com 在使用我们的内部 DNS 服务器时解析为一个内部 IP 地址,而我们来自外部世界的公共地址。
  • 我需要 VPN 客户端将其解析为公共地址。设备 VPN 不允许他们与 mail.example.com 的内部地址通信,因此他们无法获取电子邮件。
  • 我还希望(但不是必须拥有)其他位置的本地服务的 DNS 解析能够正常工作 - 例如。当我在 Other Corp 的办公室时,即使连接了 VPN,othercorp.local 的 DNS 也能正常工作。

我想要发生的事情:

  • 例如.local 的查询通过 VPN 到我们的内部 DNS 服务器
  • 其他所有内容,包括 example.com,都使用笔记本电脑所连接的 LAN/Wifi 连接提供的 DNS 服务器。
  • 另一个基于用户的 VPN(通过 VPN 路由所有流量)继续使用我们的内部 DNS 服务器处理一切。

我试过的:

  • 设置名称解析策略表规则,例如指向我们内部 DNS 服务器的 example.local。这似乎确实有效,例如查询 example.local 会通过 VPN...但其他所有内容也是如此。
  • 为 example.com 设置 NRPT 规则,使用空白的 DnsServers 字段,这应确保它们被排除在外。好像没有效果。
  • 使用 DnsServer 的公共解析器为 example.com 设置 NRPT 规则。这确实有效,但在远程位置中断,除了他们自己的 dns 解析器(我的用户前往的许多站点都这样做)之外,它会阻止任何东西,并且不能解决本地服务问题。
  • 在网络连接中的 VPN 连接上设置“使用以下 DNS 服务器地址”,并将其留空。没有效果,VPN 连接仍然设置为使用我们的内部服务器。
  • 设置“使用以下 DNS 服务器地址”,并放入像 8.8.8.8 这样的公共 DNS 服务器。连接后,我最终在该接口上拥有 3 个 DNS 服务器,我们的内部服务器位于顶部,8.8.8.8 位于列表底部。

我怀疑如果我可以让 VPN 根本不列出任何 DNS 服务器,那么 NRPT 规则就会启动,例如 example.local,一切都会正常工作。但我找不到让它不使用 RRAS 服务器提供的方法。

vpn
  • 5 5 个回答
  • 18222 Views

5 个回答

  • Voted
  1. Mike M
    2018-08-16T06:06:52+08:002018-08-16T06:06:52+08:00

    您可以尝试的一个潜在解决方法是建立一个 Server 2016 DNS 服务器并实施一个 DNS 策略来执行具有地理定位意识的拆分 dns。这将允许您告诉来自设备 VPN 子网的 DNS 查询使用外部 IP 而不是内部 IP。

    powershell 命令如下所示。

    设备 VPN 子网

    Add-DnsServerClientSubnet -Name "DeviceVPNSubnet" -IPv4Subnet "192.168.1.0/24"  
    

    设备 VPN 区域范围

    Add-DnsServerZoneScope -ZoneName "example.com" -Name "DeviceVPNZoneScope"  
    

    默认A记录(应该已经存在)

    Add-DnsServerResourceRecord -ZoneName "example.com" -A -Name "mail" -IPv4Address "192.168.0.5"
    

    设备 VPN A 记录

    Add-DnsServerResourceRecord -ZoneName "example.com" -A -Name "mail" -IPv4Address "203.0.113.5" -ZoneScope "DeviceVPNZoneScope" 
    

    设备 VPN 解析策略

    Add-DnsServerQueryResolutionPolicy -Name "Device VPN Policy" -Action ALLOW -ClientSubnet "eq,DeviceVPNSubnet" -ZoneScope "DeviceVPNZoneScope,1" -ZoneName "example.com"  
    

    请参阅:将 DNS 策略用于基于地理位置的流量管理与主服务器

    • 5
  2. David Eisen
    2018-08-13T21:10:14+08:002018-08-13T21:10:14+08:00

    只是一个想法,但也许设置一个连接脚本 .bat ,在连接到主机文件时添加邮件服务器的正确公共 IP 地址,然后在断开连接时将其从客户端的主机文件中删除?从理论上讲,我猜你总是可以将它放在主机文件中,然后他们甚至可以在办公室中从它的公共 IP 访问服务器。无论如何,这将覆盖来自 RRAS 服务器的任何 DNS。

    主机文件位于 C:\Windows\System32\Drivers\etc\hosts 。

    • 0
  3. Richard M. Hicks
    2018-08-14T19:40:06+08:002018-08-14T19:40:06+08:00

    您可以使用 ProfileXML 中的 DomainNameInformation 元素为任何命名空间定义内部 DNS 服务器。如果您使用的是拆分 DNS,在某些情况下,“内部”命名空间可能应该在外部路由,而不是通过 VPN 隧道。在这些情况下,您必须创建“排除”,它们本质上是定义为不使用内部 DNS 服务器的命名空间。为此,您不能简单地将 DnsServers 字段留空,而是将 DnsServers 完全排除在元素之外。

    您可以在此处找到更多信息:https ://directaccess.richardhicks.com/2018/04/23/always-on-vpn-and-the-name-resolution-policy-table-nrpt/

    希望有帮助!

    • 0
  4. Best Answer
    Grant
    2018-08-20T16:49:04+08:002018-08-20T16:49:04+08:00

    我想出了解决方案。

    将接口指标调整为比现有以太网/wifi 适配器更大的数字将使其更喜欢本地网络上的 DNS 服务器,但 NRPT 规则仍然可以通过 VPN 将我自己域的 DNS 查询发送到我的服务器。

    但是,无法在 powershell、VBscript、.NET 和 VPNv2 CSP 中调整 VPN 连接的接口指标。

    如果 VPN 已连接,则可以在 powershell 中使用 Set-NetIPInterface cmdlet 更改指标,但是当 VPN 未连接时,它根本不会显示在那里。并且那里的更改不会在重新启动后持续存在。

    更改它的唯一方法似乎是编辑C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk文件并将行更改IpInterfaceMetric为Ipv6InterfaceMetric更高的数字。我把它们都改成了100。

    之后,结合 NRPT 规则,DNS 将按需要工作——所有查询 example.local 都会发送到我的 AD DNS 服务器。其他任何内容(包括 example.com)都会发送到其本地网络的 DNS 服务器。

    • 0
  5. Michael Leeming
    2020-01-31T09:02:26+08:002020-01-31T09:02:26+08:00

    在所有接口上使用自动度量设置时,由于某种原因,LAN 以太网适配器的度量低于设备隧道接口,但 wifi 接口的度量高于设备隧道接口。

    因此,对于公共域区域的拆分 DNS,LAN 和 Wifi 连接的设备会发生以下情况。

    1. 使用 LAN 接口(电缆)的设备隧道客户端 - 使用本地配置的 DNS 服务器解析公共域记录

    2. 使用 WIFI 的设备隧道客户端 - 使用设备隧道接口上配置的 DNS 服务器解析公共域记录

    我觉得这很奇怪,并且我希望设备隧道在使用自动度量分配时总是具有最低的度量。最奇怪的部分是设备隧道接口度量设置为 LAN(电缆)和 WIFI 接口之间的数字。

    哪个是对的?我宁愿不为任何接口手动设置指标。

    这是使用拆分隧道 VPN 确认的,尚未使用强制隧道进行测试。如果出于某种原因我需要解析 VPN 连接之外的域,我希望所有 DNS,即使是拆分隧道也可以使用设备隧道配置的 DNS 服务器并使用 NRPT 设置进行解析。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 用 D-LINK DFL-CPG310 防火墙替换 Cisco Pix 防火墙

  • 最好的点对点 VPN?

  • WAN 上的 VLAN

  • 通过 VPN 连接什么是远程服务器 IP?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve