1.DNS服务器的设置
一、DNS概述
计算机在网络上通讯时只能识别如“192.168.0.48”之类的数字地址,那为什么当我们打开浏览器,在地址栏中输入如“www.abc.com”的域名后,就能看到我们所需要的页面呢?这是在我们输入域名后,有一种“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出那个IP地址所对应的网页,最后再传回给我们的浏览器,我们才能得到结果。
DNS是域名系统 (Domain Name System)的缩写,是一种组织成域层次结构的计算机和网络服务命名系统。DNS 命名用于TCP/IP网络,如Internet,用来通过用户友好的名称定位计算机和服务。当用户在应用程序中输入DNS 名称时,DNS服务可以将此名称解析为与此名称相关的其他信息,如IP地址。
所以,我们想要我们自己内部网上的域名能成功地被解析(即翻译成IP地址),就需要将我们自己的2K机建立成一个DNS服务器,里面包含有我们的域名和IP地址之间的映射表。这通常需要建立一种A记录,A是Address的简写,意为“主机记录”或“主机地址记录”,是所有DNS记录中最常见的一种。
二、DNS的设置
1、打开DNS控制台:选“开始菜单→程序→管理工具→DNS”。
2、建立域名“admin.abc.com”映射IP地址“192.168.0.50”的主机记录。
①建立“com”区域:选“DNS→WY(你的服务器名)→正向搜索区域→右键→新建区域”,然后根据提示选“标准主要区域”、在“名称”处输入“com”。如下图:
②建立“abc”域:选“com→右键→新建域”,在“键入新域名”处输入“abc”。
③建立“admin”主机。选“abc→右键→新建主机”,“名称”处为“admin”,“IP地址”处输入“192.168.0.50”,再按“添加主机”。
3、建立域名“www.abc.com”映射IP地址“192.168.0.48”的主机记录。
①由于域名“www.abc.com”和域名“admin.abc.com”均位于同一个“区域”和“域”中,均在上步已建立好,因此应直接使用,只需再在“域”中添加相应“主机名”即可。
②建立“www”主机:选“abc→右键→新建主机”,在“名称”处输入“www”,“IP地址”处输入“192.168.0.48”,最后再“添加主机”即可。
4、建立域名“ftp.abc.com”映射IP地址“192.168.0.49”的主机记录方法同上。
5、建立域名“abc.com”映射IP地址“192.168.0.48”的主机记录方法也和上述相同,只是必须保持“名称”一项为空!建立好后它的“名称”处将显示“与父文件夹相同”。建立好的DNS控制台如下图所示:
6、建立更多的主机记录或其他各种记录方法类似。更多的建立后如下图所示:
7、建立时也有可以采用将“abc.com”整个作为“区域”,然后在它下面直接建立“主机”的作法。不过对于同类记录较多时,这种方法显得较为不便。
三、DNS设置后的验证
为了测试所进行的设置是否成功,通常采用2K自带的“ping”命令来完成。格式如“ping www.abc.com”。成功的测试如下图所示:
第三节 DHCP服务器的设置
一、DHCP概述
DHCP是动态主机配置协议(Dynamic Host Configure Protocol)的缩写。一台DHCP服务器可以让管理员集中指派和指定全局的和子网特有的TCP/IP参数(含IP地址、网关、DNS服务器等)供整个网络使用。客户机不需要手动配置TCP/IP;并且,当客户机断开与服务器的连接后,旧的IP地址将被释放以便重用,根据这个特性,比如你只拥有20个合法的IP地址,而你管理的机器有50台,只要这50台机器同时使用服务器DHCP服务的不超过20台,则你就不会产生IP地址资源不足的情况。
如果已配置冲突检测设置,则 DHCP 服务器在将租约中的地址提供给客户机之前会试用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非 DHCP 计算机使用。
二、DHCP的设置
1、打开DHCP管理器。选“开始菜单→程序→管理工具→DHCP”,默认的,里面已经有了你的服务器的FQDN( Fully Qualified Domain Name,完全合格域名),比如“wy.wangyi.santai.com.cn”。如下图:
2、如果列表中还没有任何服务器,则需添加DHCP服务器。选“DHCP→右键→添加服务器”,选“此服务器”,再按“浏览”选择(或直接输入)服务器名“wy”(即你的服务器的名字)。
3、打开作用域的设置窗口。先选中FQDN名字,再按“右键→新建作用域”。
4、设置作用域名。此地的“名称”项只是作提示用,可填任意内容。如下图:
5、设置可分配的IP地址范围:比如可分配“192.168.0.10~192.168.0.244”,则在“起始IP地址”项填写“192.168.0.10”,“结束IP地址”项填写“192.168.0.244;“子网掩码”项为“255.255.255.0”。如下图:
6、如果有必要,可在下面的选项中输入欲保留的IP地址或IP地址范围;否则直接单击“下一步”。如下图:
7、下面的“租约期限”可设定DHCP服务器所分配的IP地址的有效期,比如设一年(即365天)。如下图:
8、选“是,我想配置这些选项”以继续配置分配给工作站的默认的网关、默认的DNS服务地址、默认的WINS服务器,在所有有IP地址的栏目均输入并“添加”服务器的IP地址“192.168.0.48”后再根据提示选“是,我想激活作用域”再点击“完成”即可结束最后设置。建好后如下图所示:
三、DHCP设置后的验证
将任何一台本网内的工作站的网络属性中设置成“自动获得IP地址”,并让DNS服务器设为“禁用”,网关栏保持为空(即无内容),重新启动成功后,运行“winincfg”(win98中)即可看到各项已分配成功!
在CoreDNS有及部分可以配置。
首先,确定哪些插件被编译进CoreDNS。我们提供的编译后的二进制可执行包 (binaries)已经包含了所有的插件,列在 plugin.cfg 。增加和删除都很 easy ,但是需要对CoreDNS重新编译。
大多数用户使用文件 Corefile 来配置 CoreDNS。当 CoreDNS 启动的时候,如果 -conf flag 没有被配置,就会在当前目录查找 Corefile 文件。
文件包含了一个或者多个服务器块 (Server Blocks)。每个服务器块列出了一个或多个插件。那些插件也可以在后面使用指令配置。
在Corefile 文件中,插件的顺序不决定插件链的顺序。 插件执行的顺序,配置在文件 plugin.cfg 中。
Corefile 文件的备注以 # 开头。行的其他部分会被识别为备注。
CoreDNS 在配置中支持环境变量。
环境变量可以被使用在任何地方。语法是 {$ENV_VAR} ( Windows-类型的语法 {%ENV_VAR%} 也是支持的)。CoreDNS 会在解析Corefile的时候替换这些变量内容。
参考 import plugin。
这个插件有些特殊,可以被用在Corefile的任何地方。
一个很特殊的可导入文件是 snippet 。一个 snippet 通过命名一个块(block)的特殊语法来定义。名字需要被放到圆括号内: (name) 。然后,它就可以随着导入插件放置到配置文件的任何地方了。
每个服务器块(Server Block)以server应该伺候的zones开头。在zone名字或者zone列表名(以空格分隔)之后,一个服务器块以大括号作为开头和结束。
如下的服务器块定义了一个 server,负责root zone: . 下所有的zones; 基本上,这个 server 应该处理所有的查询:
服务器块(Server blocks)还可以指定监听端口。默认端口是 53 (DNS 服务标准端口)。指定端口,以冒号作为分隔符在zone后列出端口号。
如下的 Corefile 指示 CoreDNS 创建一个 Server , 监控端口 1053:
给服务器块定义一个zone,但是这个zone已经被配置到一台服务器上,并且已经运行了,运行在同一个端口。Corefile 会在启动的时候报错:
变更第二个端口为 1055 可以让这两个服务器块变成两个不同的服务器。
当前 CoreDNS 接受4种协议: DNS, DNS over TLS (DoT), DNS over HTTP/2 (DoH)
and DNS over gRPC。可以通过在服务器配置文件,在zone 前加个前缀来指定服务器接收哪种协议。
每个服务器块都定义了一系列插件。最简单的方式,就是在服务器块内添加插件的名字:
插件 chaos 让 CoreDNS 以 CH class 应答查询 - 在确认服务器的时候很有用。通过如上配置,CoreDNS 会在收到请求后,应答它的版本:
大多数插件允许以指令提供更多配置。比如 chaos 插件,我们可以在语法内定义 VERSION 和 AUTHORS :
这样,这就给 chaos 插件增加了指令,让 CoreDNS 以 CoreDNS-001 的格式答复版本:
其他插件有更多配置,使用插件块(Plugin Block),跟服务器块一样,以大括号作为开头和结束:
我们将其全部融合起来,就生成下面的 Corefile,设置 4 zones 运行与2个不同的端口:
当CoreDNS解析配置文件的时候,就会是如下的 Setups:
扩展插件就是CoreDNS默认没有包含的插件。你可以开启扩展插件,但是你得自己编译CoreDNS。
插件 health 的文档声明 "This plugin only needs to be enabled once",这可能导致你认为如下是一个符合规定的Corefile:
但是,这不能工作,并且导致一些 简短的报错:
为什么呢? health 被看作一个 zone (and the start of a Server Block)。解析希望看到插件名字 ( cache , etcd , etc.),但是下一个标识是 . ,这不是插件。
正确的 Corefile 如下:
插件 health 文档里面的那段话,意思是一旦 health 被定义,它对整个CoreDNS 进程来说就是全局的,哪怕你是在一个server中定义它。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)