linux的DNS相关介绍(转载)
1、DNS配置文件
/etc/hosts 这个是最早的 hostname 对应 IP 的档案;
/etc/resolv.conf :这个重要!就是 ISP 的 DNS 服务器 IP 记录处;
/etc/nsswitch.conf:这个档案则是在『决定』先要使用 /etc/hosts 还是
/etc/resolv.conf 的设定!
一般而言, Linux 的预设主机名与 IP 的对应搜寻都以 /etc/hosts 为优先,
2、DNS相关命令
root@ubuntu:~# dig +trace www.baidu.com
DNS 的正、反解查询指令: host, nslookup, dig
root@ubuntu:~# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 119.75.218.77
www.a.shifen.com has address 119.75.217.56
Host www.a.shifen.com not found: 3(NXDOMAIN)
root@ubuntu:~# nslookup www.baidu.com
Server: 192.168.77.2
Address: 192.168.77.2#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 119.75.218.77
Name: www.a.shifen.com
Address: 119.75.217.56
配置实例
1. 配置环境:
DNS Server的ip:192.168.0.1 Client的ip范围为:192.168.0.2——192.168.0.254,
要求DNS能解析 :
kxsrv.304.com 192.168.0.1
www.304.com 192.168.0.1
bbs.304.com 192.168.0.30
mail.304.com 192.168.0.20
网络拓扑如下:

2.安装软件bind。
检查是否安装bind.
#dpkg -l bind*
安装 BIND9
#sudo apt-get install bind9
3.DNS 配置文件介绍。
在/etc/bind 目录中。安装bind9后会生成如下三个配置文件:
named.conf;named.conf.options;named.conf.local。
其中 named.conf是主配置文件,里面包含了named.conf.options和named.conf.local,我们在架设本地dns时,只需改动named.conf.local即可。
4.配置分析。
根据上面的主机名称和ip对应可以看出:
①需要添加正向区域“304.com”和反向区域“0.168.192.in-addr.arpa”,
②在“304.com”区域中添加A记录kxsrv对应192.168.0.1, CNAME记录www对应kxsrv
③在“0.168.192.in-addr.arpa”区域中添加各个ip地址对应的主机名
5.编辑named.conf.local。
先要添加写权限:#sudo chmod 646 named.conf.local
添加下列语句:
//正向区域
zone "304.com" {
type master;
file "/etc/bind/db.304.com";
};
//反向区域
zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.30.140.192";
};
然后保存。
6.建立named.conf.local中指定的区域文件。
在/etc/bind下建立正向区域文件 (复制了一份)
命令:sudo cp /etc/bind/db.local /etc/bind/db.304.com
在/etc/bind下建立反向区域文件 (复制了一份)
命令:sudo cp /etc/bind/db.127 /etc/bind/db.0.168.192
7.编辑正向区域文件
命令:sudo nano /etc/bind/db.304.com
将原文参照下文修改
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.304.com. root.304.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.304.com.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.168.0.1
kxsrv IN A 192.168.0.1
mail IN A 192.168.0.20
bbs IN A 192.168.0.30
www IN CNAME kxsrv
ns--------nameserver
A---------Address
CNAME----别名
注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐
另外使用别名时:www IN cname 192.168.0.1 会出错, 要使用www IN cname kxsrv。
如果要添加ftp.304.com对应192.168.0.40,则只需在后面添加一行:
ftp IN A 192.168.0.40
8.编辑反向区域文件
命令:sudo nano /etc/bind/db.0.168.192
将原文参照下文修改
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.304.com. root.304.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
9 IN PTR ns.304.com.
9 IN PTR kxsrv.304.com.
9 IN PTR www.304.com.
9 IN PTR bbs.304.com.
9 IN PTR mail.304.com.
注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐,末尾有“.”。
如果要添加ftp.304.com对应192.168.0.40,则只需在后面添加一行:
9 IN PTR ftp.304.com.
9.重新启动DNS服务
sudo /etc/init.d/bind9 restart
到此位置dns就配置完成了,你可以在XP下的cmd环境下用nslookup去试试看
注意:改动配置文件后都要重新启动bind9。
10.Linux 修改DNS,请修改/etc/resolv.conf文件。
例如:
编辑sudo nano /etc/resolv.conf
更改为
nameserver 192.168.0.1
nameserver 202.117.112.3
将nameserver 192.168.0.1放在前面,这样主机会首先向nameserver 192.168.0.1请求解析。
11.DNS客户端的配置。
此时DNS服务器已经开始工作了,要使用该DNS服务器,以XP为例,到"控制面板"–"网络连接",找到上网的网卡,右键选择"属性",改变DNS地址为192.168.0.1 ,否则会向其他DNS请求解析会导致不正确!
验证:在客户端
ping kxsrv.304.com
ping www.304.com
ping mail.304.com
总结:/etc/bind下文件之间的关系,
1、主要有三个配置文件:named.conf;named.conf.options;named.conf.local。(还有named.conf.default-zones等默认文件,不用管它)
2、其中named.conf是主配置文件,里面包含named.conf.options和named.conf.local,我们在架设本地dns时,只需改动named.conf.local即可。
3、先在named.conf.local中配置正向和反向区域,
正向区域的具体配置在/etc/bind/db.304.com文件中;(以本次试验为例)
正向区域的具体配置在/etc/bind/db.0.168.192文件中;(以本次试验为例)
然后到正向和反向的具体配置文件中配置。
再总结:只需改动在named.conf.local添加正向和反向区域;再到正向配置文件(在named.conf.local中指明了该文件的路径和名称)和反向配置文件(在named.conf.local中指明了该文件的路径和名称)中配置。
即以后要改域名直接替换上述三个文件的304字符串为要修改后的字符串即可。
要添加其他需要解析的域名(仍是304.com域,仍在192.168.0段内,非192.168.0.1地址),
如添加ftp.304.com对应地址192.168.0.20,只需在/etc/bind/db.304.com和/etc/bind/db.0.168.192中添加相应域名和地址即可.
参考:http://www.xkedu.cn/blog/read.php?478
linux的DNS相关介绍(转载)的更多相关文章
- 转载:Nginx 相关介绍
转载自:https://www.cnblogs.com/wcwnina/p/8728391.html Nginx 相关介绍(Nginx是什么?能干嘛?) Nginx的产生 没有听过Nginx?那么 ...
- [科普]DNS相关的攻击介绍
一 什么是DNS DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不 ...
- linux 软连接创建 压缩解压缩 linux的dns服务相关
linux软连接创建 注意用绝对路径,语法如下 ln -s 目标文件绝对路径 软连接名字绝对路径 ln -s /小护士.txt /tmp/hs.txt 修改linux的PS1变量,命令提示符变量 PS ...
- SONiC项目的发展及其相关介绍(转载)
SONiC作为一个开源项目,理论上是包含了SAI(switch abstraction interface,交换机抽象接口),SAI是没有开源的,厂商自己完成统一的API,提供给上层sonic用户来调 ...
- Linux中与DNS相关的内容
Linux中与DNS有关的三个东西: 1. 主机名 2. DNS服务器 3. Host文件 Linux中和DNS有关的三个文件: 1. /etc/hostname 2. /etc/resolv.con ...
- Linux中 /boot 目录介绍 【转载】
Linux中 /boot 目录介绍 转自:点击打开链接 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件 ...
- linux用户权限相关内容查看
linux用户权限相关内容查看 1 用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# adduser webuser Adding ...
- Linux系统CPU相关信息查询
Linux系统CPU相关信息查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lscpu常用参数介绍 1>.查看帮助信息 [root@node105 ~]# lscpu ...
- 详细的linux目录结构详细介绍
详细的linux目录结构详细介绍 --树状目录结构图 下面红色字体为比较重要的目录 1./目录 目录 描述 / 第一层次结构的根,整个文件系统层次结构的根目录 /bin/ 需要在单用户模式可用的必要命 ...
随机推荐
- scale out instead of scale up
Scale Out(也就是Scale horizontally)横向扩展,向外扩展Scale Up(也就是Scale vertically)纵向扩展,向上扩展无论是Scale Out,Scale Up ...
- Mac下Android SDK更新不了的解决办法
在hosts文件中加入: 203.208.46.146 dl.google.com 203.208.46.146 dl-ssl.google.com
- javascript解决小数的加减乘除精度丢失的方案
原文:http://www.jb51.net/article/85463.htm function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg ...
- String()和.toString()的区别
一.相同点:都可以转为字符串类型: 二.不同点: 1..toString() :null.toString()和undefined.toString() 程序报错误; 2..toString(): . ...
- 搭建vue-cli时候报错处理
最近在使用vue-cli搭建目录时出现 “webpack-dev-server不是内部或外部命令,也不是可运行的程序 或批处理文件”情况 在网上查了不少资料和解决方法后,结合自己的情况应该是环境变量的 ...
- 移动端自动化测试(一)appium环境搭建
自动化测试有主要有两个分类,接口自动化和ui自动化,ui自动化呢又分移动端的和web端的,当然还有c/s架构的,这种桌面程序应用的自动化,使用QTP,只不过现在没人做了. web自动化呢,现在基本上都 ...
- CCCC L2-024 部落【并查集】
https://www.patest.cn/contests/gplt/L2-024 首先在一行中输出这个社区的总人数.以及互不相交的部落的个数.随后对每一次查询,如果他们属于同一个部落,则在一行中输 ...
- Loj #125. 除数函数求和(2)
link : https://loj.ac/problem/125 分块calc即可. #include<bits/stdc++.h> #define ll long long using ...
- Linux下快速删除输错的密码技巧(快速删除输入的命令)
1.[Esc]+[退格键(Backspace)] 2.[Ctrl]+[U] 说明:以上两个快捷键都会删除全部输错的命令或密码. 参考: http://blog.csdn.net/u013895662/ ...
- Scala IDE里的WorkSheet的使用
所见即所得的一个工具, 左边编码,右边立即出结果 https://www.cnblogs.com/zlslch/p/6115118.html