ubuntu小技巧27--基于dnsmasq快速搭建局域网dns服务器
1 介绍
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 dnsmasq是一个轻量级的DNS、TFTP、PXE、路由器通告和DHCP服务器。它旨在为局域网提供耦合的DNS和DHCP服务。通过dnsmasq,我们可以在局域网或个人虚拟机之间快速实现一个dns服务。 本文基于dnsmasq快速实现了一个dns服务,使PC和各个虚拟机之间能够直接通过域名来访问。
2搭建dns服务器
2.1 搭建步骤
1. 拉取镜像
docker pull andyshinn/dnsmasq
2. 生成核心配置文件
touch /home/xg/soft/dnsmasq/banner_add_hosts
touch /home/xg/soft/dnsmasq/resolv.conf
docker cp dnsmasq:/etc/dnsmasq.conf /home/xg/soft/dnsmasq/dnsmasq.conf
3. 更改配置文件
vim banner_add_hosts
192.168.1.5 xg.com
192.168.2.21 km.xg.com
192.168.2.22 kn.xg.com
vim resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
vim dnsmasq.conf 更改如下两个配置:
addn-hosts=/etc/banner_add_hosts
resolv-file=/etc/resolv.conf
4. 启动 dnsmasq 服务
$ docker run -d \
-p 127.0.0.1:53:53/tcp \
-p 127.0.0.1:53:53/udp \
-v /home/xg/soft/dnsmasq/banner_add_hosts:/etc/banner_add_hosts \
-v /home/xg/soft/dnsmasq/resolv.conf:/etc/resolv.conf \
-v /home/xg/soft/dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf \
--cap-add=NET_ADMIN \
--name dnsmasq \
andyshinn/dnsmasq
5. 在本机 /etc/resolv.conf 加上解析
nameserver 127.0.0.1
2.2 测试
- 服务正常启动
- 在本机测试自定义域名
- 在虚拟机测试自定义域名
- 如果配置新域名
按照如下个是在banner_add_hosts 中新增一行 ip domain-name, 然后 192.168.2.11 kmaster01.xg.com
3 注意事项
- 若希望在局域网内部生效, 那么可以在路由器的 dhcp 服务处配置首选dns为dnsmasq服务的ip, 然后重启路由器和机器网卡即可。
4 说明
环境: 本机为 ubuntu 21.04 Desktop 虚拟机为 ubuntu 18.04 dnsmasq 版本 andyshinn/dnsmasq:latest(8d6d4d8e32d6), 2.84rc2 参考文档: Linux系统下搭建DNS服务器——DNS原理 Linux 之 搭建自己的DNS服务器 Ubuntu systemd-resolve 命令使用 ubuntu_最简单内网dns服务器搭建_最详细_最快的搭建 百度百科-域名服务器
|