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解析會從上往下解析
[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