Centos 搭建DNS服务器 (dnsmasq)

DNS应用场景:

通常情况,访问公司内网下的服务器,比如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服务,客户端可以通过内网dns服务器,使用域名(testweb.abcd)访问web服务器.

实验环境:

DNS服务端 (dns-server) IP:192.168.226.202

DNS客户端(dns-client) IP:192.168.226.236

web服务器(web) IP:192.168.226.237


配置前需要的操作:

开放防火墙

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.安装

[root@dns-server ~]# yum install dnsmasq -y

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 :::*

启动成功!


web服务器配置

1.下载http服务

[root@web ~]# yum install httpd -y

2.修改网站首页内容

[root@web ~]# cat /var/www/html/index.html

web test

3.关闭防火墙

[root@web ~]# systemctl stop firewalld

[root@web ~]# setenforce 0


DNS客户端配置

1.修改/etc/resolv.conf文件

[root@dns-client ~]# vim /etc/resolv.conf

nameserver 192.168.226.202


测试:

[root@dns-client ~]# curl testweb.abcd

web test

[root@dns-client ~]# ping testweb.abcd

PING testweb.abcd (192.168.226.237) 56(84) bytes of data.

64 bytes from 192.168.226.237 (192.168.226.237): icmp_seq=1 ttl=64 time=0.903 ms

......

你可能感兴趣的:(Centos 搭建DNS服务器 (dnsmasq))