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 / 问题 / 1051133
Accepted
Jovan Perovic
Jovan Perovic
Asked: 2021-01-26 08:18:48 +0800 CST2021-01-26 08:18:48 +0800 CST 2021-01-26 08:18:48 +0800 CST

将域解析转发到 AWS 的域名服务器

  • 772

我正在尝试配置本地bindDNS 服务器以通过 AWS Route 53 解析域。

到目前为止,我已经在 Route 53 中创建了一个托管区域,为此我拥有了名称服务器:

ns-1474.awsdns-56.org.
ns-189.awsdns-23.com.
ns-2002.awsdns-58.co.uk.
ns-892.awsdns-47.net.

现在是棘手的部分。在我的本地机器上,我已经安装bind并创建了一个应该将其转发到 AWS 的区域文件,但它没有。

(免责声明,我已将真实域名替换为ha-test.com)

;
; BIND data file for ha-test.com
;
$TTL    604800
@   IN  SOA  ha-test.com. root.ha-test.com. (
                 10     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;

;ha-test.com.   IN    A     192.168.1.100

ha-test.com.    IN    NS    ns-1474.awsdns-56.org.
ha-test.com.    IN    NS    ns-189.awsdns-23.com.
ha-test.com.    IN    NS    ns-2002.awsdns-58.co.uk.
ha-test.com.    IN    NS    ns-892.awsdns-47.net.

如果我取消注释A,它确实将域解析为 IP,否则,它不起作用。

我希望将 NS 设置为上述那些足以bind转发到 DNS,但显然,我错了。

这是的输出dig:

dig @127.0.0.1 ha-test.com

; <<>> DiG 9.16.1-Ubuntu <<>> @127.0.0.1 ha-test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60486
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 99e2f6f74458640b01000000600eed92f545a3c7ada5b428 (good)
;; QUESTION SECTION:
;ha-test.com.   IN  A

;; AUTHORITY SECTION:
ha-test.com. 604800 IN  SOA ha-test.com. root.ha-test.com. 10 604800 86400 2419200 604800

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: пон јан 25 17:10:58 CET 2021
;; MSG SIZE  rcvd: 121

如果我做

dig @ns-1474.awsdns-56.org ha-test.com

它可以正确解决。

更新

设法解决它,但我不确定这是否是正确的方法:

在named.conf.local中,我有一个这样的区域:

zone "ha-test.com" IN {
  type master;
  file "/etc/bind/zones/ha-test.com";
};

将其替换为转发区域后:

zone "ha-test.com" {
 type forward;
 forwarders { 205.251.194.241; };
};

上面的IP是我得到的IP ns-1474.awsdns-56.org。我可以从所有 NS 中放置多个 IP,但这似乎有点不对劲。不是吗?

bind amazon-route53 dns-zone
  • 1 1 个回答
  • 568 Views

1 个回答

  • Voted
  1. Best Answer
    Nick
    2021-02-02T02:04:55+08:002021-02-02T02:04:55+08:00

    通过查看这些片段,我假设您已经配置了一个私有托管区域(您有一个用于尝试解析的服务器的私有 IP)并且您已经在本地绑定和 AWS(VPN 或 Direct Connect)之间建立了一些网络连接。

    基本上,您在更新后处于正确的轨道上。您需要将 BIND 配置为相关托管区域的转发器。如果托管区域与服务器所在的 VPC 相关联,并且如果您有适当的连接,则可以直接转发到 VPC DNS 服务器,它的地址通常是 VPC CIDR 范围的第二个 IP(例如 192.168.0.2)

    在这种情况下,您将请求直接转发到 AWS。

    一个稍微不同的版本,这在一段时间内很常见,即在同一 VPC 中运行一个 EC2 实例,该 VPC 充当 Route53 的转发器,然后在您的本地计算机上将 EC2 实例的 IP 配置为您的 DNS服务器,实际上与您所做的相同,不同之处在于 BIND 在 VPC 内的 EC2 实例上运行。

    现在,AWS 推荐的方法是使用所谓的 Route 53 Resolver 和入站端点。应该满足上述相同的先决条件 - 您需要在本地和 AWS 之间建立互联网连接,并且您的 VPC 应该与您的托管区域相关联。这里的不同之处在于,您现在不必运行需要保护和管理的专用 EC2 实例,而是拥有 AWS 服务为您执行此操作。除此之外,您还可以获得一些弹性和 HA,因为您可以在多个子网 (AZ) 中设置 Route53 解析器。除此之外,您还可以创建一个出站端点,这将使您能够将来自 AWS 的请求转发到本地 DNS 服务器,从而以相反的方式解析 DNS 查询)。您可以在文档中阅读有关 Route53 解析器的更多信息。

    • 1

相关问题

  • 配置仅在短时间内缓存的本地 DNS 解析器

  • BIND 服务器无法解析 us3.php.net!

  • DNS - 有什么方法可以强制名称服务器更新域的记录?

  • BIND/Named:禁用递归,客户端使用替代服务器

  • DR 站点中 Windows 域的 BIND

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