1、创建最简单的DNS服务器场景图
2、拉取镜像
sudo docker pull jpillora/dnsmasq
3、按照如下命令生成topo结构
sudo ovs-vsctl add-br s1
sudo docker run -itd --network=none -v /home/light-travelling/resolv.conf:/etc/resolv.conf --name=h1 --privileged=true ubuntu:4
sudo docker run -itd --network=none -v /home/light-travelling/resolv.conf:/etc/resolv.conf --name=h2 --privileged=true ubuntu:4
sudo docker run \
--network=none \
--name dnsServer \
-d \
-v /opt/dnsmasq.conf:/etc/dnsmasq.conf \
--log-opt "max-size=100m" \
--restart always \
jpillora/dnsmasq
sudo ovs-docker add-port s1 eth1 h1 --ipaddress=192.168.1.1/24
sudo ovs-docker add-port s1 eth1 h2 --ipaddress=192.168.1.2/24
sudo ovs-docker add-port s1 eth1 dnsServer --ipaddress=192.168.1.254/24
具体的/home/light-travelling/resolv.conf 与 /opt/dnsmasq.conf文件内容如下:
/home/light-travelling/resolv.conf (h1 与 h2上)
nameserver 127.0.0.1 [必填]
nameserver 192.168.1.254 [服务器地址]
/opt/dnsmasq.conf (dnsServer服务器上)
#dns解析日志
log-queries
#定义主机与ip映射
address=/h1/192.168.1.1
address=/h2/192.168.1.2
4、测试是否成功,以h1 ping h2为例: