本文共 2684 字,大约阅读时间需要 8 分钟。
子域授权、转发区域<子域解析父域>、DNS安全配置<acl定义,内置变量,acl安全指令>、dns使用view实现智能dns、编译安装bind、dns压力测试
关闭dnssec
子域授权: 分布式数据库的主要手段
基于授权将功能分散出去,让多个主机分别处理
转发工作模式
全部转发:在/etc/named.conf中定义,所有非本机所负责的域的请求均转发
1 2 3 4 5 | 定义格式: options { forward {first|only}; forwarders { IP; }; }; |
区域转发:在zone定义,指定的域的请求才转发
1 2 3 4 5 6 | 格式: zone "ZONE_NAME" IN { type forward; forward {first|only}; forwarders { IP; }; }; |
注意:同时定义全部转发和区域转发时,如果区域转发定义的域能被区配,以区域转发为主。如果区域转发定义的域不能匹配,则以全局转发以主。
转发模式
访问控制列表:将单个或多个主机归并为一个集合,通过一个名字统一调用
视图:只能看到部分内容
CDN: Context Delivery Network
内容分发网络:网站的内容以分布的模式送到离用户最近的位置,形成的网络
智能DNS:基于View实现
全局负载均衡:<依据地域负载均衡> 来自全网的每个用户请求,挑一个最佳的服务器来响应
编译安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 开发环境: "Development Tools" "Server Platform Development" 获取源码: isc.org < 9 > 创建用户: named <UID: 53 GID: 53 > 编译: # ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --disable-ipv6 --disable-chroot --enable-threads # make -j # && make install 编译后步骤: 首先:确定具体位置 1 )改变PATH变量,导出二进制程序 /etc/profile.d/*.sh . 或 source 2 )导出库文件 /etc/ld.so.conf.d/*.conf ldconfig [-v] 3 )导出头文件: 显示库的数量,库的名字,库可接受的参数 ln -s 4 )导出Man手册, /etc/man.config 首次启动: # named -u <user> -fg -d 3 -f foreground -g 显示详细信息 -d <level> 调试级别 二次启动: # named -u <user> 关闭: 前台:Ctrl + c 后台:pkill named 或 killall named 重载配置文件: kill -[ 1 |SIGHUP|HUP] named 生成配置文件: options { directory "" ; allow-query recursion yes; }; zone "." IN { type hint; file "named.ca" ; //文件编写后: dig -t NS . @DNS_SERVER_IP > /var/named/named.ca }; zone "localhost" IN { type master; file "named.localhost" ; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.loopback" ; }; 生成rndc, rndc-confgen -r /dev/urandom # /etc/named/rndc.key # # /etc/named/named.conf # 生成区域解析库 # dig -t NS . # vim / var /named/named.localhost $TTL 1D $ORIGIN localhost. @ IN SOA @ lccnx.foxmail.com. ( serial; refresh; retry expire no_value_ttl ) IN NS localhost. localhost. IN A 127.0 . 0.1 # vim / var /named/named.loopback $TTL 1D $ORIGIN 0.0 . 127 . in -addr.arpa. @ IN SOA @ lccnx.foxmail.com. ( serial; refresh; retry expire no_value_ttl ) IN NS localhost. 1 IN PTR localhost. 权限: /etc/named/named.conf / var /named/.. 640 root.named |
压力测试
1 2 3 4 5 6 7 8 9 10 11 12 | 源码目录下: contribution/queryperf(query performance) # ./configure # make # cp queryperf /bin # queryperf -s file -d DNS_SERVER_IP 1 )查看top 2 )vmstat 3 )iostat 打开rndc querylog时,查询影响很大 短板效应:如果只有1M带宽,带宽打满时,服务器性能绰绰有余。此时应该更新带宽大小 Queries per second: # qps 平均每秒完成解析的数量 |