请注意。这篇文章失败了,所以随便找了张图片
最近小达我看了一个视频,是ltt发的,里面用树莓派在家里搭建了一个纯净的DNS服务器,实则是利用了运营商DNS劫持的原理,不过运营商是在正常的网站里加东西,而树莓派则屏蔽了网站的广告资源。视频运用了一个名为pi-hole的软件,它可以安装到Linux上,这里我就想到了,可不可以将pi-hole安装到服务器上,实现不在家里,也屏蔽广告呢?于是我就做了个测试。
官网上写到:
Distribution | Release | Architecture |
---|---|---|
Raspbian | Stretch / Buster | ARM |
Ubuntu | 16.x / 18.x | ARM / x86_64 |
Debian | 9 / 10 | ARM / x86_64 / i386 |
Fedora | 28 / 29 | ARM / x86_64 |
CentOS | 7 | x86_64 |
可见它支持我们安装的centos或Ubuntu,不多bb,竟然支持,直接开搞!
依照官网的安装说明,我们可以直接使用它的一键安装代码:(无法连接请翻到下文)
curl -sSL https://install.pi-hole.net | bash
不用担心后门,因为pi-hole-是一个开源的软件,当然,你也可以通过Git的方式查看软件的代码:
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
cd "Pi-hole/automated install/"
sudo bash basic-install.sh
输入命令后,稍作等待,就会进入pi-hole的图形界面

这里我们一路回车,大概走个两三下,pi-hole就会让我们选择上游DNS,因为真的自己搭建一个是不可能的,那需要大量的人力物力,以及庞大的服务器资源,所以这里会选择上游DNS。

注意了,这里就不能直接回车了,而且一定不要选择Google DNS,这里推荐使用Cloudflare,据说国内被百度代理了,速度杠杠的(找不到的往下翻一下)
之后的内容全部回车,它会选择规则,安装管理面板,都是些无关紧要的玩意儿,不用管它。
之后,按道理来说,应该就是pi-hole的管理密码了,但小达在这里遇到了一个错误,也放出来让大家看看。
[i] Main Dependency checks...
[✓] Checking for cron
[✓] Checking for curl
[✓] Checking for dnsutils
[✓] Checking for iputils-ping
[✓] Checking for lsof
[i] Checking for netcat (will be installed)
[✓] Checking for psmisc
[✓] Checking for sudo
[✓] Checking for unzip
[✓] Checking for wget
[i] Checking for idn2 (will be installed)
[i] Checking for sqlite3 (will be installed)
[✓] Checking for libcap2-bin
[✓] Checking for dns-root-data
[✓] Checking for resolvconf
[✓] Checking for libcap2
[i] Checking for lighttpd (will be installed)
[i] Checking for php7.3-common (will be installed)
[i] Checking for php7.3-cgi (will be installed)
[i] Checking for php7.3-sqlite (will be installed)
总之就是一些依赖文件没有安装,显示(will be installed)就是没装的,解决方法也很简单。
apt install 没装的依赖
而这个PHP一栏需要注意了,apt默认没有PHP的软件原,我们需要自行添加。
apt -y install software-properties-common apt-transport-https lsb-release ca-certificates
add-apt-repository ppa:ondrej/php
apt update
然后就可以安装缺少的PHP支持库了。
在运行库补全后,再安装一次,继续等啊等,又发生了一个错误
[i] FTL Checks...
[✓] Detected x86_64 architecture
[i] Checking for existing FTL binary...
[i] Downloading and Installing FTL...
这里pi-hole需要下载ftl文件,然而这个地址在国内无法访问,这就尴尬了。更正,ftl文件以及上文的一键安装命令的URL:raw.githubusercontent.com,并不是被qiang,而是国内的部分dns运营商对它动了手脚,具体可参考我的另一篇文章 用了这么多年网络,你知道DNS是什么吗(*'▽'*)♪ 。这里你只需要知道,这个域名被污染了即可。这里只需要在/etc/hosts文件中加入:
151.101.40.133 raw.githubusercontent.com
临时修改hosts即可继续,不过由于它是一个国外IP,所以下载依然会很慢,大家耐心等待一哈(大概10分钟)。
按道理来说是这样,但。。。依旧无法下载,小达使用了几个hosts,都无法解决,只能遗憾的宣布,此文终结。
发表评论