dnsmasq服务端
安装
yum -y install dnsmasq
改配置文件
[root@yum-nfs ~]# egrep -v '^#|^$' /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
server=172.18.0.226
addn-hosts=/etc/dnsmasq.hosts
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
配置参数解释
resolv-file
定义dnsmasq从哪里获取上游DNS服务器的地址, 默认从/etc/resolv.conf获取。
strict-order
表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address
定义dnsmasq监听的地址,默认是监控本机的所有网卡上。
address
启用泛域名解析,即自定义解析a记录,例如:address=/long.com/192.168.115.10 访问long.com时的所有域名都会被解析成192.168.115.10
bogus-nxdomain
对于任何被解析到此 IP 的域名,将响应 NXDOMAIN 使其解析失效,可以多次指定
通常用于对于访问不存在的域名,禁止其跳转到运营商的广告站点
server
指定使用哪个DNS服务器进行解析,对于不同的网站可以使用不同的域名对应解析。
例如:server=/google.com/8.8.8.8 #表示对于google的服务,使用谷歌的DNS解析。
bogus-nxdomain 为防止DNS污染,使用参数定义的DNS解析的服务器。注意:如果是阿里云服务器上配置dnsmasq要启用此项。
创建上游dns服务文件并添加解析
[root@yum-nfs ~]# cat /etc/resolv.dnsmasq.conf
nameserver 114.114.115.115
nameserver 114.114.114.114
创建局域网主机域名和ip对应关系文件
[root@yum-nfs ~]# cat /etc/dnsmasq.hosts
172.18.0.240 c7001
172.18.0.241 c7002
172.18.0.242 c7003
172.18.0.243 mysql01
172.18.0.244 mysql02
192.168.232.2 tomcat01
192.168.232.3 tomcat02
172.18.0.248 tomcat-test
172.18.0.247 redis
192.168.18.242 opentsdb
修改服务端的域名解析
cat /etc/resolv.conf
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
nameserver 127.0.0.1
注释掉服务端的hosts文件
[root@yum-nfs ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#192.168.140.46 cloud-controller
#192.168.229.118 yum-nfs
#192.168.140.5 controller
#172.18.0.240 c7001
#172.18.0.241 c7002
#172.18.0.242 c7003
客户端
注释掉hosts文件
[root@c7001 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#172.18.0.240 c7001
#172.18.0.241 c7002
#172.18.0.242 c7003
#172.18.0.243 mysql01
#172.18.0.244 mysql02
#192.168.232.2 tomcat01
#192.168.232.3 tomcat02
#172.18.0.248 tomcat-test
#172.18.0.247 redis
#192.168.18.242 opentsdb
修改客户端的域名解析服务器地址
[root@c7001 ~]# cat /etc/resolv.conf
nameserver 172.18.0.226