统信服务器操作系统【Dnsmasq工具搭建DNS服务器】配置方案介绍

全文导读:本文主要介绍了统信服务器操作系统如何使用Dnsmasq工具搭建DNS服务器的配置方案。

功能介绍

Dnsmasq提供DNS缓存和DHCP服务、Tftp服务功能:
1、作为域名解析服务器(DNS),Dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度;
2、作为DHCP服务器,Dnsmasq可以为局域网电脑提供内网ip地址和路由;
DNS和DHCP两个功能可以同时或分别单独实现。Dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络,此外它还自带了一个PXE服务器。

安装步骤

步骤一:安装 Dnsmasq

# UOS d版 $ apt install dnsmasq # UOS a/e版 $ yum install dnsmasq

步骤二:配置文件说明

Dnsmasq配置文件是/etc/dnsmasq.conf,下面对Dnsmasq中和DNS相关的配置项进行说明:
# 如果设置为0,则完全禁止DNS功能,只使用dhcp服务 port=5353 # 从不转发格式错误的域名 #domain-needed # 从不转发不在路由地址中的域名 #bogus-priv # resolv-file配置Dnsmasq额外的上游DNS服务器,如果不开启就使用linux主机默认的/etc/resolv.conf里的nameserver,通过下面的选项指定其他文件。 resolv-file=/etc/dnsmasq.d/upstream_dns.conf # 默认情况下Dnsmasq会发送查询到它的任何上游DNS服务器上,如果取消注释,则Dnsmasq则会严格按照/etc/resolv.conf中的DNS Server顺序进行查询。 #strict-order # 不读取 resolv-file 来确定上游服务器 #no-resolv # 不要检测 /etc/resolv.conf 的变化 #no-poll # 增加一个name server,一般用于内网域名 #server=/localnet/192.168.0.1 # 设置一个反向解析,所有192.168.3.0/24的地址都到10.1.2.3去解析 #server=/3.168.192.in-addr.arpa/10.1.2.3 # 增加一个本地域名,会在/etc/hosts中进行查询 #local=/localnet/ # 增加一个域名,强制解析到你指定的地址上 #address=/double-click.net/127.0.0.1 # 同上,还支持ipv6 #address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83 # 增加查询yahoo google和它们的子域名到vpn、search查找 # Add the IPs of all queries to yahoo.com, google.com, and their # subdomains to the vpn and search ipsets: #ipset=/yahoo.com/google.com/vpn,search # 你还可以控制Dnsmasq和Server之间的查询从哪个网卡出去 # server=10.1.2.3@eth1 # 指定源地址携带10.1.2.3地址和192.168.1.1的55端口进行通讯 # and this sets the source (ie local) address used to talk to # 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that # IP on the machine, obviously). # server=10.1.2.3@192.168.1.1#55 # 改变Dnsmasq默认的uid和gid #user= #group= # 如果你想Dnsmasq监听某个端口为dhcp、dns提供服务 #interface= # 你还可以指定哪个端口你不想监听 #except-interface= # 设置想监听的地址,如果你本机要使用写上127.0.0.1。 #listen-address= # 如果你想在某个端口只提供dns服务,则可以进行配置禁止dhcp服务 #no-dhcp-interface= #bind-interfaces # 如果你不想使用/etc/hosts,则取消下面的注释 #no-hosts # 如果你项读取其他类似/etc/hosts文件,则进行配置 addn-hosts=/etc/banner_add_hosts # 自动的给hosts中的name增加一个域名 #expand-hosts # 自动加载conf-dir目录下的配置文件 conf-dir=/etc/dnsmasq.d # 设置dns缓存大小,默认为150条 cache-size=150

配置示例

步骤一:配置上游服务器地址

resolv-file配置Dnsmasq额外的上游的DNS服务器,如果不开启就使用Linux主机默认的/etc/resolv.conf里的nameserver。
通过下面的选项指定其他文件来管理上游的DNS服务器,修改/etc/dnsmasq.conf 配置文件:  
resolv-file=/etc/resolv.dnsmasq.conf
  在指定文件中增加转发DNS的地址,修改/etc/resolv.dnsmasq.conf 文件:
nameserver 8.8.8.8 nameserver 8.8.4.4
本地启用Dnsmasq解析,修改 /etc/resolv.conf 文件:
nameserver 127.0.0.1

步骤二:添加解析记录

1、使用系统默认hosts,修改 /etc/hosts 文件:
127.0.0.1 localhost 192.168.101.107 web01.mike.com web01 192.168.101.107 web02.mike.com web02
2、使用自定义hosts文件,修改/etc/dnsmasq.conf 配置文件,增加自定义 hosts 文件位置:
addn-hosts=/etc/dnsmasq.hosts
新建/etc/dnsmasq.hosts文件,添加DNS记录:
192.168.101.107 web01.mike.com web01 192.168.101.107 web02.mike.com web02
3、使用自定义conf,新建 /etc/dnsmasq.d/address.conf 文件并记录如下内容:
# 指定dnsmasq默认查询的上游服务器,此处以Google Public DNS为例。 server=8.8.8.8 server=8.8.4.4 # 把所有.cn的域名全部通过114.114.114.114这台国内DNS服务器来解析 server=/cn/114.114.114.114 # 给apple.com和taobao.com使用专用的DNS server=/taobao.com/223.5.5.5 server=/apple.com/223.5.5.5 # 把www.hi-linux.com解析到特定的IP address=/www.hi-linux.com/192.168.101.107 # 在这里hi-linux.com相当于*.hi-linux.com泛解析 address=/hi-linux.com/192.168.101.107
注明:也可以直接添加到/etc/dnsmasq.conf中,不过/etc/dnsmasq.d/*.conf的优先级大于/etc/dnsmasq.conf。

步骤三:启动Dnsmasq

1、启动服务:
$ systemctl restart dnsmasq
2、测试Dnsmasq解析效果:
$ dig @192.168.101.104 www.hi-linux.com
©统信软件技术有限公司。访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务进行转载,须备注:该文档出自【faq.uniontech.com】统信软件知识分享平台。否则统信软件将追究相关版权责任。
2023-05-19
0 2