1分钟搭建属于你的DNS服务器

  有没有想过在自己的服务器上使用a.com就访问自己指定的IP,当然了,使用本地hosts文件也可以实现,但是如果在当下的集群服务环境下呢?你也想挑战管理那么多IP地扯池么,好了回到正文这里,我们使用dnsmasq对应的docker版本docker-dnsmasq。

  使用指南

  下载镜像

  dockerpulldocker-dnsmasq

  创建最简单的配置/opt/dnsmasq.conf


  #dnsmasq config, for a complete example, see:

  # http://oss.segetech.com/intra/srv/dnsmasq.conf

  #dns解析日志

  log-queries

  #定义主机与IP映射

  address=/h0/172.17.205.28

  address=/h1/172.17.205.32

  ...

  运行容器

 

  docker run \

  --name dnsmasq \

  -d \

  -p 53:53/udp \

  -p 8080:8080 \

  -v /opt/dnsmasq.conf:/etc/dnsmasq.conf \

  --log-opt max-size=100m \

  -e HTTP_USER=admin \

  -e HTTP_PASS=admin \

  --restart always \

  jpillora/dnsmasq


  参数说明

  


  访问地扯http://localhost:8080

  使用admin/admin帐号密码登录。

  


  DNS配置

  在/etc/resolv.conf文件前面增加下面两句

  只增加172.17.205.28DNS会解析失败

  nameserver 127.0.0.1 #必填

  nameserver 172.17.205.28 #必填[本机主要网卡]

  本机与其它机子的配置一样

  必填要在前面加才会生效,因为DNS解析会从上往下解析

  root@center ~# ping h1

  PING h1 (172.17.205.32) 56(84) bytes of data.

  64 bytes from 172.17.205.32 (172.17.205.32): icmp_seq=1 ttl=64 time=0.155 ms

  64 bytes from 172.17.205.32 (172.17.205.32): icmp_seq=2 ttl=64 time=0.203 ms

  ^C

  --- h1 ping statistics ---

  2 packets transmitted, 2 received, 0% packet loss, time 1000ms

  rtt min/avg/max/mdev = 0.155/0.179/0.203/0.024 ms


  增加解析

  点击保存即可,过几秒可自动生效

  address=/h0/172.17.205.28

  address=/h1/172.17.205.32

  address=/h2/172.17.205.33

  address=/h3/172.17.205.34

  address=/h4/172.17.205.35....

  注意

  建议保持其它机子的hostname与上面的配置一样

  否则有可能会出现如下问题

  root@asdf ~# ping h0

  ping: h0: Name or service not known


转载于:https://juejin.im/post/5bebcf64e51d45170810fcf4

你可能感兴趣的:(1分钟搭建属于你的DNS服务器)