树莓派瞎玩~9~dns服务器

Posted xiaobaidonghui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派瞎玩~9~dns服务器相关的知识,希望对你有一定的参考价值。

树莓派瞎玩~9~dns服务器


点击这里查看DNSMASQ文档

安装dnsmasq

pi@raspberrypi:~ $ sudo apt-get install -y dnsmasq

dnsmasq的基本配置

  1. listen-address: 监听地址,listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1
  2. strict-order: 按照resolv.conf中nameserver顺序依次使用,本行被注释后会随机的调用nameserver
  3. 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服务器的主要内容,如果未能解决你的问题,请参考以下文章

树莓派瞎玩~5~控制GPIO之Python

树莓派瞎玩~7~RPi.GPIOのWIKI文档

树莓派瞎玩~7~RPi.GPIOのWIKI文档

树莓派瞎玩~7~RPi.GPIOのWIKI文档

树莓派瞎玩~2~远程登录

树莓派瞎玩~3~Pi的基本配置