搭建环境前提,虚拟机1server10可以连接外网,虚拟机2、3server11 12不可以连接外网,但是都可以和虚拟机1通信。
需要用到host和dig指令,安装包bind-utils。
dig 域名解析工具 host域名和ip互查
在/etc/sysconfig/network-scripts/ifcfg-eth0下的dns记录在
/etc/resolv.conf
[root@server10 ~]# cat /etc/resolv.conf
nameserver 114.114.114.114
[root@server10 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
DEVICE=eth0
ONBOOT=yes
IPADDR1=172.25.138.10
IPADDR2=172.25.254.100
PREFIX1=24
PREFIX2=24
GATEWAY=172.25.138.250
DNS1=114.114.114.114
[root@server11 ~]# cat /etc/resolv.conf
nameserver 172.25.254.100
[root@server12 ~]# cat /etc/resolv.conf
nameserver 172.25.254.100
虚拟机1要对外提供dns服务的话,必须安装bind
[root@server10 ~]# yum install bind -y
[root@server10 ~]# systemctl enable --now named
[root@server10 ~]# firewall-cmd --permanent --add-service=dns
Warning: ALREADY_ENABLED: dns
success
打开这个服务后依旧不可以访问dns,需要修改dns的主配置文件,让它对外提供这个服务
[root@server10 ~]# yum install -y net-tools
[root@server10 ~]# netstat -antlpe
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 25 47225 15021/named
默认安装的dns服务只开启了回环接口上的服务端口,除本机以外无法使用。
主配置文件名字
[root@server10 ~]# vim /etc/named.conf
改成
本机所有网络接口都开启53端口对外提供dns服务
服务被拒绝了
在配置主配置文件,原先是localhost;
改成any;为所有主机提供解析服务
[root@server10 ~]# systemctl restart named
[root@server11 ~]# dig www.baidu.com
;; Query time: 1863 msec
[root@server12 yum.repos.d]# dig www.baidu.com
;; Query time: 0 msec
当前的dns主机没有网络地址解析数据的,所以当做解析时需要到.com主机获取资源。
dns是树,dns最顶级. .叫根域名
先去dns要这个解析,dns没有,dns去.com里面找,.com没有去.找到。 .一共有13个
现在去的是美国找的花费时间太长了
当dns没有数据时,去访问国内的dns,不去美国。
然而你dns没有经过网络认证备案,所以得把dns的认证自检,要不然修改后依旧慢。
这叫高速缓存dns
[root@server11 ~]# dig www.csdn.com
;; Query time: 32 msec
[root@server12 yum.repos.d]# dig www.csdn.com
;; Query time: 0 msec