用dnsmasq搭建简单DNS

2 篇文章 0 订阅
1 篇文章 0 订阅

构建一个理想的本地CD集群,DNS自然少不了,集群内的主机间通过域名来实现彼此访问,提供服务。有了DNS的支持就方便和干净了很多。比如搭建docker镜像仓库拉取镜像就不需要通过ip作为仓库服务器名,而是直接使用域名访问。

docker pull 192.168.222.154:8082/dnsmasq VS docker pull reg.yourdomain.com/dnsmasq

哪一个更好看,一目了然。

搞个BIND又大又重,只想要个域名解析而已,看到BIND的那些配置就头疼。不过,好在域名解析服务还有好多选择,dnsmasq就是这样一款简单轻量的DNS服务,刚好满足我的需求。dnsmasq官方地址https://wiki.archlinux.org/index.php/dnsmasq

dnsmasq安装

dnsmasq可以采用包安装 比如yum install dnsmasq,另外也可以通过docker容器运行。这里采用的后一种安装方式:

镜像:jpillora/dnsmasq

hub.docker.com上搜索 jpillora/dnsmasq ,地址如下:https://hub.docker.com/r/jpillora/dnsmasq

安装页面上的安装步骤安装即可:

1、创建/opt/dnsmasq.conf文件

#dnsmasq config, for a complete example, see:
#参考下面的url,一个完整的配置文件的例子,包含配置项的说明
#  http://oss.segetech.com/intra/srv/dnsmasq.conf
#log all dns queries
log-queries
#log文件的路径,采用docker运行可以将该文件挂载到宿主机本地文件目录
#log-facility=/usr/log/dnsmasq.log
#dont use hosts nameservers
no-resolv
#use cloudflare as default nameservers, prefer 1^4
server=1.0.0.1
server=1.1.1.1
strict-order
#serve all .company queries using a specific nameserver
server=/company/10.0.0.1
#explicitly define host-ip mappings
address=/myhost.company/10.0.0.2

如果没耐心搞这些配置,只需要先创建个 空的 配置文件 touch /opt/dnsmasq.conf

2、运行容器

$ docker run \
    --name dnsmasq \
    -d \
    -p 53:53/udp \
    -p 5380:8080 \
    -v /opt/dnsmasq.conf:/etc/dnsmasq.conf \
    --log-opt "max-size=100m" \
    -e "HTTP_USER=foo" \
    -e "HTTP_PASS=bar" \
    --restart always \
    jpillora/dnsmasq

运行容器参数说明:

    -p 53:53/udp 映射dns服务 53 udp端口到宿主机

    -p 5380:8080 映射web配置服务 5380 端口到宿主机

    -v /opt/dnsmasq.conf:/etc/dnsmasq.conf 配置文件

    -e "HTTP_USER=foo" web配置管理用户名,可以改成自己的用户名

    -e "HTTP_PASS=bar" web配置管理密码,可以改成自己的密码

3、访问web配置管理 http://<docker-host>:5380 使用foo/bar 认证

这里在线编辑的就是dnsmasq.conf配置文件,编辑后点击save按钮即可完成配置更新和服务重启

4、dns客户端配置

在集群中的其他主机修改/etc/resolv.conf

# Generated by NetworkManager
search localdomain
#  这里加入dnsmasq服务ip
nameserver 192.168.222.154 
nameserver 192.168.222.2

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值