michi1983
Goto Top

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:
#   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?

scr-20241007-ngkv

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

Content-ID: 668620

Url: https://administrator.de/contentid/668620

Ausgedruckt am: 21.11.2024 um 10:11 Uhr

150704
Lösung 150704 07.10.2024 aktualisiert um 16:04:06 Uhr
Goto Top
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 face-smile.
aqui
aqui 07.10.2024 aktualisiert um 16:09:48 Uhr
Goto Top
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. face-wink
150704
150704 07.10.2024 aktualisiert um 16:10:07 Uhr
Goto Top
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.
michi1983
michi1983 07.10.2024 um 16:09:46 Uhr
Goto Top
Hi @150704,

wenn mein Setup so wäre wie du es schilderst, dann hätte ich doch ausschließlich Anfragen vom Mikrotik selbst im AdGuard? Ich sehe aber doch auch alle anderen Clients die den AdGuard per se per DHCP als DNS Server mit bekommen.

Wo ist mein Denkfehler?

Gruß
michi1983
michi1983 07.10.2024 um 16:10:05 Uhr
Goto Top
Zitat von @150704:

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.

exakt
michi1983
michi1983 07.10.2024 um 16:11:33 Uhr
Goto Top
Zitat von @aqui:
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. face-wink

Das ist richtig, aber wenn der RB auf Updates prüft, braucht er ja auch einen DNS Server face-smile
Den des ISP habe ich ausgenipst aktuell.
150704
Lösung 150704 07.10.2024 aktualisiert um 16:15:30 Uhr
Goto Top
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!
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
aqui
Lösung aqui 07.10.2024 aktualisiert um 16:32:56 Uhr
Goto Top
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.
michi1983
michi1983 07.10.2024 um 16:12:29 Uhr
Goto Top
Zitat von @aqui:
Nur die die aus dem anderen Netz über den RB kommen kannst du durchs NAT nicht mehr Client spezifisch sehen.

Sprich mein Gäste VLAN in meinem Fall?
aqui
aqui 07.10.2024 aktualisiert um 16:34:50 Uhr
Goto Top
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. face-wink

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.
michi1983
michi1983 07.10.2024 um 16:32:06 Uhr
Goto Top
Danke euch, case closed.