1. 程式人生 > >1分鐘搭建屬於你的DNS伺服器

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帳號密碼登入。

dnsmasq介面

  DNS配置

  在/etc/resolv.conf檔案前面增加下面兩句

  只增加172.17.205.28DNS會解析失敗

  nameserver 127.0.0.1 #必填

  nameserver 172.17.205.28 #必填[本機主要網絡卡]

  本機與其它機子的配置一樣

  必填要在前面加才會生效,因為DNS解析會從上往下解析

  [email protected] ~# 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與上面的配置一樣

  否則有可能會出現如下問題

  [email protected] ~# ping h0

  ping: h0: Name or service not known