consul DNS+ dnsmasq实现域名解析配置

consul DNS+ dnsmasq实现域名解析配置

dnsmasq简介

Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。

dnsmasq解析流程

dnsmasq先去解析hosts文件, 再去解析/etc/dnsmasq.d/下的*.conf文件,并且这些文件的优先级要高于dnsmasq.conf,我们自定义的resolv.dnsmasq.conf中的DNS也被称为上游DNS,这是最后去查询解析的; 如果不想用hosts文件做解析,我们可以在/etc/dnsmasq.conf中加入no-hosts这条语句,这样的话就直接查询上游DNS了,如果我们不想做上游查询,就是不想做正常的解析,我们可以加入no-reslov这条语句。

安装dnsmasq

yum -y install dnsmasq

配置dnsmasq

[root@redis dnsmasq.d]# cat /etc/dnsmasq.d/resolv.conf 
server=/consul/172.16.10.205#8600
server=/consul/172.16.10.206#8600
server=/consul/172.16.10.207#8600
server=100.100.2.136
server=100.100.2.138
  • consul域名通过consul的DNS进行解析,其它都是通过默认DNS进行解析

  • 172.16.10.205、172.16.10.206、172.16.10.207为consul服务的IP

启动dnsmasq服务

systemctl start dnsmasq

测试consul域名解析

dig @127.0.0.1 minio.service.consul
[root@redis dnsmasq.d]# dig @127.0.0.1 minio.service.consul

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @127.0.0.1 minio.service.consul
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51922
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;minio.service.consul.          IN      A

;; ANSWER SECTION:
minio.service.consul.   0       IN      A       172.16.10.227
minio.service.consul.   0       IN      A       172.16.10.228
minio.service.consul.   0       IN      A       172.16.10.226
minio.service.consul.   0       IN      A       172.16.10.229

;; ADDITIONAL SECTION:
minio.service.consul.   0       IN      TXT     "consul-network-segment="
minio.service.consul.   0       IN      TXT     "consul-network-segment="
minio.service.consul.   0       IN      TXT     "consul-network-segment="
minio.service.consul.   0       IN      TXT     "consul-network-segment="

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: 五 3月 27 10:49:35 CST 2020
;; MSG SIZE  rcvd: 257

修改机器DNS服务器

/etc/resolv.conf配置成nameserver 127.0.0.1即可使用dnsmasq提供DNS解析服务

consul负载均衡测试

image-20200327105442036

image-20200327105506592

image-20200327105517872

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章