mirror of
https://github.com/unifi-utilities/unifios-utilities.git
synced 2024-08-30 18:32:21 +00:00
Added Pihole with cloudflared
This commit is contained in:
parent
5882b0e5d0
commit
ffb38bbdaa
@ -29,7 +29,7 @@ IPV6_GW=""
|
||||
FORCED_INTFC=""
|
||||
|
||||
# container name; e.g. nextdns, pihole, adguardhome, etc.
|
||||
CONTAINER=nextdns
|
||||
CONTAINER=pihole
|
||||
|
||||
if ! test -f /opt/cni/bin/macvlan; then
|
||||
echo "Error: CNI plugins not found. You can install it with the following command:" >&2
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Run NextDNS on your UDM
|
||||
|
||||
# THIS IS NO LONGER MAINTAINED
|
||||
## Features
|
||||
|
||||
1. Run NextDNS on your UDM with a completely isolated network stack. This will not port conflict or be influenced by any changes on by Ubiquiti.
|
||||
|
15
run-pihole/10-cloudflared.sh
Normal file
15
run-pihole/10-cloudflared.sh
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ! test -f /opt/cni/bin/macvlan; then
|
||||
ARCH=$(uname -m)
|
||||
if [ $ARCH == "x86_64" ]
|
||||
then
|
||||
ARCH="amd64"
|
||||
elif [ $ARCH == "aarch64" ]; then
|
||||
ARCH="arm64"
|
||||
fi
|
||||
curl -fsSLo "/opt/cloudflared" https://github.com/cloudflare/cloudflared/releases/download/2021.5.9/cloudflared-linux-$ARCH
|
||||
chmod +x /opt/cloudflared
|
||||
fi
|
||||
/opt/cloudflared update
|
||||
/opt/cloudflared proxy-dns $CLOUDFLARED_OPTS &
|
5
run-pihole/Dockerfile
Normal file
5
run-pihole/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
# docker buildx build --platform linux/amd64,linux/arm64 . -t docker.io/boostchicken/pihole:latest --push
|
||||
FROM pihole/pihole:latest
|
||||
|
||||
ENV CLOUDFLARED_OPTS="--port 5053 --address 0.0.0.0"
|
||||
COPY 10-cloudflared.sh /etc/cont-init.d/
|
@ -20,8 +20,8 @@
|
||||
1. Copy [05-install-cni-plugins.sh](../cni-plugins/05-install-cni-plugins.sh) to /mnt/data/on_boot.d
|
||||
1. Execute /mnt/data/on_boot.d/05-install-cni-plugins.sh
|
||||
1. On your controller, make a Corporate network with no DHCP server and give it a VLAN. For this example we are using VLAN 5.
|
||||
2. Copy [20-dns.conflist](../cni-plugins/20-dns.conflist) to /mnt/data/podman/cni. This will create your podman macvlan network
|
||||
3. Copy [10-dns.sh](../dns-common/on_boot.d/10-dns.sh) to /mnt/data/on_boot.d and update its values to reflect your environment
|
||||
1. Copy [20-dns.conflist](../cni-plugins/20-dns.conflist) to /mnt/data/podman/cni. This will create your podman macvlan network
|
||||
1. Copy [10-dns.sh](../dns-common/on_boot.d/10-dns.sh) to /mnt/data/on_boot.d and update its values to reflect your environment
|
||||
|
||||
```
|
||||
...
|
||||
@ -33,15 +33,15 @@
|
||||
...
|
||||
```
|
||||
|
||||
4. Execute /mnt/data/on_boot.d/10-dns.sh
|
||||
5. Create directories for persistent Pi-hole configuration
|
||||
1. Execute /mnt/data/on_boot.d/10-dns.sh
|
||||
1. Create directories for persistent Pi-hole configuration
|
||||
|
||||
```
|
||||
mkdir -p /mnt/data/etc-pihole
|
||||
mkdir -p /mnt/data/pihole/etc-dnsmasq.d
|
||||
```
|
||||
|
||||
6. Create and run the Pi-hole docker container. The following command sets the upstream DNS servers to 1.1.1.1 and 8.8.8.8.
|
||||
1. Create and run the Pi-hole docker container. The following command sets the upstream DNS servers to 1.1.1.1 and 8.8.8.8.
|
||||
|
||||
```sh
|
||||
podman run -d --network dns --restart always \
|
||||
@ -59,19 +59,37 @@
|
||||
-e IPv6="False" \
|
||||
pihole/pihole:latest
|
||||
```
|
||||
The below errors are expected and acceptable
|
||||
|
||||
```sh
|
||||
ERRO[0022] unable to get systemd connection to add healthchecks: dial unix /run/systemd/private: connect: no such file or directory
|
||||
ERRO[0022] unable to get systemd connection to start healthchecks: dial unix /run/systemd/private: connect: no such file or directory
|
||||
```
|
||||
|
||||
The below errors are expected and acceptable
|
||||
|
||||
```sh
|
||||
ERRO[0022] unable to get systemd connection to add healthchecks: dial unix /run/systemd/private: connect: no such file or directory
|
||||
ERRO[0022] unable to get systemd connection to start healthchecks: dial unix /run/systemd/private: connect: no such file or directory
|
||||
```
|
||||
|
||||
6. Set pihole password
|
||||
1. Set pihole password
|
||||
|
||||
```sh
|
||||
podman exec -it pihole pihole -a -p YOURNEWPASSHERE
|
||||
```
|
||||
|
||||
7. Update your DNS Servers to 10.0.5.3 (or your custom ip) for each of your Networks (UDM GUI | Networks | Advanced | DHCP Name Server)
|
||||
8. Access the pihole like you would normally, e.g. http://10.0.5.3 if using examples above
|
||||
1. Update your DNS Servers to 10.0.5.3 (or your custom ip) for each of your Networks (UDM GUI | Networks | Advanced | DHCP Name Server)
|
||||
1. Access the pihole like you would normally, e.g. http://10.0.5.3 if using examples above
|
||||
|
||||
## PiHole with CloudFlareD Command
|
||||
```sh
|
||||
podman run -d --network dns --restart always \
|
||||
--name pihole \
|
||||
-e TZ="America/Los Angeles" \
|
||||
-v "/mnt/data/etc-pihole/:/etc/pihole/" \
|
||||
-v "/mnt/data/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/" \
|
||||
--dns=127.0.0.1 \
|
||||
--dns=1.1.1.1 \
|
||||
--hostname pi.hole \
|
||||
-e CLOUDFLARED_OPTS="--port 5053 --address 0.0.0.0" \
|
||||
-e VIRTUAL_HOST="pi.hole" \
|
||||
-e PROXY_LOCATION="pi.hole" \
|
||||
-e ServerIP="10.0.5.3" \
|
||||
-e PIHOLE_DNS_="127.0.0.1#5053" \
|
||||
-e IPv6="False" \
|
||||
boostchicken/pihole:latest
|
||||
```
|
Loading…
Reference in New Issue
Block a user