自建DNS 教程

DNSmasq是一款小巧且方便地用于配置DNS服务和DHCP主机的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能,并且提供本地缓存查询请求的功能。

1、安装dnsmasq

CentOS 系统:

yum update yum install -y dnsmasq

Debian/Ubuntu 系统:

apt-get update apt-get install -y dnsmasq

2、查看DNSmasq的版本

dnsmasq -v

以下是输出结果,只要不是提示 找不到命令就没事( -bash: dnsmasq: command not found )

Dnsmasq version x.xx Copyright (c) 2000-2012 Simon KelleyCompile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack

This software comes with ABSOLUTELY NO WARRANTY.Dnsmasq is free software, and you are welcome to redistribute itunder the terms of the GNU General Public License, version 2 or 3.

3、配置文件Dnsmasq的配置文件为:dnsmasq.conf包管理器 方式安装的配置文件位置为:/etc/dnsmasq.conf本教程只简介配置DNS服务,以下部分只指出DNS服务的相关配置。首先复制一份配置文件的备份,然后清空原配置文件,并根据下面的参数说明写入配置内容:

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak echo "" > /etc/dnsmasq.conf

打开配置文件并根据下面的参数说明写入配置内容,按 I键 进入编辑模式,改完后按 ESC键 退出并输入 :wq 保存并退出。

vi /etc/dnsmasq.conf

配置文件参数说明:

port=53 # 指定DNSmasq的监听端口,默认为53端口,也可设置为5353端口从而防止53端口DNS污染(但某些设备如win并不支持非53端口) resolv-file=/xxx/xx.conf # 指定DNSmasq获取上游DNS主机地址的文件,不配置此项则默认从 /etc/resolv.conf(linux默认DNS配置文件) 获取 strict-order # 严格按照 resolv-file 参数指定的文件中按从上到下的顺序发送DNS解析请求,直至获取解析应答成功为止 listen-address= # 指定DNSmasq监听的地址,若仅提供为本机使用可设置为 127.0.0.1 ,留空或设置为 0.0.0.0 即任何人都可访问 address=/xxx.xx/x.x.x.x # 自定义某些地址的解析主机,可以 过滤或者指定 某些网站(支持ipv6,直接写ipv6的地址即可) # 过滤广告或者某域名,例如配置 address=/www.nanqinlang.com/127.0.0.1 # 把广告域名解析请求发送到错误的解析主机IP 127.0.0.1 即可屏蔽该域名的访问 # 也可以把 www.google.com 等指向一个国外的SNI代理IP,即可实现DNS科学上网 server=208.67.222.222#5353 # 指定上游DNS解析主机,此处推荐设置为可使用5353端口的opendns bogus-nxdomain=208.67.222.222 # 用于防止DNS污染/劫持,参数和上面 server 项填写相同的 ip ,但不支持非53端口。 conf-dir=/etc/dnsmasq.d/ # 加载 /etc/dnsmasq.d/ 文件夹内的配置文件

配置文件示例:

port=53 strict-order listen-address=127.0.0.1 server=208.67.222.222#53 bogus-nxdomain=208.67.222.222 conf-dir=/etc/dnsmasq.d/

自定义地址解析 单独建立一个配置文件:複製代碼vi /etc/dnsmasq.d/sni.conf

然后按格式写入自定义地址解析,示例如下:

address=/google.com/1.1.1.1 address=/google.com.hk/1.1.1.1 address=/google.co.jp/1.1.1.1 address=/gmail.com/1.1.1.1 address=/youtube.com/1.1.1.1

注意:如果 这个文件或配置文件 修改了,那么需要重启 DNSmasq后才能生效。

4、使用说明启用DNSmasq服务

service dnsmasq start

停止DNSmasq服务

service dnsmasq stop

重启DNSmasq服务(当修改配置文件后,需要重启)

service dnsmasq restart

5、卸载DNSmasq

如果 /etc/dnsmasq.d 目录有文件,那么需要先删除这个目录才能正常卸载:

先删除这个目录

rm -rf /etc/dnsmasq.d

CentOS 系统

yum remove dnsmasq -y

Debian/Ubuntu 系统:

apt-get remove --purge dnsmasq -y

在PC/路由器/移动设备中设置DNS为你的VPS IP,端口设置53(如有) 即可。

via:https://doub.io/wlzy-32/

推荐站内搜索:电信服务器租用、网站备案域名查询、香港云服务器、免费cn域名注册、免费com域名注册网站、抗投诉vps主机、美国虚拟主机购买、域名价格、美国网站空间、虚拟空间、