用ESXI搭建自建带广告过滤功能的DNS服务器——Pi-hole

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.unsorted
sort -u adblock.unsorted | grep ^\|\|.*\^$ | grep -v \/ > adblock.sorted
sed 's/[\|^]//g' < adblock.sorted > adblock.hosts
rm 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

点赞

发表回复