此种方法,适用于arm和x86。pihole是什么,我就不多说了,可以理解为adguardhome的爸爸,防dns劫持,加速网页打开速度,总之好处多多。
今天介绍的方法是docker 安装pihole。
为什么要用docker来安装呢?因为简单,方便,一句命令,就能安装。
安装方法
1.先给自己的系统安装docker
按照我的命令一行一行执行就可以了
先移除自己系统之前的docker系统
sudo apt-get remove docker docker-engine docker.io containerd runc
然后执行系统更新
sudo apt-get update
然后安装必要的依赖,下面代码直接复制就可以了
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
下载官方源密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将官方源加到apt源中
arm64位系统(适用于N1 树莓派等开发板)
sudo add-apt-repository \ "deb [arch=arm64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
x86电脑系统执行这句话
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
执行更新
sudo apt-get update
安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
2.docker开启网卡混杂模式,并创建桥接网卡
先开启docker的网卡混杂模式,查看自己系统的网卡,执行下面命令
sudo ifconfig
看到显示自己本机内网地址哪一行的标头,就是网卡名称,博主的是eth0
执行下面命令,开启docker网卡混杂,不要无脑复制,下面的eth0请替换成自己的网卡名称
sudo ip link set eth0 promisc on
给docker创建桥接网卡,不要无脑复制,下面subbet后面的192.168.1.0请替换成自己网关的网段,比如你的网关是192.168.3.1,那么就写成192.168.3.0,gateway后面填写自己的网关,parent后面的eth0,请替换成自己网卡的名称!!!
sudo docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet
安装pihole,下面代码,不要无脑复制,请根据自己实际情况更改。ip后面地址,请填写成自己想要的,但是要和主路由在一个网段,dns后面手动指向自己的网关
sudo docker run -d --name pihole --network macnet --ip 192.168.1.53 -e TZ="Asia/Shanghai" -v /mnt/pihole/pihole/:/etc/pihole/ -v /mnt/pihole/dnsmasq.d/:/etc/dnsmasq.d/ --dns=192.168.1.1 --restart always pihole/pihole:latest
给pihole设定一个密码,执行下面命令
sudo docker exec -it pihole pihole -a -p
安装结束,路由器手动指定pihole的地址,为dns地址即可。博主的pihole地址是192.168.2.53