淘先锋技术网

首页 1 2 3 4 5 6 7

Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。
它同时也可以作为一个dns查询服务器,虽然不如bind等完善,但基本功能也够用了。
通常情况,访问公司内网下的服务器,比如git服务等,大家可以使用IP访问,但是有时DHCP服务分配ip有时可能会发生变化。但是每个人都改本地的hosts又比较麻烦,这时我们可以在内网部署一台域名解析(DNS)服务器。
整个配置过程大概有这几步:
1.在内网上的一台服务器上部署dnsmasq服务作域名解析(不适用其DHCP功能).
2.将内网的服务ip域名映射,设置到dnsmasq的配置文件里.
3.在DHCP服务上,把默认的DNS地址改成内网的这台服务器IP地址.这样再连网会由DHCP把IP和DNS这些设置分配给服务器.
使用域名上网的过程如下:
1.访问一个域名,在本地的/etc/hosts文件里查询
2.本地hosts文件找不到,找到DNS服务器上寻找
3.DNS服务器接收到域名访问,如果是本地配置好的,则直接返回结果.如果本地没有配置,则到dnsmasq配置的默认上一级DNS服务器上找
配置前需要的操作:
开放防火墙
dnsmasq默认端口是53。懒得修改就默认
#方法一

firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent

#方法二

firewall-cmd --permanent --add-service=dns

DNS服务端配置
1.安装

2.配置/etc/dnsmasq.conf
配置之前先进行备份

[root@dns-server ~]# cp -a /etc/dnsmasq.conf   /etc/dnsmasq.conf.bak
[root@dns-server ~]# vim /etc/dnsmasq.conf 
 
port=53                       #指定DNS的端口,默认53
 
cache-size=2048       #缓存条数,默认为150条
 
resolv-file=/etc/resolv.conf      #指定 resolv-file 文件路径,默认/etc/resolv.conf
 
address=/testweb.abcd/192.168.226.237    #启用泛域名解析,即自定义解析a记
 
listen-address=127.0.0.1,192.168.226.202         #将dns服务器用于局域网,监听本机ip地址
 
strict-order    #表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
 
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig      #包括的配置文件文件夹路径

3.修改/etc/resolve.conf文件,添加上游DNS服务器

[root@dns-server ~]# vim /etc/resolv.conf 
 
nameserver 114.114.114.114 

4.启动dnsmasq服务

[root@dns-server ~]# systemctl restart dnsmasq 
 
[root@dns-server ~]# ss -tnl | grep :53
 
LISTEN     0      5            *:53                       *:*
 
LISTEN     0      5           :::53                      :::* 

启动成功!