500–800 tisíc dns static záznamů na MikroTiku není dobrý nápad.
Ne kvůli RAM – ale kvůli architektuře DNS v RouterOS. V praxi se začne chovat špatně mnohem dřív.
RouterOS DNS resolver není navržený jako velká databáze pravidel. RB5009 má 1 GB RAM.
Velmi hrubý odhad:
1 záznam ≈ 150–250 B
800k záznamů:
800000 × 200 B ≈ 160 MB
RAM by to teoreticky unesla.
Ale problém je jinde.
Největší problém: DNS lookup
RouterOS DNS:
není optimalizovaný na statisíce pravidel
nemá radix tree / hash index
nemá RPZ engine
Takže dotaz může projít velkou část tabulky.
Výsledek:
DNS odpověď místo 1–3 ms
může mít 20–100 ms
Další problém: API update
Pokud automat zapisuje blokace:
500k záznamů
a každý update znamená: /ip dns static add ...
RouterOS začne:
lagovat CLI
lagovat Winbox
zatěžovat CPU
Reálné řešení:
RPZ DNS resolver
např.:
Unbound
PowerDNS Recursor
Bind RPZ
Ty jsou na to navržené.
RPZ zvládne:
10 milionů domén bez problému.
Architektura:
klienti
↓
MikroTik (redirect port 53)
↓
DNS resolver (Unbound / RPZ)
a tam můžeš mít klidně 5 milionů blokací bez zpomalení.
Zrovna si hraju s pihole+unbound na rpi4 (8GB ram) a cpu se nedostane nad 5%
Plná automatika - stahování blok listu hazard/léčiva + další listy, cca 750k domén.