Integrácia Pi-hole s FortiGate ako primárny DNS server

V domácej sieti som si pred časom vytvoril menší projekt – vlastný DNS server.
K tomuto riešeniu ma viedlo viacero dôvodov – prevádzkujem niekoľko serverov na Raspberry Pi, a chcel som mať možnosť:
- jednoducho spravovať A záznamy pre lokálne služby,
- blokovať reklamy a sledovacie skripty,
- a využívať SSL certifikáty aj pre lokálne domény.
Ako DNS server som sa rozhodol použiť Pi-hole, ktorý tieto požiadavky pokrýva elegantne a spoľahlivo.
Aby však komunikácia medzi FortiGate a Pi-hole fungovala správne, bolo potrebné nakonfigurovať FortiGate nasledovne:
cez príkazový riadok
config system dhcp server
edit 1
set interface "lan"
set default-gateway 10.10.8.1
set netmask 255.255.255.0
set dns-service specify
set dns-server1 10.10.8.2 # Pi-hole
set dns-server2 1.1.1.1 # fallback Cloudflare
next
end
Týmto nastavením FortiGate:
- priraďuje IP adresy zariadeniam v sieti cez DHCP,
- a zároveň smeruje všetky DNS požiadavky najprv na Pi-hole (10.10.8.2),
- ktorý filtruje nežiadané domény a reklamy,
- pričom v prípade výpadku sa DNS dotazy presmerujú na Cloudflare (1.1.1.1).
by bola sieť stabilná a jednotlivé servery mali stále rovnaké IP adresy, rozhodol som sa nastaviť DHCP server priamo na Fortigate.
Ten má na starosti prideľovanie adries všetkým zariadeniam v sieti, a zároveň som si v ňom vytvoril rezervácie pre dôležité servery – napríklad DNS (Pi-hole), mail server, NAS, monitoring či Asterisk.
DHCP server je nakonfigurovaný tak, aby:
- Prideľoval IP adresy v rozsahu
10.10.8.50 – 10.10.8.200pre bežné zariadenia (notebooky, mobily, IoT). - Používal ako bránu (
default-gateway) Fortigate s adresou10.10.8.1. - Ako hlavný DNS server smeroval na Pi-hole (
10.10.8.2), ktorý rieši blokovanie reklám a lokálne DNS záznamy. - Ako záložný DNS používal Cloudflare (
1.1.1.1). - Rezervoval pevné IP adresy pre dôležité zariadenia, aby sa ich adresa nikdy nezmenila.
Rezervované IP adresy
Konfigurácia DHCP na Fortigate
config system dhcp server
edit 1
set lease-time 86400
set ntp-service local
set default-gateway 10.10.8.1
set netmask 255.255.255.0
set interface "lan"
config ip-range
edit 1
set start-ip 10.10.8.50
set end-ip 10.10.8.200
next
end
config reserved-address
edit 1
set ip 10.10.8.4
set mac dc:a6:32:d8:e4:7c # Mail server
next
edit 2
set ip 10.10.8.2
set mac dc:a6:32:aa:d2:17 # Pi-hole DNS
next
edit 3
set ip 10.10.8.3
set mac b8:27:eb:60:90:1f # NAS
next
edit 5
set ip 10.10.8.5
set mac 2a:a7:ba:36:5f:48 # Monitoring (Zabbix)
next
edit 6
set ip 10.10.8.6
set mac 88:a2:9e:26:e9:f2 # Asterisk PBX
next
edit 7
set ip 10.10.8.24
set mac e4:5f:01:5d:14:ae # Rezerva
next
end
set dns-server1 10.10.8.2
set dns-server2 1.1.1.1
next
end
| Zariadenie | IP adresa | MAC adresa | Popis |
|---|---|---|---|
| Pi-hole | 10.10.8.2 | dc:a6:32:aa:d2:17 | DNS a blokovanie reklám |
| Mail Server | 10.10.8.4 | dc:a6:32:d8:e4:7c | Poštový server |
| NAS | 10.10.8.3 | b8:27:eb:60:90:1f | Úložisko dát |
| Zabbix Monitoring | 10.10.8.5 / 10.10.8.21 | 2a:a7:ba:36:5f:48 | Monitorovanie infraštruktúry |
| Asterisk PBX | 10.10.8.6 | 88:a2:9e:26:e9:f2 | Telefónny systém |
| Rezerva | 10.10.8.24 | e4:5f:01:5d:14:ae | Voľné pre budúce použitie |
Inštalácia Pihole
Inštaláciu Pihole si môžete pozrieť v tomto linku