基于dnsmasq搭建内网代理DNS,实现内网自定义域名访问内网服务器

本教程作用

在搭建本地测试环境时,希望各项配置和线上服务器一直,如nginx,编译地址,反向代理配置等。
既然要和线上服务器配置一致,那必然会出现一个问题,就是域名映射。
要求大家都配置hosts,并不是一个好的方法,动用的人力和浪费的时间比较多,而且可能产生误操作。
基于这个需求,经过咨询一些同事和在网上查找,发现了代理DNS这个服务,它能使你自定义域名进行访问。如test.dev.com指向192.168.1.10(本地测试环境服务器),prod.dev.com指向192.168.1.10(预生产环境服务器),使得整个配置除了域名,和生产环境完全一致

本教程基于docker docker-compose搭建,各项配置都已经配置好,可直接启动使用

docker和docker-compose编排文件文章传送门

安装docker和docker-compose请看文章文档,已经写好脚本

其中docker/compose/dnsmasq/docker-compose.yml为启动文件,执行后,即可启动代理DNS。
其中重要的三个文件

  • /conf/dnsmasq/dnsmasq.conf 设置配置文件
resolv-file=/etc/resolv.dnsmasq
addn-hosts=/etc/hosts.dnsmasq
  • /conf/dnsmasq/resolv.dnsmasq 设置代理的DNS(用于访问外网)
nameserver 114.114.114.114
nameserver 8.8.8.8
  • /conf/dnsmasq/hosts.dnsmasq 配置自定义域名列表(类似hosts配置文件和写法)
192.168.1.10 dev.com

如果新增自定义域名,只需要再/conf/dnsmasq/hosts.dnsmasq文件中添加执行ip和自定义域名即可

最重要的一步,配置dns服务器
配置dns,才能使用自己的代理dns服务器

  • 自己电脑网络配置,配置完成后,即可访问dev.com,并且此域名指向192.168.1.10本地服务器

在这里插入图片描述
在这里插入图片描述

3箭头指向的ip地址为DNS服务器ip

  • 公司范围内配置共用dns,这也是大部分的应用场景,将dns服务器ip地址,配置到公共的路由器上,即可实现。
    在这里插入图片描述
    至此,搭建完成并配置连接此路由器的电脑都可以使用配置的自定义域名

如搭建中遇到问题,可私信或留言一起讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值