DNSmasq

2021/8/28 6:06:39

本文主要是介绍DNSmasq,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

DNSmasq

1、DNSmasq由来和介绍

在以前没有DNS的时候,都是通过IP地址来互相访问的,但是IP地址不容易记忆容易混淆,所以有了DNS。DNSmasq是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

2、工作原理

请求DNSmasq服务器,DNSmasq先检索hosts文件,如果没有其次检查dnsmaq.d/*.conf这个文件,最后是resolv-file

3、DNSmasq的安装

1.基础环境准备

新建一台虚拟机,网卡为桥接模式,可以上网

2.使用yum安装DNSmasq
[root@antong ~]# yum install dnsmasq.x86_64  -y
3.修改配置文件
[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服务器的地址。
4.复制系统的DNS服务配置为dnsmasq的上游DNS服务器地址
[root@antong ~]# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
5.编写映射文件
[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
6.编写hosts文件
[root@antong ~]# vim /etc/hosts
192.168.200.10  www.baidu.com
7.测试

重启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


这篇关于DNSmasq的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程