Pi-hole是一个DNS服务器,是可以用一台Linux主机来简单搭建并通过WEB面板管理各项功能的开源软件。使用Pi-hole自建DNS服务器主要有以下好处:
※屏蔽互联网上绝大多数的烦人广告、弹窗等等;
※有效防止DNS劫持,自建的就是安心;
※自定义屏蔽或是放行某个域名,用处你懂的;
※记录访客的DNS解析信息,用户在什么时间访问了哪些网站,你都可以一览无余的查看到。
开始进入正题~
由于是本地搭建,所以我选择用ESXI 6.7来新建一台虚拟机(如果自己有VPS的也可以远程搭建):
1、在ESXI里面创建新的虚拟机
2、给虚拟机起一个名字
3、选择存储到哪个盘,由于我只有单盘没得选,只能下一步
4、设置CUP、内存、存储盘格式、及磁盘置备,我这里给的是单核、1G内存,磁盘置备选的是精简置备
5、在“CD/DVD驱动器1”那里,选择“数据存储ISO文件”
6、把事先下载好的安装包上传到ESXI,安装包下载地址:http://mirrors.njupt.edu.cn/ubuntu-releases/18.04.1/ubuntu-18.04.1-live-server-amd64.iso
7、检查设置无误,就可以点完成了
8、虚拟机开机,稍等一下就会进入安装界面。安装界面的语言我们选择“English”,回车
9、输入键盘同样选择“English”,回车
10、开始安装,回车
11、当前网络IP地址信息,回车
12、不需要代理,回车
13、选择磁盘安装,回车
14、选择安装的磁盘,我这是单盘没得选,只能回车
15、磁盘分区,回车
16、确定磁盘信息无误,回车
17、输入使用者名字、服务器名字、用户名和密码,回车
18、已经开始安装了,稍等吧
19、安装的时候也可以看看进度
20、安装完成,向下移动方向键,选择“Reboot Now”重启
21、此时可以退出安装包,然后按回车重启
22、重启后需要输入之前设置的用户名和密码登录(注意:输入密码时屏幕不显示,输入按回车就可以了)
23、登录进来了
24、输入“sudo passwd root”回车,给root设置密码
25、首先输入当前用户的密码,然后输入给root设置新的密码
26、重复输入新的密码
27、root用户的密码设置成功
28、输入“su root”及设置的密码登录root用户
29、root成功
30、我们要修改IP地址,输入“vim /etc/netplan/50-cloud-init.yaml”回车
31、看到这个界面后,先按一次键盘的“i”键,左下角会显示“—INSERT—”,使文件变成可以编辑
32、请根据自己的网络,设置相应的IP地址和网关IP,本文件设置IP地址为192.168.1.2,网关地址为192.168.1.1
34、确认修改无误后,按一次ESC键,输入:wq回车,保存退出编辑
35、输入“netplan apply”回车使网络设置生效
36、输入“curl -sSL https://install.pi-hole.net | bash”回车,开始安装Pi-hole
37、安装界面
38、回车
39、回车
40、回车
41、选择“Custom”自己定义DNS的IP地址
42、根据自己网络情况,输入上级DNS的IP地址,本文用的是网关IP
43、确认无误,选择YES
44、选择OK
45、本地没有IPv6,所以只选择IPv4(按空格选择,有*号的是选中)
46、确认当前IP地址和网关地址无误后,点YES
47、选择OK
48、选择OK
49、选择OK
50、选择OK
51、选择OK,正式开始安装了
52、安装进度
53、继续等待
54、安装完成,最后一行显示是系统自动给的登录密码
55、系统给的密码太难记了,我们需要自己改一下,输入“sudo pihole -a -p 新密码”回车设置新的登录密码
56、在浏览器打开http://ip/admin,在左边的菜单选Login,输入刚才修改的密码,点Lonig按钮登录
57、在左边的菜单选Settings,然后点blocklists标签页,系统默认的过滤规则我们都不选,然后在框中自己添加以下信息(每次添加一条,添加一次点一次Save):
http://someonewhocares.org/hosts/hosts
https://raw.githubusercontent.com/StevenBlack/hosts/master/data/StevenBlack/hosts
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
http://sysctl.org/cameleon/hosts
http://www.montanamenagerie.org/hostsfile/hosts.txt
http://www.malwaredomainlist.com/hostslist/hosts.txt
http://adaway.org/hosts.txthttp://winhelp2002.mvps.org/hosts.txt
58、我们再来添加几个适合中国用户的广告过滤规则进去,加强一下Pi-hole的广告过滤功能,首先在root目录下新建一个sh脚本文件,输入以下两行命令(一次输一行,输入完成按回车):
cd /root vi adblock.sh
59、又进入我们熟悉的界面了,同样按一次“i”键,进入编辑状态
60、在编辑状态下输入以下四行内容,输入按一次ESC后输入:wq保存退出
curl -s -L https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt https://easylist-downloads.adblockplus.org/malwaredomains_full.txt https://easylist-downloads.adblockplus.org/fanboy-social.txt > adblock.unsortedsort -u adblock.unsorted | grep ^\|\|.*\^$ | grep -v \/ > adblock.sortedsed 's/[\|^]//g' < adblock.sorted > adblock.hostsrm adblock.unsorted adblock.sorted
61、然后输入“bash adblock.sh”回车,运行这个脚本文件
62、稍等片刻,等脚本执行完毕
63、我们可以输入“cat adblock.hosts”查看一下adblock.hosts内的域名列表
64、可以看到这些域名都是即将被我们屏蔽掉的广告性质的域名:
65、输入“cd /etc/pihole”进入到Pi-hole的程序目录
66、输入“vi adlists.list”编辑adlists.list文件
67、依然是按一次“i”键进入编辑状态
68、移动向下键到文件最后一行按回车新起一行,输入“file:///root/adblock.hosts”
69、输入完成后按一次ESC,输入:wq保存退出
70、输入“pihole -g”执行更新规则命令
71、耐心等待更新完成后,系统就将easylistchina+easylist、malwaredomains_full、fanboy-social这三个新的广告过滤规则添加到了Pi-hole中去了。
72、最后,如果以后pihole的界面出现新版本提示时,想要升级Pihole也很简单,只要以root用户登陆虚拟机输入“pihole -up” ,就可以自动升级到最新版本。
附:9个广告过滤列表:
Blocklists used to generate Pi-hole’s Gravity: 9
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://mirror1.malwaredomains.com/files/justdomains
http://sysctl.org/cameleon/hosts
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
https://hosts-file.net/ad_servers.txt
https://easylist-downloads.adblockplus.org/abp-filters-anti-cv.txt
https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt