利用Dnsmasq部署DNS服务实现企业内部的DNS域名解析

Dnsmasq工作原理

   Dnsmasq提供DNS缓存,当接受到一个DNS请求时,Dnsmasq首先会查找/etc/hosts这个文件,
   然后查找/etc/resolv.conf中定义的外部DNS。

   配置Dnsmasq为DNS缓存服务器,同时在/etc/hosts文件中加入本地内网解析,这样一来每当
   内网机器查询时就会优先查询hosts文件,这就等于将/etc/hosts共享给全内网机器使用,从而
   解决内网机器互相识别的问题。

安装DNSmasq

  • centos7所需要环境
  • 关闭防火墙和selinux
    1.yum install dnsmasq -y

配置DNSmasq
2.vim /etc/dnsmasq.conf

修改如下图:(重复地方5-6步骤)
下面有解释,找在本DNS服务器找不到的时候,在这个文件中寻找其他的域名DNS服务器
在这里插入图片描述



  1. 允许所有用户使用你的DNS服务,即listen-address默认注释掉即可,如果你不想所有用户都使用你的DNS服务,可以在listen-address后面加上你指定的IP地址,如:
    listen-address=listen-address=192.168.1.123,127.0.0.1


4.配置DNS服务器上的hosts文件
把需要解析的域名和ip添加进去,如下图:
192.168.47.129 gitlab.trunk.com
在这里插入图片描述
5. 配置配置文件vim /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf

  1. vim /etc/resolv.dnsmasq.conf
    nameserver 8.8.8.8
    nameserver 114.114.114.114

strict-order #dnsmasq会从resolv.dnsmasq.conf这个文件中找上游dns服务器。
在这里插入图片描述
7. cp /etc/hosts /etc/dnsmasq.hosts
把/etc/hosts拷贝过来 (以后所有的ip地址解析都添加到这个文件中,然后重启dnsmasq)

在vim /etc/dnsmasq.conf添加:
addn-hosts= /etc/dnsmasq.hosts
如图:
在这里插入图片描述
8.配置需要解析的域名
/*上面的hosts文件已经配置过,直接复制就可以(在安装dnsmasq的机器上最好也做本地解析)
在这里插入图片描述
用DNS的ip地址进行域名解析,然后用nginx进行代理(有端口号的如:8090,不直接访问80的服务使用这个代理)

server {
    listen 80;
    server_name gitlab.trunk.com;
    proxy_set_header            Host $host;
    location / {
         proxy_pass http://192.168.47.129:8081;
    }
    }

#
**测试**
/etc/reslov.conf
客户端的nameserver 改为配置的DNS服务器地址
ping  域名

nslookup + 域名

也可以使用dig检验
dig + 域名

#没有nslookup可以安装
yum -y install bind-utils
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值