Itsellä on ollut jonkinaikaa kodin sisäverkossa Pi-hole DNS-resolver -palvelin, joka suodattaa automaattisesti mm. mainoksia ja trackereitä verkossani. Kuitenkin esimerkiksi Androidilla käyttäessä muissa verkoissa niin DNS-palvelimia ei ole oikein voinut muuttaa ennen Android 9:llä olevaa DNS over TLS (DoT)-tukea, johon voi nyt oman DNS-palvelimenkin asettaa.
Mikäli sisäverkossasi on toinen DNS-palvelin niin tämä ohje toimii muillakin nimipalvelimilla.
Tarvittavat asiat
- Julkinen verkkotunnus, kuten mt-tech.fi (voi olla myös aliverkkotunnus). Ohjeessa käytän example.org verkkotunnusta.
- Julkinen IP-osoitteen, mihin olet ohjannut DNS:n avulla verkkotunnuksesi.
- SSL-sertifikaatti, ilmainen Let’s Encrypt käy hyvin
- Palomuurista tulee avata portti 853 internettiin.
Asenna ja konfiguroi haProxy
Asenna haProxy-pakettihallinnasta.
sudo apt install haproxy
Konfiguroi haProxy asennuksen jälkeen avaamalla konfigurointi tiedosto /etc/haproxy/haproxy.cfg ja konfiguroimalla seuraavalla tavalla. Tässä esimerkiksi haProxy ja Pi-hole DNS-palvelin ovat samalla Debian-palvelimella.
global log /dev/log local0 chroot /usr/local/var/lib/haproxy user haproxy group haproxy maxconn 4000 pidfile /usr/local/var/run/haproxy.pid tune.ssl.default-dh-param 2048 ssl-default-bind-ciphers TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256:EECDH+AESGCM:EECDH+CHACHA20 ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private defaults balance roundrobin timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout check 10s listen dns bind :::853 v4v6 tfo ssl crt /etc/haproxy/certkey.pem mode tcp server server1 127.0.0.1:53
Kopioi Let’s Encryptin hakemistosta verkkotunnuksesi privaattiavain ja julkinen avain yhteen tiedostoon
cat /etc/letsencrypt/live/example.org/fullchain.pem /etc/letsencrypt/live/example.org/privkey.pem > /etc/haproxy/certkey.pem
Käynnistä tämän jälkeen haProxy uudelleen
sudo service haproxy restart
Aseta nyt DNS over TLS-palvelimen osoite Android-puhelimesi Private DNS-asetuksiin. Tämä ominaisuus siis saatavilla Android 9:stä alkaen.