作者文章

fwq

FWQ
服务器教程
Bind的安装与详细配置
BInd的官方网站:https://www.isc.org/downloads/ 官方文档:http://ftp.isc.org/isc/bind9/9.11.0-P3/doc/arm/Bv9ARM.pdf   一、源码安装 下载:bind-9.11.0-P3.tar.gz # tar xzf bind-9.11.0-P3.tar.gz # ./configure --prefix=/usr/local/named --enable-threads --enable-epoll --disable-openssl-version-check # ./configure --help,可以看到有很多的配置选项 # make # make install #为了命令方便 # vim /etc/profile export…
2024-11-19 阅读全文 →
FWQ
服务器教程
Bind中定义和使用访问控制列表(ACL)
ACL是Access Control List的缩写,即访问控制列表,就是一个被命名的地址匹配列表。使用访问控制列表可以使配置简单而清晰,一次定义之后可以在多处使用,不会使配置文件因为大量的 IP 地址而变得混乱。   定义 ACL 要定义访问控制列表,可以在 BIND 的主配置文件 /usr/local/named/etc/named.conf 中使用 acl 语句来实现。acl 语句的语法为: acl  acl_name { address_match_list; }; BIND 里默认预定义了 4 个名称的地址匹配列表,他们可以直接使用,分别为: any : 所有主机…
2024-11-19 阅读全文 →
FWQ
服务器教程
Bind中控制语句 controls 的定义和使用
在了解controls语句之前,需要先介绍 rndc,rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。   参考文章:BIND之rndc介绍及使用 controls 语句定义了系统管理员使用的,有关DNS服务器操作的控制通道。这些控制通道被rndc用来发送命令,并从域名服务器中检索非DNS的结果。 controls { [ inet ( ip_addr | *) [ port ip_port ] allow  { address_match_list } [ keys {key_list}…
2024-11-19 阅读全文 →
FWQ
服务器教程
Bind之rndc介绍及使用
rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。 使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。 rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用预共享密钥。在当前版本的rndc 和 named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。 一 、语法 Usage: rndc [-b address] [-c config] [-s server] [-p port] [-k key-file ] [-y key]…
2024-11-19 阅读全文 →
FWQ
服务器教程
Bind中日志logging的用法
在默认情况下,BIND把日志消息写到/var/log/messages文件中,而这些日志消息是非常少的,主要就是启动,关闭的日志记录和一些严重错误的消息,所以要详细记录服务器的运行状况,需要自己配置服务器的日志行为,也就是要在配置文件named.conf中使用logging语句来定制自己所需要的日志记录。   logging语句的语法为: logging { [ channel channel_name { ( file path_name [ versions ( number | unlimited) ] [ size size_spec ] | syslog syslog_facility | stderr…
2024-11-19 阅读全文 →
FWQ
服务器教程
Bind中的view语句定义和用法
view语句定义了视图功能。视图是BIND 9提供的强大的新功能,允许DNS服务器根据客户端的不同有区别地回答DNS查询,每个视图定义了一个被特定客户端子集见到的DNS名称空间。这个功能在一台主机上运行多个形式上独立的DNS服务器时特别有用。 view语句的用法: view view_name [class] { match-clients { address_match_list } ; match-destinations { address_match_list } ; match-recursive-only { yes_or_no } ; [ view_option; ...] [ zone_statement; ...]…
2024-11-19 阅读全文 →
FWQ
服务器教程
Bind 之recursion递归
一般客户机和服务器之间属递归查询,当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。主机向本地域名服务器的查询一般都是采用递归查询。默认情况下bind关闭了转发查询,但是递归查询是开启的。   一、配置参数 recursion 如果是yes,并且一个DNS询问要求递归,那么服务器将会做所有能够回答查询请求的工作。如果recursion是off的,并且服务器不知道答案,它将会返回一个推荐(referral)响应。默认值是yes。注意把recursion设为no,不会阻止用户从服务器的缓存中得到数据,它仅仅阻止新数据作为查询的结果被缓存。服务器的内部操作还是可以影响本地的缓存内容,如NOTIFY地址查询。 allow-recursion 设定哪台主机可以进行递归查询。如果没有设定,缺省是允许所有主机进行递归查询。注意禁止一台主机的递归查询,并不能阻止这台主机查询已经存在于服务器缓存中的数据。 recursive-clients 服务器同时为用户执行的递归查询的最大数量。默认值1000,因为每个递归用户使用许多位内存,一般为20KB,主机上的recursive-clients选项值必须根据实际内存大小调整。 二、配置格式 recursion yes | no; recursive-clients number; allow-recursion { address_match_list | any | none;}; 配置实例: recursion      yes; allow-recursion   {…
2024-11-19 阅读全文 →
FWQ
服务器教程
利用View特性来设置域名的多匹配查询
NS服务器最基本的任务就是响应域名的查询,返回该域名的地址数据.在DNS服务器中将一个 域名分成内部与外部做不同的View解析,可以提升安全性,以及分类应付不同区域的查询请求.   例如您的单位需要分成内部网和外部网,希望将同一个域名解析为不同的IP地址,以提高安全 防护的目的,或者应付不同业务的应用;又比如您需要将业务按地域来划分,打算在各个地区 分别设置各自的主机来处理访问请求(或者单机双线也适用),以图解决中国南北网(电信/网通) 互不相通所导致的速度差异之问题,希望将电信用户解释到由电信网络所提供的IP地址上,而 网通用户则解释到由网通网络所提供的IP地址上; 要实现将来自不同地域(用IP段来标识)的请求,自动引导到不同区域的主机,可以采用域名的 多解释方法来简单实现.在BIND9中有个新的view指令可以完成达到这个目的,方法就是设置 多个view段落来响应同一个域名的查询请求.只需要在每个view段落的match-clients项目中, 设置所需匹配的客户端IP段落,并且在每个段落中都设置该域名的区域数据,但不同的view则 指向不同的区域文件,然后在各自的区域文件中分别设置相应的区域内容,这样就可以达到按 请求者的IP段落来分别响应得出不同的查询结果了. 针对访问者不同的IP段,来解释主机域名的相应的IP地址,也可以轻易实现负载均衡或者化解 地区局限.举个例子来说,目前国内的网络因为种种原因,同外部网络的联机经常出现不稳定 的状况,造成从大陆内部无法访问外部,而外部也无法访问内部,尤其是导致电邮收发异常缓慢 甚至丢失反弹,非常令人头疼.而且很多时候造成这种不稳定的因素,还常常是源自于国家级 主干网络的非技术性故障,这就很难从主机供应商方面寻求解决问题的方案.如果要彻底解决 这个问题的话,那幺一个可能的方案就是按地域来划分业务.例如,分别在不同地区设置一台 主机(假设在北京设置一台主机,在广州设置一台主机,在香港设置另一台主机),然后就可设法 将大陆内部北方的客户引导到北京(网通)的主机,将南方的客户引导到广州(电信)的主机,而 将海外的客户则引导到香港的主机. BIND 9 DNS Views的配置示例 操作系统:Debian…
2024-11-19 阅读全文 →
FWQ
Docker教程
Bind中的zone语句的定义和用法
在了解Zone语句之前需要先了解view语句的用法,可参考文章下面的文章: Bind中的view语句定义和用法 [转]利用View特性来设置域名的多匹配查询 Bind 之recursion递归   zone 语句语法 zone zone_name [class] [{ type ( master | slave | hint | stub | forward ) ; [ allow-notify {…
2024-11-19 阅读全文 →
FWQ
Docker教程
Bind中的 options 语句定义和用法
options 语句设立可以被整个 BIND 使用的全局选项。这个语句在每个配置文件中只有一处。如果出现多个 options 语句,则第一个 options 的配置有效,并且会产生一个警告信息。如果没有 options 语句,每个选项择使用缺省值。   一、options 语句的语法: options { [ version version_string; ] [ directory path_name; ] [ named-xfer path_name; ] […
2024-11-19 阅读全文 →