Mikrotik - Adguard Setup - Frage
Hallo Admins,
schönen Nachmittag euch allen.
Ich habe in meinem 172.16.16.0/24 Netzwerk einen Docker Container laufen welcher AdGuard Home beherbergt.
Dieser läuft auf der IP 172.16.16.110
Meine Adressierung im Netzwerk sieht wie folgt aus:
Unter IP -> DNS auf dem RB4011 habe ich als DNS Server die 9.9.9.9 definiert.
Mittels DHCP-Server, übergebe ich allen Clients die 172.16.16.110 als DNS Server.
Da ich, wie oben sichtbar 2 Netzwerke habe (2 VLANS), habe ich mittels DSTNAT Rules erzwungen (zumindest glaube ich das zu tun mit meinem laienhaften Wissen), dass jeglicher Traffic, der an einen DNS Server gerichtet ist, auch zum AdGuard weiter geleitet wird.
So, und jetzt zu meiner Frage:
Warum sehe ich im AdGuard noch immer requests von meinem RB4011 selbst mit der IP 172.16.16.254?
Eigentlich dürfte doch der RB4011 selbst, keine DNS Requests mehr an den AdGuard schicken.
Gibt es noch Settings die ich ev. grad nicht am Schirm habe, welche ich hier überprüfen könnte?
Falls ich noch was nachreichen soll, bitte einfach Bescheid geben.
Danke und Gruß
Michi
schönen Nachmittag euch allen.
Ich habe in meinem 172.16.16.0/24 Netzwerk einen Docker Container laufen welcher AdGuard Home beherbergt.
Dieser läuft auf der IP 172.16.16.110
Meine Adressierung im Netzwerk sieht wie folgt aus:
# ADDRESS NETWORK INTERFACE
0 172.16.16.254/24 172.16.16.0 vlan1_lan
1 172.16.18.254/24 172.16.18.0 vlan10_guest
2 D XXX.XXX.XXX.XXX/32 XXX.XXX.XXX pppoe
Unter IP -> DNS auf dem RB4011 habe ich als DNS Server die 9.9.9.9 definiert.
servers: 9.9.9.9
dynamic-servers:
use-doh-server:
verify-doh-cert: no
doh-max-server-connections: 5
doh-max-concurrent-queries: 50
doh-timeout: 5s
allow-remote-requests: yes
max-udp-packet-size: 4096
query-server-timeout: 2s
query-total-timeout: 10s
max-concurrent-queries: 100
max-concurrent-tcp-sessions: 20
cache-size: 2048KiB
cache-max-ttl: 1w
address-list-extra-time: 0s
vrf: main
mdns-repeat-ifaces:
cache-used: 40KiB
Mittels DHCP-Server, übergebe ich allen Clients die 172.16.16.110 als DNS Server.
# ADDRESS GATEWAY DNS-SERVER
0 172.16.16.0/24 172.16.16.254 172.16.16.110
1 172.16.18.0/24 172.16.18.254 172.16.16.110
Da ich, wie oben sichtbar 2 Netzwerke habe (2 VLANS), habe ich mittels DSTNAT Rules erzwungen (zumindest glaube ich das zu tun mit meinem laienhaften Wissen), dass jeglicher Traffic, der an einen DNS Server gerichtet ist, auch zum AdGuard weiter geleitet wird.
5 chain=dstnat action=dst-nat to-addresses=172.16.16.110 protocol=udp src-address=!172.16.16.110 in-interface-list=ALL_LAN dst-port=53 log=yes
log-prefix="dstnat_to_adguard:"
6 chain=dstnat action=dst-nat to-addresses=172.16.16.110 protocol=tcp src-address=!172.16.16.110 in-interface-list=ALL_LAN dst-port=53 log=yes
log-prefix="dstnat_to_adguard:"
So, und jetzt zu meiner Frage:
Warum sehe ich im AdGuard noch immer requests von meinem RB4011 selbst mit der IP 172.16.16.254?
Eigentlich dürfte doch der RB4011 selbst, keine DNS Requests mehr an den AdGuard schicken.
Gibt es noch Settings die ich ev. grad nicht am Schirm habe, welche ich hier überprüfen könnte?
Falls ich noch was nachreichen soll, bitte einfach Bescheid geben.
Danke und Gruß
Michi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668620
Url: https://administrator.de/contentid/668620
Ausgedruckt am: 21.11.2024 um 10:11 Uhr
11 Kommentare
Neuester Kommentar
Stichwort HairPin NAT. Wenn du das Ziel eines Clients auf ein anderes im selben Subnetz umschreibst musst du ja Masquerading am Mikrotik machen da der Adguard ansonsten versuchen würde die Antwort direkt an den Client im selben Subnetz zustellen was zu keiner Verbindung führen würde weil der Client ja eine Antwort vom Router bzw. der externen IP erwartet.
Durch das Masquerading des HairPin-NAT kommen dann sämtliche Anfragen der Clients aus dem Netz des Adguard von der IP des Mikrotik. Works as designed .
Durch das Masquerading des HairPin-NAT kommen dann sämtliche Anfragen der Clients aus dem Netz des Adguard von der IP des Mikrotik. Works as designed .
Die eigentliche Frage ist ja warum du überhaupt NAT machst?!
Eigentlich muss das ja nicht sein wenn man von einem lokalen LAN in ein anderes lokales LAN will. Simples Durchlassen in der Firewall für TCP/UDP 53 reicht doch sofern deine beiden VLANs firewalltechnisch geblockt sind. Wenn sie es gar nicht sind müsste man das je eh nicht.
Warum also die überflüssige Mühe und Verkomplizierung mit NAT?!
Ein weiterer großer Nachteil ist das du durchs NAT die Client spezifischen DNS Statistiken im Adguard verlierst. Logisch, denn als DNS Absender "sieht" der Adguard ja einzig nur noch die geNATete Router Adresse und nicht mehr die eigentliche Client IPs. So fehlen einem die Client spezifischen DNS Statistiken die ja gerade interessant sind.
Welchen DNS du auf dem RB benutzt ist nebenbei ganz irrelevant, denn die Clients nutzen ja nur noch den Adguard. Der auf dem RB ist ungenutzt bzw. agiert dann nur wenn dein Adgaurd mal weg ist und die wieder auf den RB als DNS umstellst.
Eigentlich muss das ja nicht sein wenn man von einem lokalen LAN in ein anderes lokales LAN will. Simples Durchlassen in der Firewall für TCP/UDP 53 reicht doch sofern deine beiden VLANs firewalltechnisch geblockt sind. Wenn sie es gar nicht sind müsste man das je eh nicht.
Warum also die überflüssige Mühe und Verkomplizierung mit NAT?!
Ein weiterer großer Nachteil ist das du durchs NAT die Client spezifischen DNS Statistiken im Adguard verlierst. Logisch, denn als DNS Absender "sieht" der Adguard ja einzig nur noch die geNATete Router Adresse und nicht mehr die eigentliche Client IPs. So fehlen einem die Client spezifischen DNS Statistiken die ja gerade interessant sind.
Welchen DNS du auf dem RB benutzt ist nebenbei ganz irrelevant, denn die Clients nutzen ja nur noch den Adguard. Der auf dem RB ist ungenutzt bzw. agiert dann nur wenn dein Adgaurd mal weg ist und die wieder auf den RB als DNS umstellst.
Die eigentliche Frage ist ja warum du überhaupt NAT machst?!
Er will den Adguard wohl erzwingen für Devices die z.B. manuell andere DNS Server gesetzt haben und diese somit gezwungenermaßen auf den Adguard leiten.Zitat von @michi1983:
wenn mein Setup so wäre wie du es schilderst, dann hätte ich doch ausschließlich Anfragen vom Mikrotik selbst im AdGuard?
Nein! Nur bei Clients die im selben Subnetz wie des Adguard liegen ist das der Fall!wenn mein Setup so wäre wie du es schilderst, dann hätte ich doch ausschließlich Anfragen vom Mikrotik selbst im AdGuard?
Bei Clients aus anderen Subnetzen müssen die Pakete ja automatisch wieder über den Router und müssen somit nicht Masqueraded werden (kein HairpinNAT), weil sie ja eine IP aus einem anderen Subnetz haben.
https://help.mikrotik.com/docs/display/ROS/NAT#NAT-HairpinNAT
Dein Denkfehler liegt vermutlich daran das du natürlich die lokalen Clients die im gleichen IP Netz wie der Adguard liegen immer siehst. Die nutzen den Router natürlich gar nicht. Wozu auch wenn es Traffic innerhalb des gleichen Netzes ist?!
Nur die die aus dem anderen Netz über den RB und dann durchs NAT kommen kannst du nicht mehr Client spezifisch sehen.
Nur die die aus dem anderen Netz über den RB und dann durchs NAT kommen kannst du nicht mehr Client spezifisch sehen.
Jepp...nur für das gilt ja die NAT Regel. Innerhalb des VLAN1 greift egal welches Regelwerk ja gar nicht.
Entferne das NAT und lasse einfach nur TCP/UDP 53 vom Gast nur auf die Adguard Hostadresse .16.110 des Adguards passieren (und nur die und nur den Port) und schon ist dein "Problem" gelöst.
Sofern dir die DNS Öffnung des Gastnetzes auf den Adguard in der FW nicht geheuer ist und dein RB in einer Router Kaskade mit einem bestehenden NAT Router arbeitet könntest du es auch eleganter lösen indem du den Adguard in das Koppelnetz RB-Router legst. Das erfordert dann keinerlei zusätzliches Regelwerk geschweige denn NAT.
Ist der RB direkt per Nur-Modem am Internet, greift dann wieder das o.a. 53er-Adguardhost Regelwerk oder alternativ ohne Regel dann ein weiteres Segment auf das beide Netze Zugriff haben.
Entferne das NAT und lasse einfach nur TCP/UDP 53 vom Gast nur auf die Adguard Hostadresse .16.110 des Adguards passieren (und nur die und nur den Port) und schon ist dein "Problem" gelöst.
Sofern dir die DNS Öffnung des Gastnetzes auf den Adguard in der FW nicht geheuer ist und dein RB in einer Router Kaskade mit einem bestehenden NAT Router arbeitet könntest du es auch eleganter lösen indem du den Adguard in das Koppelnetz RB-Router legst. Das erfordert dann keinerlei zusätzliches Regelwerk geschweige denn NAT.
Ist der RB direkt per Nur-Modem am Internet, greift dann wieder das o.a. 53er-Adguardhost Regelwerk oder alternativ ohne Regel dann ein weiteres Segment auf das beide Netze Zugriff haben.