5-ipv6服务器之-dns

5-ipv6服务器之-dns,第1张

ubuntu下面安装dns服务器使用dnsmasq

dnsmasq是一个Linux平台下的轻量级DNS 代理软件,我们只将其配置成一个简单的本地DNS Server。另外此软件最新版本含有DHCP Server以及TFTP Server的功能,这些功能默认都是关闭的, 根据依赖关系可能会安装其他包。

(如dnsmasq-base等, 但Ubuntu 10.04 Desktop已默认安装过,但在安装时可能会自动升级dnsmasq-base)。

打开文件/etc/dnsmasq.conf(安装后默认此配置文件内的所有参数都被注释掉), 找到参数resolv-file和addn-hosts, 去掉注释符号#后修改成如下值。

此处resolve-file指定dnsmasq从哪里获取上行DNS Server, 默认是从/etc/resolv.conf获取。

因为dnsmasq本是一个DNS代理软件而非Server, 我们只是利用dnsmasq的缓存功能来实现DNS Server, 故而要将上行server指定为本机地址, 在文件/etc/dnsmasq/dnsmasq.resolv中指定nameserver为127.0.0.1即可。

addn-hosts指定dnsmasq从哪个文件中读取“地址 域名”记录, 默认是系统文件/etc/hosts, 此处我们指定从自定义文件/etc/dnsmasq/dnsmasq.hosts中读取。

创建文件夹/etc/dnsmasq/(这里的文件夹是上一步中地址的两个文件所在目录, 可以自己任意指定, 但要和上一步中的保持一致), 并添加文件/etc/dnsmasq/dnsmasq.resolv和/etc/dnsmasq/dnsmasq.hosts。

添加一行内容到/etc/dnsmasq/dnsmasq.resolv文件中

添加自定义的“地址 域名”记录到文件/etc/dnsmasq/dnsmasq.hosts中, 支持IPv6地址, 例如:

可以任意添加自己的本地DNS Server可解析的“地址 域名”记录, 注意必须重新启动dnsmasq才可以使更新生效(也可以发送信号SIGHUP给dnsmasq进程, 具体请参考dnsmasq帮助文档, Shell命令man dnsmasq)。

实际上dnsmasq是将这些记录读取到内存中缓存起来(默认最多可以记录150条记录, 可以自己在配置文件/etc/dnsmasq.conf中修改), 收到DNS查询请求时从自身的缓存中直接查找答复。

更多功能及设置请参考dnsmasq的帮助文档或者查看配置文件/etc/dnsmasq中的注释说明内容。

如果启动DNS Server失败请查看系统log(/var/log/syslog),

使用nslookup直接测试

ipv4地址

ipv6地址

192.168.1.204 DNS

192.168.1.202 nginx

(容器安装,docker安装就不赘述了)

为了方便,使用docker环境手动搭建DNS服务器,选择andyshinn/dnsmasq的docker镜像,2.75版本

查看是否创建成功

进入容器,以下内容均在容器内操作

创建代理文件并添加内容

添加解析规则

修改dnsmasq配置文件,指定使用上述两个我们自定义的配置文件

重启容器

(nginx安装不再赘述)

因为nginx要配置域名跳转,nginx要使用80端口,80端口只能使用root启动或者使用普通用户(非80端口,如9000)启动后通过端口转发将9000转发为80端口(需要开启防火墙)

配置文件/nginx/conf/nginx.conf中要包含

在/nginx/conf/conf.d目录下

jira.conf配置文件

wiki.conf配置文件

需要修改DNS配置更改为192.168.1.204 这个IP就可以了

如:win10修改DNS配置

右击wifi所在位置,选择“打开网络和‘Internet’设置”,后选择“网络和共享中心”

打开后找到连接的网络,点击网络,打开属性并将自动获取DNS修改为手动获取,如下,修改IP

点击wifi打开热点即可

查看/etc/resolv.con 我们会发现dns服务器为127.0.1.1,记住不是127.0.0.1

好奇葩的一个地址

这是个什么呢,这个 https://segmentfault.com/q/1010000002443769 回答了你的问题

ubuntu下有一个本地的dns服务叫做dnsmasq,它是由NetworkManager控制的

它监听的本地地址,--listen-address=127.0.1.1 (ubuntu12.04及之前的版本 是 127.0.0.1), 这个地址是一个本地回环地址

而你真实的dns服务器地址,是被这个服务管理维护着的

由一张图表示就是:

local process ->local dnsmasq ->router ->ISP dns

(百度百科)

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台 主机 中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

其中:

DNSmasq把因特网地址和地址-域名映射关系放入cache中,减少服务器负担的同时也提升了性能

DNSmasq能配置来自动用PPP或DHCP配置请求从上行域名解析服务器中获取地址信息,如果信息发生改变,它会自动重载这些信息。

DNSmasq能被配置用来向特定的上行服务器发送特定的域名解析请求,从而可以简单的与私有的DNS服务器结合使用。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/472461.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-06
下一篇2023-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存