使用Overture搭建支持EDNS的私人DNS

功能

先匹配域名,再匹配解析出的ip来决定走primary DNS还是alternative DNS来解析,域名列表(domain_sample)命中,走alternative DNS, 否则走primary DNS,如果解析出的ip不在ip段(ip_network_sample)里,则再去走alternative DNS解析,这样可通过自己组合来完成逻辑上的解析流程。

 

安装配置(Centos7.4)

创建文件夹并进入

cd / && mkdir overture && cd overture

下载Overture

wget https://github.com/shawn1m/overture/releases/download/1.3.6rc2/overture-linux-amd64.zip

解压文件

unzip overture-linux-amd64.zip

备份初始文件

cp ip_network_sample ip_network_sample.bak

配置文件

echo “0.0.0.0/0” > ip_network_sample
vim config.json

配置文件介绍

BindAddress:监听的ip地址和端口号,默认同时监听TCP和UDP端口
PrimaryDNS:主DNS
Name:DNS标志
Address:DNS的IP和端口号
Protocol:使用的协议
SOCKS5Address:转发DNS请求到Socket5代理
Timeout:代理到后端的超时时间
EDNSClientSubnet:智能DNS解析,建议设置为auto,根据客户端的IP地址做判断而不是客户端指定的DNS的IP地址
MinimumTTL:Overture缓存解析记录的时长
CacheSize:Overture缓存大小

域名配置

“DomainFile”: “./domain_sample” #这个文件里可放需走alternative DNS的域名, 如google.com, 支持后缀命中
“DomainBase64Decode”: false #这个要false关闭域名列表的64解码,才能用明文来表达域名

IP列表配置

“IPNetworkFile”: “./ip_network_sample” #直接用0.0.0.0/0, 如有特别的逻辑可改

启动Overture

./overture-linux-amd64
-c:指定配置文件路径;默认当前启动路径的下的config.json文件
-l:指定日志路径和日志文件;默认当前启动路径下的overture.log
-p:指定进程数;默认当前CPU的核心数
-v:Debug日志模式

 

真麻烦为什么不能自启动???这简直糟糕透了!!!

 

设置Overture自启动

chmod +x /etc/rc.d/rc.local
vi /etc/rc.local 并写入 sh /dns.sh
vi /dns.sh
cd /overture
nohup /overture/overture-linux-amd64 -c /overture/config.json -l /overture/overture.log >/dev/null 2>&1 &
chmod 777 /dns.sh

大功告成~~~

但是,但是!!!重点在这里!!!
自己搭建Overture耗时耗钱,不想折腾可以直接使用Hi!XNS,已经稳定运行3年,非常可靠乐观!当然不是单纯的Overture那么简单,通过二次开发达到更高水准!非常纯净哦~~ 传送门:https://hixns.com/

发表回复