资讯专栏INFORMATION COLUMN

2018年第49周-dnsmasq的安装(docker方式)

Yuanf / 463人阅读

摘要:在开发或测试环境可能有大量服务器数据库应用服务器中间件服务器等特别大数据系统涉及的服务器很多的时候很难记就算修改本机但每次新增删除一个对于的域名都是很麻烦的于是搭建一个就非常必须了这里使用无侵入式的搭建服务不要时删除即可新建三个文件在宿主新

在开发或测试环境, 可能有大量服务器, 数据库, 应用服务器, 中间件服务器等. 特别大数据系统, 涉及的服务器很多的时候, ip很难记, 就算修改本机host, 但每次新增删除一个ip对于的域名, 都是很麻烦的. 于是搭建一个dns就非常必须了.

这里使用docker无侵入式的搭建DNS服务, 不要时删除container即可.

1.新建三个文件
在宿主(ip:192.168.31.190)新建三个文件, 分别是dnsmasq.conf,dnsmasq.hosts,dnsmasq.resolv.conf

[root@localhost dns]# pwd
/root/dns
[root@localhost dns]# ls
dnsmasq.conf  dnsmasq.hosts  dnsmasq.resolv.conf

dnsmasq.conf文件用于配置DNS应用的配置, 指定dnsmasq.resolv.conf文件及dnsmasq.hosts文件的路径, dnsmasq.conf内容如下:

cache-size=50000
dns-forward-max=1000
resolv-file=/etc/dnsmasq.resolv.conf
addn-hosts=/etc/dnsmasq.hosts

dnsmasq.hosts文件, 就是我们经常修改的host了, 自定义指定ip和域名的映射关系, dnsmasq.hosts文件内容如下:

192.168.31.101 s1.jevoncode.com
192.168.31.102 s2.jevoncode.com
192.168.31.103 s3.jevoncode.com
192.168.31.104 s4.jevoncode.com
192.168.31.105 s5.jevoncode.com
192.168.31.106 s6.jevoncode.com

dnsmasq.resolv.conf文件, 由于DNS服务器是不知道baidu.com这些域名所对应的ip是什么, 所以要指定外网的DNS, 如果在dnsmasq.hosts文件找不到域名的映射关系, 则请求外网的DNS获取, dnsmasq.resolv.conf文件的内容如下:

nameserver 114.114.114.114
nameserver 223.5.5.5

2.运行docker的contener

docker run 
  --name dnsmasq 
  -d 
  -p 53:53/udp 
  -p 8080:8080 
  -v /root/dns/dnsmasq.conf:/etc/dnsmasq.conf 
  -v /root/dns/dnsmasq.hosts:/etc/dnsmasq.hosts 
  -v /root/dns/dnsmasq.resolv.conf:/etc/dnsmasq.resolv.conf 
  --log-opt "max-size=100m" 
  -e "HTTP_USER=admin" 
  -e "HTTP_PASS=adminpassword" 
  --restart always 
  jpillora/dnsmasq  

其中8080, 可以不用指定, 那是页面查看DNS应用的情况而已. 不太需要. 关键是53端口.
这里使用-v参数在容器上挂着宿主的文件, 这样就可以在宿主修改dnsmasq.hosts文件, 就不需要进入容器里修改配置.
访问8080页面是这样的

3.使用DNS的方法有三种方法(任意一种即可):
3.1在windows下则是修改设备器的ip4属性里有DNS的配置.
3.2而Linux则是修改/etc/resolv.conf 文件

 
# Generated by NetworkManager
nameserver 192.168.31.190

3.3修改路由器的DNS配置

4.想想空间
基于这基础上, 有些想法, 虽然我没实践过, 不过我觉得应该可以. 如管理局域网的机子的上网情况, 可以知道哪些人浏览过什么网站, 控制浏览网站行为等.

遇到的问题:
如果开启了防火墙,需开启udp协议的53端口,如centos7:

firewall-cmd --zone=public --add-port=53/udp --permanent

dns是采用udp协议进行通讯。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27621.html

相关文章

  • 2018年第48-centos7下docker安装及常用命令

    摘要:下图是与其他虚拟技术的对比图。的目标是,基于这个目标,将你需要发布的应用组件及需要的环境配置都封装成一个镜像,然后基于镜像创建容器并启动运行。这样就可以达到组建级别的一次封装,多次运行。而默认情况下,属于用户,需要权限才能访问。 docker玩过很多次,但每次都是从零开始,所以这次而打算记录下来,方便后面查询。 docker的技术基础是LXC虚拟化技术,虚拟化技术有很多,有硬件层面和...

    lemon 评论0 收藏0
  • 2018年第43-Linux下使用gpt给硬盘分区

    摘要:由于分区表最大支持硬盘,而且主分区数量还有限制而分区表就没有上述问题,线上服务器基本都是采用这个来格式化系统,所以使用进行分区方法如下进入工具,输入可查看帮助默认使用第一个硬盘选择你要操作的设备,一定要注意,不要把默认设备误操作了设 由于MBR分区表最大支持2T硬盘,而且主分区数量还有限制. 而GPT分区表就没有上述问题,线上服务器基本都是采用这个来格式化系统, 所以使用gpt进行分...

    stormgens 评论0 收藏0
  • 2018年第30-SSH端口转发

    摘要:问题背景现有跳板机和服务器服务器运行则和,需要用网页去访问,但开放外网端口不安全且没必要,因为大数据环境就是内部处理数据使用的,于是使用端口转发来解决这个问题。自己电脑,本地运行命令是账号,是跳板机的地址。 问题背景 现有跳板机A和服务器B服务器B运行则hdfs和yarn,需要用网页去访问,但开放外网端口不安全且没必要,因为大数据环境就是内部处理数据使用的,于是使用ssh端口转发来解决...

    URLOS 评论0 收藏0
  • Nginx之OCSP stapling配置

    摘要:摘要正确地配置可以提高性能。顾名思义,它是一个用于检查证书状态的协议,浏览器使用这个协议来检查证书是否被撤销。存在隐私和性能问题。检测能够对开启的网站的配置进行全面分析,可以检测的状态。根据文档,最好使用本地服务,可以防止欺骗。 摘要: 正确地配置OCSP stapling, 可以提高HTTPS性能。 showImg(https://segmentfault.com/img/bV45G...

    CastlePeaK 评论0 收藏0
  • 2018年第13-虚拟化技术理解(内含Centos7上安装KVM)

    摘要:硬件虚拟化早在世纪年代开发大型机时就认识到了虚拟化的重要性。常见的硬件虚拟化技术例如和都同时支持全虚拟化和半虚拟化。因此,硬件虚拟化也被称为重量级虚拟化,在同一宿主机上能够同时运行的虚拟机数量相当有限。 虚拟化技术简介 说道KVM,那必须先提虚拟化技术,我网上查的资料,貌似大家对虚拟化的一些术语没有达成统一的标准,如:仿真、完全虚拟化、超虚拟化、操作系统级虚拟化。 其实我觉得这些术语...

    cgh1999520 评论0 收藏0

发表评论

0条评论

Yuanf

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<