Docker 1分钟搭建DNS服务器

这里我们使用dnsmasq对应的docker版本docker-dnsmasq

使用指南

下载镜像

docker pull docker-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

参数说明

名称说明
max-size日志最大保存
HTTP_USER登录用户名
HTTP_PASS登录密码

访问地扯http://localhost:8080
* 使用admin/admin帐号密码登录。

dnsmasq界面

DNS配置
* 在/etc/resolv.conf文件前面增加下面两句
* 只增加172.17.205.28 DNS会解析失败

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值