DNS搜索域

Search Domain简介


Search Domain是一项用于简化DNS解析的配置,其用途一般如下

  • 简化域名输入

    当用户在浏览器中输入主机名而不是完全限定域名(FQDN: Fully qualified domain name)时,Search Domain可以帮助自动补全域名。
    例如,搜索域设置为eagledns.com,请求的域名为example时,系统会将其补全为example.eagledns.com;

。  对于具有多个内部域名的企业网络,设置搜索域会使得内部域名访问更为容易。用户只需输入主机名,而无需输入完整的内部域名
cat /etc/resolv.conf
options timeout:2 attempts:5
; generated by /usr/sbin/dhclient-script
search ap-east-1.compute.internal
nameserver 10.23.0.2

man resolv.conf

       search Search list for host-name lookup.
              The  search  list  is normally determined from the local domain name; by default, it contains only
              the local domain name.  This may be changed by listing the desired domain  search  path  following
              the  search  keyword with spaces or tabs separating the names.  Resolver queries having fewer than
              ndots dots (default is 1) in them will be attempted using each component of  the  search  path  in
              turn  until  a  match  is  found.   For  environments with multiple subdomains please read options
              ndots:n below to avoid man-in-the-middle attacks and unnecessary traffic for the root-dns-servers.
              Note  that  this process may be slow and will generate a lot of network traffic if the servers for
              the listed domains are not local, and that queries will time out if no server is available for one
              of the domains.

              The search list is currently limited to six domains with a total of 256 characters.


  假如设置的DNS服务器为 114.114.114.114, Search Domain 为 eagle1.dns.com, eagle2.dns.com。
当DNS请求www.baidu.com时

  • 首先向114.114.114.114发起DNS请求,name为 www.baidu.com。
      如果第一次请求超时,那么会继续尝试第二次;其他原因失败的话会直接返回。
  • 搜索过程
    由于我们设置了两个搜索域,那么首先向114.114.114.114发起www.baidu.com.eagle1.dns.com的DNS请求,如果两次尝试均失败;则继续发起www.baidu.com.eagle2.dns.com的DNS请求

整体的耗时是什么样子的,最差情况下
dns_server_counts * timeout * retry_count + search_domain_counts * dns_server_counts * timeout * retry_count
= (1 + search_domain_counts) * dns_server_counts * timeout * retry_count  

 

需求

(1)ping主机名能得到真实内网ip,通过主机名就能远程访问内网域控的pc;
(2)支持多搜索域,收购一家公司之后,两边的DNS搜索域不同,双方员工通过远程桌面都能访问内网域控的PC;
(3)对搜索域的应用实现访问策略的管控;
(4)精细化引流:
    比如客户搜索域是debug1.com,远程桌面的应用基本都是这种格式:zhangsan.debug1.com,如果要实现对这些应用的引流和管控,需要配置成泛域名*.debug1.com。
    然而搜索域配置成泛域名之后,所有子域名流量都会引流上来,但有些公网应用,比如官网www.debug1.com,客户不希望走PA引流。
(5)同一个搜索域的域控pc,分布在不同的分支结构,对应专线也不同,要想员工通过主机名就能访问不同区域的pc。所以vpn需要自动引流,也就是搜索域和撞线有映射关系,到对应专线去查找对应的ip
 
  客户配置了两个应用:it.debug.com 和 *.debug.com, 搜索域为 debug.com
当客户端访问内网应用 it.debug.com和主机应用 zhangsan.debug.com(搜索域应用),由于dns请求没有具体应用的端口信息,无法区分是搜索域应用还是具体的内网应用,都统一当做搜索域应用,客户端都会发起到云上的dns请求。
两个额外的影响:
(1)原本不需要提前做dns解析的内网应用it.glodon.com 也会去做解析,额外增加dns服务器的压力,虽然客户端tunnel有dns-cache的机制。
(2)内网无法dns解析的域名,举例 test.glodon.com,内网日志里面会出现一条审计日志,错误是DNS解析失败。
 
 

主机名、域名、FQDN
以百度(www.baidu.com)和百度贴吧(tieba.baidu.com)来举例。

  • 域名:不论是www.baidu.com还是tieba.baidu.com,它们的域名都是baidu.com,严格地说是"baidu.com."。这是百度所购买的com域下的一个子域名。
  • 主机名:对于www.baidu.com来说,主机名是www,对于tieba.baidu.com来说,主机名是tieba。其实严格来说,www.baidu.com和tieba.baidu.com才是主机名,它们都是baidu.com域下的主机。一个域下可以定义很多主机,只需配置好它的主机名和对应主机的IP地址即可。
  • FQDN:FQDN是Fully Qualified Domain Name的缩写,称为完全合格域名,是指包含了所有域的主机名,其中包括根域。FQDN可以说是主机名的一种完全表示形式,它从逻辑上准确地表示出主机在什么地方。例如www.baidu.com的FQDN是"www.baidu.com.",com后面还有个点,这是根域;tieba.baidu.com的FQDN是"tieba.baidu.com."。

 

 

posted @   codestacklinuxer  阅读(1250)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2022-12-29 netstat -st输出解析
2022-12-29 ip ss 网络相关命令
点击右上角即可分享
微信分享提示