安装DNS服务器软件bind
bind
是DNS
服务软件包,安装部署配置一台DNS
服务器可以直接通过yum
来安装也可以选择编译安装,接下来我们选后者编译安装
准备工作:
1.去官网下载bind包www.isc.org
2.把下载好的包rz上传到Linux
[root@root ~]# rz <--rz是把windows桌面上的文件上传到Linux,反之sz filename(文件名)
3.安装开发者包组:[root@root ~]# yum -y groupinstall "Development tools"
[root@root ~]# yum -y groupinstall "Development tools" <-- ‘Development Tools’是开发者包租
4.解压缩包:[root@root ~]# tar xvf bind-9.10.5-P3.tar.gz
[root@root ~]# tar xvf bind-9.10.5-P3.tar.gz
5.创建对应的系统账号:[root@root ~]# useradd -r -d /var/named -s /sbin/nologin -u 53 named
[root@root ~]# useradd -r -d /var/named -s /sbin/nologin -u 53 named
6.因为是用
useradd
创建的,系统账号家目录不会自动生成,并设置好所有者所属组;
[root@root ~]# mkdir /var/named <-- 注意,此时创建的目录所属组要修改成named,不然访问不了的
[root@root ~]# chgrp named /var/named/ <--‘chgrp’是修改所属组的命令
7.创建一个安装目录,以后再该目录下安装
[root@root ~]# mkdir /app/bind9
编译安装bind
编译安装综合来讲就三大步,在解压包后生成的目录下分别执行三个命令:
注意:编译安装时必须在解压后生成的目录下
[root@root ~]#cd bind-9.10.5-P3
(1)configure: <--这一步一般用来生成 Makefile,为下一步的编译做准备!你可以根据生产环境去选择性的通过在 configure 后加上参数来对安装进行控制,比如指定安装目录等等;这个步骤会出现 error ,把相应的包用yum安装之后再执行一次;
[root@root bind-9.10.5-P3]# ./configure
(2)make: <--进行编译,执行Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件
[root@root bind-9.10.5-P3]# make
(3)make install: <--将 make 生成的文件安装到系统目录中
[root@root bind-9.10.5-P3]# make install
1.执行configure,并指定安装路径为/app/bind9
,并禁用openssl;
[root@root bind-9.10.5-P3]#./configure --prefix=/app/bind9 --without-openssl
安装目录为/app/bind9 禁用openssl
2.执行make和make install
这两个可以一条命令执行
[root@root bind-9.10.5-P3]#make && make install
简单部署配置DNS服务器
修改编辑相关变量和配置文件以及测试
1.把/app/bind9/sbin
和/app/bind9/bin
路径加到$PATH变量里面。
2.在安装路径的etc
下创建配置文件配置DNS
3.切到/var/named
目录去抓13个根服务器重定向到我们在配置文件里指定的路径下的root.ca
文件里
[root@root named]#cd /var/named
[root@root named]#dig -t NS . @172.16.0.1 > root.ca
Ps:为了满足好奇心还是用代码块的方式看一下神奇的13个根服务器到底长啥样...
[root@root named]#cat root.ca
; <<>> DiG 9.10.5-P3 <<>> -t NS . @172.16.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20859
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 386996 IN NS k.root-servers.net.
. 386996 IN NS c.root-servers.net.
. 386996 IN NS f.root-servers.net.
. 386996 IN NS e.root-servers.net.
. 386996 IN NS i.root-servers.net.
. 386996 IN NS h.root-servers.net.
. 386996 IN NS j.root-servers.net.
. 386996 IN NS l.root-servers.net.
. 386996 IN NS a.root-servers.net.
. 386996 IN NS g.root-servers.net.
. 386996 IN NS d.root-servers.net.
. 386996 IN NS b.root-servers.net.
. 386996 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
e.root-servers.net. 74925 IN A 192.203.230.10
e.root-servers.net. 74925 IN AAAA 2001:500:a8::e
d.root-servers.net. 41600 IN A 199.7.91.13
d.root-servers.net. 41600 IN AAAA 2001:500:2d::d
h.root-servers.net. 41600 IN A 198.97.190.53
h.root-servers.net. 41600 IN AAAA 2001:500:1::53
j.root-servers.net. 41600 IN A 192.58.128.30
j.root-servers.net. 208801 IN AAAA 2001:503:c27::2:30
g.root-servers.net. 41600 IN A 192.112.36.4
g.root-servers.net. 74925 IN AAAA 2001:500:12::d0d
k.root-servers.net. 41600 IN A 193.0.14.129
k.root-servers.net. 41600 IN AAAA 2001:7fd::1
a.root-servers.net. 74925 IN A 198.41.0.4
a.root-servers.net. 208801 IN AAAA 2001:503:ba3e::2:30
i.root-servers.net. 41600 IN A 192.36.148.17
i.root-servers.net. 74925 IN AAAA 2001:7fe::53
c.root-servers.net. 74925 IN A 192.33.4.12
c.root-servers.net. 41600 IN AAAA 2001:500:2::c
f.root-servers.net. 41600 IN A 192.5.5.241
f.root-servers.net. 41600 IN AAAA 2001:500:2f::f
m.root-servers.net. 208801 IN A 202.12.27.33
m.root-servers.net. 208801 IN AAAA 2001:dc3::35
l.root-servers.net. 54228 IN A 199.7.83.42
l.root-servers.net. 54228 IN AAAA 2001:500:9f::42
b.root-servers.net. 41600 IN A 192.228.79.201
b.root-servers.net. 41600 IN AAAA 2001:500:200::b
;; Query time: 4 msec
;; SERVER: 172.16.0.1#53(172.16.0.1)
;; WHEN: Thu Jul 27 15:00:49 CST 2017
;; MSG SIZE rcvd: 811
[root@root named]#
上面的环节注意给named读权限!!!
4.把域建起来,比如:gaorihan.com
4.1 编辑配置文件
4.2 在/var/named
路径下创建域的文件并检查语法
4.3 把man帮助路径添加到系统man帮助的配置文件
/etc/man.config
里
5.启动服务并测试
1).本终端
[root@root named]#named -f -g -d 3 -u named
2).另一个终端执行ss -tnul
命令查看端口连接情况。
3)再别的主机上dig一下,看看能不能gaorihan.com
域名解析成我们在记录里加进去的IP地址6.6.6.6
[root@root ~]#dig www.gaorihan.com @172.16.252.217
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> www.gaorihan.com @172.16.2
52.217;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34721
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.gaorihan.com. IN A
;; ANSWER SECTION:
www.gaorihan.com. 86400 IN A 6.6.6.6 <<--这不就是我们设置的吗
;; AUTHORITY SECTION:
gaorihan.com. 86400 IN NS dns1.gaorihan.com.
;; ADDITIONAL SECTION:
dns1.gaorihan.com. 86400 IN A 172.16.252.217
;; Query time: 6 msec
;; SERVER: 172.16.252.217#53(172.16.252.217)
;; WHEN: Thu Jul 27 17:27:55 2017
;; MSG SIZE rcvd: 85
[root@root ~]#dig www.gaorihan.com @172.16.252.217
结语
DNS服务器的主要作用就是将主机名解析成IP地址的过程,解决域名到IP地址的转换。目前互联网这么发达,几乎所有的服务器都在向外提供各种服务,DNS记录也会越来越多,掌握部署配置DNS服务器是必备技能。
网友评论