乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Linux服务 4.2 named (dns)
2017-07-23 04:01:18
74
0
0
admin
> named 是Linux自带的域名解析服务。 #查询域名解析的方式 ##命令nslookup ``` nslookup ip|hostname [dns_server] ``` *** ##命令host ``` host 选项 查询的域名 [dns_server] 选项: -a: 列出详细信息 -w: 一直等待dns_server 回应 -W 时间:timeout 时间 ``` *** ##命令dig ``` dig 域名 dig -x IP #通过IP反查域名 ``` *** #named服务 ##named 配置文件 ``` options { listen-on port 53 { any; }; //监听什么IP的什么端口,默认是localhost,这里的any 代表0.0.0.0 directory "/var/named"; //数据库默认放置的目录所在,由于chroot 的关系,真实路径可能是/var/named/chroot/var/named/ dump-file "/var/named/data/cache_dump.db"; //一些统计信息 statistics-file "/var/named/data/named_stats.txt"; //一些统计信息 memstatistics-file "/var/named/data/named_mem_stats.txt"; //一些统计信息 allow-query { any; }; //允许哪些机器访问DNS服务 recursion yes; //允许递归查询 //递归查询:本地没有客户端要的数据,dns服务器去主动询问上层DNS服务,再回答客户端 //迭代查询:本地没有客户端要的数据,dns服务器返回给客户端别的DNS服务器,让客户端自己去问 //allow-transfer { none; }; //不允许别人进行 zone 转移 //forward only; //让DNS服务仅forward请求, 是cache only DNS的设定 //forwarders { //把哪些服务器当上层DNS 服务 // 8.8.8.8; // 第二个IP; //}; }; acl acl_name { //定义一个ACL,可以用于allow-query 等ACL配置 192.168.100.0/24; ! 192.168.100.0/24; // !表示取反 }; view "lan" { //名字 match-clients { "acl_name"; }; //符合ACL的机器才能提供这个zone的服务 zone "." IN { //所有机器都有的配置,指出dns root在哪 type hint; file "named.ca"; }; zone "leo" IN { // zone 的名称 type master; // 类型, “.”是 hint, 自己维护的是master, 自动根据别人跟新的是slave file "named.leo"; // 这个zone的配置文件 //allow-transfer { 192.168.100.103;}; //配置slave //masters {192.168.100.108;}; //配置master }; }; zone "192.168.100.in-addr.arpa" IN { //反查dns的zone type master; file "named.192.168.100"; }; ``` ##正解dns的配置文件 1. 必须从行首开始,不能有空格,否则表示延续前一个domain 2. @ 代表本配置文件所代表的zone 3. 每一个hostname后面必须加“.” 4. ; 表示注释 **RR类型** **A:** IP 域名 **NS:**管理zone 的dns主机名 **CNAME:**某主机名的别名 **MX:**某域名的邮件服务器 **SOA:**域名服务器的一些信息: 主机名 管理员邮箱 (序号(越大表示越新) 跟新频率(slave问master要配置) 失败重试时间(master slave的设置) 失效时间(master slave的设置) TTL(缓存的TTL)) ``` $TTL 600 ;缓存时间 @ IN SOA dns.leozhouyj. leozhouyj.www.126.com. ( 2017010101 1H 1M 1W 1H ) @ IN NS dns.leozhouyj. ; DNS 服务器名称 dns.leozhouyj. IN A 192.168.0.1 ; DNS 服务器 IP dns.leozhouyj. IN CNAME dns2.leozhouyj. nfs.leozhouyj. IN A 192.168.0.2 ntp.leozhouyj. IN A 192.168.0.3 ``` ##反解dns的配置文件 PTR 就是反解的意思 vim /var/named/named.192.168.100 ``` $TTL 600 @ IN SOA dns.leozhouyj. leozhouyj.www.126.com. ( 2017010101 1H 1M 1W 1H ) @ IN NS dns.leozhouyj. 1 IN PTR dns.leozhouyj. ; 1 代表192.168.100.1 2 IN PTR nfs.leozhouyj. 3 IN PTR ntp.leozhouyj. ``` ##rndc命令 控制dns服务的命令 需要在dns服务端增加相应的配置,使其支持rndc **建立key** rndc-confgen -r /dev/urandom -a **显示当前状态** rndc status **dump 高速缓存** rndc dumpdb *** ##动态更改dns **生成key** dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST/ZONE/USER test #区域秘钥/主机秘钥/用户秘钥 ``` cat /etc/named.conf 。。 key "test" { algorithm hmac-md5; secret "rigTucLVVlszrTtKtu0Oq0MkDtOH2CtDZ5vj+s8bI52a4QWfbMGQ681vsP/ixGs+RAYKkMbuYSWb8cCocbCWzg=="; }; zone "lalala" IN { type master; file "named.lalala"; allow-transfer { 192.168.100.103;}; update-policy { grant test name fs1.lalala. A; //grant [key_name] name [hostname] 标签 //允许key test 来修改fs1.lalala.的域名配置 }; }; ``` 远程操作 ``` [root@fs1 ~]# cat Ktest.+157+40710. Ktest.+157+40710.key Ktest.+157+40710.private [root@fs1 ~]# cat Ktest.+157+40710.key test. IN KEY 512 3 157 rigTucLVVlszrTtKtu0Oq0MkDtOH2CtDZ5vj+s8bI52a4QWfbMGQ681v sP/ixGs+RAYKkMbuYSWb8cCocbCWzg== [root@fs1 ~]# cat dns server 192.168.100.108 update delete fs1.lalala. update add fs1.lalala. 600 A 192.168.100.200 send [root@fs1 ~]# nsupdate -k ./Ktest.+157+40710.key -v dns ```
上一篇:
Linux服务 4.1 DHCP
下一篇:
Linux服务 4.3 iscsi 服务
文档导航