docker安装pihole,给自己的网络一个纯净无劫持的dns

此种方法,适用于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

 

——本文章为Cattypapa原创,如需转载,请注明出处——

发表评论

电子邮件地址不会被公开。 必填项已用*标注