
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和各个虚拟机之间能够直接通过域名来访问。
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.12.2 测试
环境:
本机为 ubuntu 21.04 Desktop
虚拟机为 ubuntu 18.04
dnsmasq 版本 andyshinn/dnsmasq:latest(8d6d4d8e32d6), 2.84rc2
参考文档:
Linux系统下搭建DNS服务器——DNS原理
Linux 之 搭建自己的DNS服务器
Ubuntu systemd-resolve 命令使用
ubuntu_最简单内网dns服务器搭建_最详细_最快的搭建
百度百科-域名服务器