树莓派瞎玩~9~dns服务器
Posted xiaobaidonghui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派瞎玩~9~dns服务器相关的知识,希望对你有一定的参考价值。
点击这里查看DNSMASQ文档
安装dnsmasq
pi@raspberrypi:~ $ sudo apt-get install -y dnsmasq
dnsmasq的基本配置
- listen-address: 监听地址,listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1
- strict-order: 按照resolv.conf中nameserver顺序依次使用,本行被注释后会随机的调用nameserver
- cache-size: 缓存解析条数,默认是150
本节参考 简单的配置dnsmasq作为本地dns缓存层 和 Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
关于resolv.conf
在dnsmasq.conf
中,默认注释了no-resolv
,因此可以通过设置resolv.conf
配置DNS服务器。
!!经过测试,这个文件每次重启都会被系统重写,因此只适合临时存放!!
resolv.conf
文件主要的作用是DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名。
/etc/resolv.conf
文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名
相关文件:/etc/host.conf
文件格式:
domainname 域名
search 域名
nameserver Primary_DNS_Server_IP_address
nameserver Second_DNS_Server_IP_address
该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下:
search luckcy.com
nameserver208.164.186.1
nameserver208.164.186.2
“search domainname.com”表示当提供了一个不包括完全域名的主机名时,在该主机名后添加domainname.com的后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。
其中domainname和search可同时存在,也可只有一个;nameserver可指定多个
示例文件内容:
search luckcy.com
nameserver 202.118.66.6
本节引用自Richard Shen运维/架构
配置开始
sudo nano /etc/resolv.conf
修改其中的DNS服务器,第一个DNS服务器设置为本机,使DNS查询首先解析DNSMASQ
# Generated by resolvconf
nameserver 127.0.0.1
nameserver 202.206.240.13
nameserver 202.206.240.12
resolv.conf 被重写的解决方案
在dnsmasq配置文件中,有如下一段叙述,通过从另一个文件中查找DNS的上游服务器。
# Change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf
resolv-file=/etc/resolv_xiaobai.conf
建立resolv_xiaobai.conf
,加入上游DNS服务器
重启树莓派测试,域名被正确解析
修改hosts
在dnsmasq.conf
中,默认注释了no-hosts
,这代表dnsmasq
会首先寻找本地的hosts
文件,然后去寻找缓存下来的域名,最后去上游dns服务器查找。
sudo nano /etc/hosts
hosts 原始内容
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
可以按照这种格式加入任意域名的解析
以上是关于树莓派瞎玩~9~dns服务器的主要内容,如果未能解决你的问题,请参考以下文章