linux实训的一个小作业,用了两台虚拟机,一台服务端,一台客户端。
服务端搭建(ip:192.168.191.150)
一、安装bind
默认已经配置yum,没配置的配置的找一下网络源教程,很简单。
[root@localhost ~]# yum install -y bind
二、配置文件
启动named服务 设置开机自启动
[root@localhost ~]# systemctl start named
[root@localhost ~]# systemctl status named[root@localhost ~]# systemctl enable named
Active状态就是运行了
配置DNS文件
[root@localhost named]# vim /etc/named.conf
修改标红两行 保存退出
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
[root@localhost etc]# vim /etc/named.rfc1912.zones
增加以下内容后保存(有改动的地方照抄修改):
zone "moon.name" IN {
type master;
file "moon.name.zone";
allow-update{ none; };
};
确认一下修改 没有输出就是没问题
[root@localhost named]# named-checkconf
复制配置文件(方便改)
[root@localhost etc]# cd /var/named
[root@localhost named]# cp -p named.localhost moon.name.zone
修改并保存
[root@localhost named]# vim moon.name.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.191.150
www IN A 192.168.191.151
www IN A 192.168.191.152
确认一下修改是否正常
[root@localhost named]# named-checkzone moon.name moon.name.zone
zone moon.name/IN: loaded serial 0
OK
配置网卡
[root@localhost named]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.191.150 netmask 255.255.255.0 broadcast 192.168.191.255
inet6 fe80::aa3a:6536:e924:1a9f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ef:05:1b txqueuelen 1000 (Ethernet)
RX packets 39787 bytes 22209241 (21.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45380 bytes 13050735 (12.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 89877 bytes 7100473 (6.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 89877 bytes 7100473 (6.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:dd:eb:ed txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
不同机子可能不同,我这个是 ens33,不同下面命令中直接替换就行。
[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
加一行
DNS1=192.168.191.150
IPADDR=192.168.191.150
修改
BOOTPROTO=static
三、本机测试
[root@localhost ~]# nslookup moon.name
Server: 192.168.191.150
Address: 192.168.191.150#53Name: moon.name
Address: 192.168.191.150
或者
[root@localhost ~]# ping moon.name
PING moon.name (192.168.191.150) 56(84) bytes of data.
64 bytes from localhost.localdomain (192.168.191.150): icmp_seq=1 ttl=64 time=0.007 ms
64 bytes from localhost.localdomain (192.168.191.150): icmp_seq=2 ttl=64 time=0.134 ms
64 bytes from localhost.localdomain (192.168.191.150): icmp_seq=3 ttl=64 time=0.027 ms
^C
--- moon.name ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.007/0.056/0.134/0.055 ms能ping通,ip没错就是ok了
关闭防火墙,让客户端能正常访问
[root@localhost ~]# systemctl stop firewalld
客户端 (ip: 192.168.191.130)
[root@localmoon named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
加一行保存退出
DNS1=192.168.191.150
测试
[root@localmoon named]# nslookup moon.name
Server: 192.168.191.150
Address: 192.168.191.150#53Name: moon.name
Address: 192.168.191.150
或者
[root@localmoon named]# ping moon.name
PING moon.name (192.168.191.150) 56(84) bytes of data.
64 bytes from 192.168.191.150 (192.168.191.150): icmp_seq=1 ttl=64 time=0.117 ms
64 bytes from 192.168.191.150 (192.168.191.150): icmp_seq=2 ttl=64 time=0.179 ms
64 bytes from 192.168.191.150 (192.168.191.150): icmp_seq=3 ttl=64 time=0.243 ms
^C
--- moon.name ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.117/0.179/0.243/0.053 ms
The End
发现一个很有意思的现象:
当我搭建两台DNS服务器(192.168.191.150和192.168.191.130),在150的服务器解析moon.name,当两台DNS服务器都开启时,将客户端DNS1设置为130,DNS2设置为150,会解析不出moon.name。但是DNS1设置150就可以正常解析了,也就是说当DNS1服务器能够正常访问的时候不会再去DNS2服务器解析?