Im letzten Artikel haben wir einen Heim-DoH-Server mit Pi-Hole implementiert, der nicht nur eine große Anzahl von Anzeigen herausfilterte, sondern auch unsere DNS-Anforderungen in HTTPS kapselte, wodurch sie aus dem Bereich der Filteranforderungen des Telekommunikationsbetreibers entfernt wurden .
Diese Lösung ist für alle großartig, hat aber eine Einschränkung. Wenn uns plötzlich das Geld auf dem Konto beim Telekommunikationsbetreiber ausgeht oder aus einem anderen Grund der Kommunikationskanal zur Außenwelt verschwunden ist, können wir das Konto nicht einmal auffüllen, um den Dienst wiederherzustellen, da der DNS nicht funktioniert . Wenn beispielsweise unser Pi-Hole aus irgendeinem Grund nicht mehr funktioniert, scheint das gesamte Netzwerk zu funktionieren, und Google antwortet. Bis Sie einen anderen DNS-Server registrieren, wird es kein Glück geben. Und wenn Sie in diesem Moment noch mit etwas anderem beschäftigt sind und nicht sofort mit der Genesung beginnen können - die Familienmitglieder sind empört, verderben die freudige Existenz mit ihren Beschwerden, und selbst die Katzen, die allgemeine Nervosität spüren, neigen dazu, in Ihre Pantoffeln zu scheißen.
Das Aufregen der Katzen ist das Letzte. In diesem Artikel werde ich beschreiben, wie Sie bei Problemen mit Pi-Hole die automatische Umschaltung von Pi-Hole auf Operator-DNS (wie auch jedes andere) implementieren können.
TL; DR
Wir konfigurieren die automatische Umschaltung des DNS-Dienstes zwischen Pi-Hole und Mikrotik mithilfe des VRRP-Protokolls in der Keepalived-Daemon-Implementierung.
Es wird kein magisches Know-how offenbart, eine einfache Schritt-für-Schritt-Anleitung für diejenigen, die nicht alle Feinheiten selbst verstehen wollen.
Was brauchst du dafür?
Implementierte Pi-Hole-Lösung aus dem vorherigen Artikel. Es ist klar, dass die beschriebene Lösung grundsätzlich für die Fehlertoleranz verwendet werden kann, aber in diesem speziellen Fall werden wir uns auf diese spezielle Implementierung konzentrieren. Die Basis-Linux-Lösung ist Ubuntu.
Mikrotik . , OpenWRT, EdgeRouter, - PC, . VRRP - , , , . , VRRP - Pi-Hole Pi-Hole DNS-.
IPv4- Pi-Hole : 192.168.1.10 .
IPv4- : 192.168.1.1 bridge .
IPv4- DNS: 192.168.1.9
Linux root (.. sudo -i).
" W", , .
, VRRP Virtual Router Redundancy Protocol NHRP (Next-Hop Resolution Protocol). - , , , , . , , ISO/OSI IP-, , VRRP-, . , , , , VRRP ( ). , , , , Cisco GLBP, , ARP-. GLBP CARP.
VRRP , , - 224.0.0.18, . - . - , , , , IP . , ( ), . - IP-, .
. Cisco , , Enhanced Object Tracking. , .
:
DNS
Pi-Hole VRRP 100 90 Pi-Hole
Pi-Hole , DNS Pi-Hole 110
DHCP IP- DNS.
1. DNS Mikrotik
, , DNS . DNS- - , . DNS DHCP, Winbox IP - DNS Servers DNS- .
2. VRRP Mikrotik
VRRP Bridge . Winbox, :
/interface vrrp add interface=bridge name=vrrp-dns version=2 vrid=10
/ip address add address=192.168.1.9/24 interface=vrrp-dns network=192.168.1.0
vrrp-dns - ( , ), vrid - ID , 1-255, . bridge IPv4- .
192.168.1.9 - , .
3. VRRP Pi-Hole
keepalived:
apt install keepalived
/etc/keepalived/keepalived.conf:
! Configuration File for keepalived
vrrp_script check_dns {
script "/etc/keepalived/check_dns.sh"
interval 5 # every 5 seconds
weight 20 # add 20 points if OK
timeout 5 #
rise 2 # avoid flapping
fall 2 # avoid flapping
}
vrrp_instance VI_1 {
state MASTER
interface ens160
virtual_router_id 10
priority 90
advert_int 1
virtual_ipaddress {
192.168.1.9/24
}
track_script {
check_dns
}
}
, Pi-Hole - ens160, ( , , ifconfig).
DNS /etc/keepalived/check_dns.sh:
#!/bin/bash
host -s -4 amazon.com 127.0.0.1 > /dev/null 2>&1
:
chmod +x /etc/keepalived/check_dns.sh
DNS . amazon.com. , TTL - 1 , Pi-Hole , , . , - 0 error code, keepalived , , . error code - Mikrotik.
:
systemctl restart keepalived
. Mikrotik , :
vrrp-dns now BACKUP, got higher priority 110 from 192.168.1.10
, 192.168.1.9 Pi-Hole, - pi.hole:
nslookup pi.hole 192.168.1.9
Server: 192.168.1.9
Address: 192.168.1.9#53
Name: pi.hole
Address: 192.168.1.10
, Pi-Hole, IP - .
4. DHCP Mikrotik
DHCP- Mikrotik DNS. WinBox - . IP - Networks, , Pi-Hole DNS Servers Pi-Hole 192.168.1.10 192.168.1.9.
, , DNS, , (, nslookup pi.hole - ). .
- DNS- , Mikrotik. .
, , , , , . , , - .
, , .