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 / 问题 / 124672
Accepted
Mikeage
Mikeage
Asked: 2010-03-21 23:35:22 +0800 CST2010-03-21 23:35:22 +0800 CST 2010-03-21 23:35:22 +0800 CST

解析两个断开连接的专用网络的 DNS 查询

  • 772

我正在尝试设置两台 PC(一台 Windows,一台 Linux,但我的理解是这个问题更多的是 DNS 和更少的操作系统),如下所示:

Home network: 192.168.1.0/24
VPN (via OpenVPN server not within the home network): 192.168.2.0/24 .

我希望两个网络上的 PC 能够访问三种不同类型的站点:

  1. 互联网地址
  2. 家庭网络上的地址
  3. vpn上的地址

但是,我不确定如何/使用哪些 DNS 服务器。如果我优先考虑我的家庭 DNS 服务器,我可以解决 (1) 和 (2),但不能解决 (3)。如果我优先考虑我的 VPN DNS 服务器,我无法解析类型 (2) 的地址。当然,通过 nslookup 查找地址并明确设置正确的服务器是可行的,所以我知道我的本地 DNS 服务器是可以的。

如果找不到地址 (NXDOMAIN),有什么方法可以将我的 PC 设置为回退到第二个 DNS 服务器上?或者,有什么方法可以告诉不同的查询去不同的服务器[也许通过设置不同的子域;foo.local.something 与 bar.vpn.something]?

谢谢

windows linux domain-name-system networking
  • 3 3 个回答
  • 676 Views

3 个回答

  • Voted
  1. Best Answer
    Zoredache
    2010-03-22T00:49:31+08:002010-03-22T00:49:31+08:00

    我没有使用过这个,但我相信最有可能满足您在 Linux 机器上的需求的工具是dnsmasq。

    可以设置 DNS 掩码以将其请求转发到上游。同时它还可以提供在本地 /etc/hosts 文件中定义的名称。您可以使用该--server选项将请求转发到您定义的域的特定 DNS 服务器。

    -S, --local, --server=[/[]/[domain/]][[#][@|[#]]
    直接指定上游服务器的IP地址。设置此标志不会禁止读取 /etc/resolv.conf,请使用 -R 来执行此操作。如果给定一个或多个可选域,则该服务器仅用于这些域,并且仅使用指定的服务器查询它们。这适用于私有名称服务器:如果您的网络上有一个名称服务器,它在 192.168.1.1 处理 xxx.internal.thekelleys.org.uk 形式的名称,然后给出标志 -S /internal.thekelleys.org.uk/ 192.168.1.1 会将内部机器的所有查询发送到该名称服务器,其他一切都将发送到 /etc/resolv.conf 中的服务器。

    我不确定如何在您的 Windows 计算机上解决此问题。如果您无法想出替代方案来避免该问题,您可以从 Linux 计算机连接到 openvpn 服务器,然后在客户端的 tun* 接口上设置路由 NAT 并启用 ip 转发。调整所有其他系统上的路由和 DNS 设置,以指向具有 OpenVPN 连接的 Linux 框。这将有效地使您的 Linux 机器成为一个网关,可以根据需要通过 VPN 引导流量。

    • 3
  2. Dan Andreatta
    2010-03-23T03:39:52+08:002010-03-23T03:39:52+08:00

    您可以设置 2 台 DNS 服务器,一台用于家庭网络,一台用于 VPN。您可以让一个主服务器和另一个从服务器,并在两者之间进行复制(两侧有两个 DNS 可以保证如果 VPN 出现故障,双方仍然可以拥有 DNS)这些服务器也可以是网络的递归器.

    如果你想使用dnsmasq,它也可以是一个有点权威的服务器。在路由器上添加您想要的名称/etc/hosts,并使文件与 VPN 路由器保持同步。

    • 1
  3. Chopper3
    2010-03-22T00:07:35+08:002010-03-22T00:07:35+08:00

    我根本不知道openvpn,但是对于Cisco VPN客户端,有一个叫做'split-dns'的东西,上面写着“如果有人在whatever.company-I'm-VPNing-into.com上寻找东西,那么从DNS获取它的IP通过 VPN 提供的服务器,否则请使用通过互联网和/或家庭用品的常规服务器”。我认为这听起来像你想要的。

    编辑 -这里是一个使用 openvpn 做这件事的人的链接。

    • 0

相关问题

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

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

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

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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