Linux
This guide is made for Ubuntu/Debian based distros, if you are using another distro, some commands can be diffrent, but most of it should be the same.
If you are setting up something like Pi-hole on the system, then you will need to set another port, example: 8053
Install Cloudflare's Argo Tunnel:
wget "https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.deb"
dpkg -i cloudflared-stable-linux-amd64.deb
rm cloudflared-stable-linux-amd64.deb
Generate config files:
mkdir -p /usr/local/etc/cloudflared
cat << EOF > /usr/local/etc/cloudflared/config.yml
proxy-dns: true
proxy-dns-upstream:
- https://cloudflare-dns.com/dns-query
proxy-dns-address: 127.0.0.1
proxy-dns-port: 53
EOF
echo "" > /usr/local/etc/cloudflared/cert.pem
Add the following to /etc/hosts
:
1.1.1.1 cloudflare-dns.com
1.0.0.1 cloudflare-dns.com
2606:4700:4700::1111 cloudflare-dns.com
2606:4700:4700::1001 cloudflare-dns.com
Install Cloudflare's Argo Tunnel:
wget "https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.deb"
dpkg -i cloudflared-stable-linux-amd64.deb
rm cloudflared-stable-linux-amd64.deb
Generate config files:
mkdir -p /usr/local/etc/cloudflared
cat << EOF > /usr/local/etc/cloudflared/config.yml
proxy-dns: true
proxy-dns-upstream:
- https://security.cloudflare-dns.com/dns-query
proxy-dns-address: 127.0.0.1
proxy-dns-port: 53
EOF
echo "" > /usr/local/etc/cloudflared/cert.pem
Add the following to /etc/hosts
:
1.1.1.2 security.cloudflare-dns.com
1.0.0.2 security.cloudflare-dns.com
2606:4700:4700::1112 security.cloudflare-dns.com
2606:4700:4700::1002 security.cloudflare-dns.com
Install Cloudflare's Argo Tunnel:
wget "https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-amd64.deb"
dpkg -i cloudflared-stable-linux-amd64.deb
rm cloudflared-stable-linux-amd64.deb
Generate config files:
mkdir -p /usr/local/etc/cloudflared
cat << EOF > /usr/local/etc/cloudflared/config.yml
proxy-dns: true
proxy-dns-upstream:
- https://family.cloudflare-dns.com/dns-query
proxy-dns-address: 127.0.0.1
proxy-dns-port: 53
EOF
echo "" > /usr/local/etc/cloudflared/cert.pem
Add the following to /etc/hosts
:
1.1.1.3 family.cloudflare-dns.com
1.0.0.3 family.cloudflare-dns.com
2606:4700:4700::1113 family.cloudflare-dns.com
2606:4700:4700::1003 family.cloudflare-dns.com
And install cloudflared as a service, run it, and check that it runs:
cloudflared service install
systemctl start cloudflared
systemctl status cloudflared
Test if cloudflared is able to resolve hostname:
host -t AAAA cloudflare.com 127.0.0.1
If you are running on another port than 53 and you want to verify resvolving, you can install dnsutils
:
apt-get install dnsutils
dig +short @127.0.0.1 -p 53 cloudflare.com AAAA
Add autoupdate by adding the following to cron with command crontab -e
:
0 2 * * * cloudflared update; systemctl restart cloudflared