You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ISP环境下递归DNS服务器搭建的IP配置与公网访问问题咨询

ISP环境下递归DNS服务器搭建的IP配置与公网访问问题咨询

首先得明确你的用户群体和服务场景:从你给出的nslookup示例来看,你希望内网(比如你ISP的局域网用户)查询时看到私网IP 192.168.99.254,同时服务器显示为dns.maykochi.com;而如果需要公网用户访问你的DNS服务,还要对应到公网IP。下面分点解答你的问题:

1. 创建区域时该用公网IP还是私网IP?

这得分场景讨论:

  • 内网服务区域(给你的ISP内网用户用):如果是为内网用户提供递归DNS查询,或者解析内部服务/主机,创建区域时应该绑定私网IP 192.168.99.254。这样内网用户查询时,DNS返回的服务器地址是他们能直接访问的私网IP,刚好符合你想要的nslookup显示效果。
  • 公网权威区域(若需对外提供权威解析):如果你的DNS同时要作为权威DNS,对外提供maykochi.com或其他域名的解析服务,那创建区域时必须绑定公网IP(也就是你注册的ns1.maykochi.comdns.maykochi.com对应的公网IP),这样公网的递归DNS才能正常访问你的权威服务。

另外,你的递归DNS服务器本身建议同时监听私网IP和公网IP:私网IP对内提供服务,公网IP对外(如果需要开放公网递归服务的话)。

2. 用私网IP搭建的正向/反向区域,如何让公网通过dns.maykochi.com访问?

私网IP是无法直接被公网访问的,所以你必须做NAT地址转换,把dns.maykochi.com对应的公网IP 130.110.111.123映射到DNS服务器的私网IP 192.168.99.254上,具体操作步骤大概是这样:

  • 在你的边界路由器/防火墙配置DNAT规则:将公网IP 130.110.111.123的53端口(UDP和TCP都要配置,因为DNS会同时用到这两个端口)转发到内部的192.168.99.254:53
  • 确保DNS服务器监听私网IP 192.168.99.254的53端口,同时服务器防火墙允许内部和外部的DNS流量访问该端口。
  • 公网用户通过dns.maykochi.com查询时,请求会先到达公网IP 130.110.111.123,再通过NAT转换到你的私网DNS服务器,处理完成后原路返回结果。

这里要提醒一句:如果你的递归DNS只给内网用户使用,其实没必要开放公网访问;如果要对外提供递归服务,一定要做好安全防护——比如限制查询范围、启用DNSSEC、防止缓存投毒等,避免被恶意滥用。

补充:实现目标nslookup显示格式的小技巧

要让内网用户nslookup时显示Server: dns.maykochi.comAddress: 192.168.99.254,还需要做两个小配置:

  • 让内网用户的DNS客户端把192.168.99.254设为首选DNS服务器;
  • 在你的内网DNS区域里添加一条A记录:dns.maykochi.com IN A 192.168.99.254,这样内网用户查询dns.maykochi.com时会得到私网IP,nslookup就会显示你想要的格式。而公网用户查询dns.maykochi.com时,会通过公网DNS解析到你的公网IP 130.110.111.123

备注:内容来源于stack exchange,提问作者maykochi

火山引擎 最新活动