在以前没有DNS的时候,都是通过IP地址来互相访问的,但是IP地址不容易记忆容易混淆,所以有了DNS。DNSmasq是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。
请求DNSmasq服务器,DNSmasq先检索hosts文件,如果没有其次检查dnsmaq.d/*.conf这个文件,最后是resolv-file
新建一台虚拟机,网卡为桥接模式,可以上网
[root@antong ~]# yum install dnsmasq.x86_64 -y
[root@antong ~]# vim /etc/dnsmasq.conf #conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig port=53 //dnsmasq默认使用53端口 cache-size=1000 //缓存解析1000条 log-queries //日志显示每一条的解析记录 log-facility=/var/log/dnsmasq.log //日志的所在位置 conf-dir=/etc/dnsmasq.d //dnsmasq.d/*.conf文件的绝对路径 addn-hosts=/etc/hosts //添加额外读取的hosts文件 resolv-file=/etc/dnsmasq-resolv.conf #定义dnsmasq从哪里获取上游DNS服务器的地址。
[root@antong ~]# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
[root@antong ~]# cat http.conf address=/www.httpd.com/192.168.100.10 ptr-record=192.168.100.10.in-addr.arpa,www.httpd.com
[root@antong ~]# vim /etc/hosts 192.168.200.10 www.baidu.com
重启dnsmasq和关闭防火墙
[root@antong ~]# systemctl restart dnsmasq [root@antong ~]# systemctl stop firewalld && systemctl disable firewalld
配置另一台虚拟机的DNS为服务器的IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DNS1=192.168.200.10 //添加DNS [root@localhost ~]# systemctl restart network
ping一下www.baidu.com之后,访问的则是192.168.200.10
[root@localhost ~]# ping www.baidu.com PING www.a.shifen.com (192.168.200.10) 56(84) bytes of data. 64 bytes from www.baidu.com (192.168.200.10): icmp_seq=1 ttl=251 time=11.3 ms 64 bytes from www.baidu.com (192.168.200.10): icmp_seq=2 ttl=251 time=11.3 ms 64 bytes from www.baidu.com (192.168.200.10): icmp_seq=3 ttl=251 time=11.3 ms ^C --- www.baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 11.303/11.339/11.395/0.095 ms [root@localhost ~]# ping www.httpd.com PING www.a.shifen.com (192.168.200.10) 56(84) bytes of data. 64 bytes from www.baidu.com (192.168.200.10): icmp_seq=1 ttl=251 time=11.3 ms 64 bytes from www.baidu.com (192.168.200.10): icmp_seq=2 ttl=251 time=11.3 ms 64 bytes from www.baidu.com (192.168.200.10): icmp_seq=3 ttl=251 time=11.3 ms ^C --- www.baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 11.303/11.339/11.395/0.095 ms