Docker 1分钟搭建DNS服务器的方法

时间:2021-05-19

这里我们使用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.28address=/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 h1PING 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 ms64 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 1000msrtt min/avg/max/mdev = 0.155/0.179/0.203/0.024 ms

    增加解析

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

    address=/h0/172.17.205.28address=/h1/172.17.205.32address=/h2/172.17.205.33address=/h3/172.17.205.34address=/h4/172.17.205.35....

    注意

  • 建议保持其它机子的hostname与上面的配置一样
  • 否则有可能会出现如下问题
  • root@asdf ~# ping h0ping: h0: Name or service not known

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章