Pi-Hole a OpenVPN server

Ahoj všichni,

potřeboval bych radu ohledně kofigurace Pi-Hole a OpenVPN.

Pomocí prostředí FORIS jsem rozchodil OpenVPN. Zapnul jsem “Všechen provoz skrz vpn” a “Používej DNS z vpn”.

Podle návodu (https://doc.turris.cz/doc/cs/public/pihole) jsem zprovoznil Pi-Hole. V konfiguraci Pi-Hole jsem nastavil Turris jako vlastní DNS server.

Na Turrisu jsem pak postupoval podle “Pi-Hole řešení skrz DHCP”. Pro síťové rozhraní LAN jsem upravil DHCP tak, aby dávalo klientům adresu Pi-Hole jako primární DNS server a jako sekundární Turris (co kdyby…).

Přístroje v LAN síti tedy fungují jak jsem si představoval a svoje DNS dotazy posílají na Pi-Hole.

Nyní bych rád rozchodil aby i klienti sítě VPN_TURRIS připojení pomocí OpenVPN serveru posílali DNS dotazy na Pi-Hole.

Nevím ale kudy do toho. Můžete mi prosím poradit?

Asi bych začal studiem parametrů https://wiki.openwrt.org/doc/uci/dhcp

Zjistíte že v /etc/config/network je definována síť vpn asi takto :

config interface 'vpn_turris’
option ifname 'tun_turris’
option proto 'none’
option auto ‘1’

A tedy je třeba upravit soubor /etc/config/dns tak aby pro interface vpn_turris bral nastavení dns z jiného souboru resolv.conf

tedy doplnit něco takového (příklad):

config dhcp 'vpn_turris’
option interface 'vpn_turris’
option leasetime '1h’
option ignore '0’
option resolvfile ‘/etc/resolv.conf.vpn’

a vytvořit soubor /etc/resolv.conf.vpn s obsahem

search vpn_turris
nameserver VAŠE-IP-PIHOLE

Není to přesná konfigurace a je třeba doladit dle obsahu vašeho obsahu uvedených souborů ale takto nějak bych asi začal experimentovat.

Kdyžtak sem pak hoďte návod jak jste to přesně nastavil nezkoušel jsem tuto konfiguraci, ale takto nějak by to mohlo zafungovat.

Díky za odpověď!

Chápu správně že při použití tohoto postupu budu ještě muset upravit firewall aby propustil DNS dotazy z VPN_TURRIS?

Pokud je můj předpoklad správný, tak zkusím postupovat podle tohoto návodu:
https://wiki.openwrt.org/doc/recipes/guest-wlan

Nastavil bych něco jako

# Allow DNS Guest → Router
config rule
option name ‘Allow DNS Queries to Pi-Hole and Turris from VPN_TURRIS’
option src ‘VPN_TURRIS’
option dest_ip ‘IP_PIHOLE IP_TURRIS’
option dest_port ‘53’
option proto ‘tcpudp’
option target ‘ACCEPT’

Pravděpodobně ano, bude to nejspíš nutné. Jistě se lze tím návodem inspirovat, ale bude nutné přizpůsobit vaší konfiguraci. V podstatě ale platí totéž jako pro guest network princip je podobný.

Nakonec jsem neupravil /etc/config/dhcp, ale /etc/config/openvpn. K existujícímu záznamu “dhcp-option” který ukazuje na Turris (10.111.111.1) jsem přidal daší, který ukazuje na Pihole (192.168.1.5). Celá sekce vypadá následovně:

config openvpn ‘server_turris’
option enabled ‘1’
option port ‘1194’
option proto ‘udp’
option dev ‘tun_turris’
option ca ‘/etc/ssl/ca/openvpn/ca.crt’
option crl_verify ‘/etc/ssl/ca/openvpn/ca.crl’
option cert ‘/etc/ssl/ca/openvpn/01.crt’
option key ‘/etc/ssl/ca/openvpn/01.key’
option dh ‘/etc/dhparam/dh-default.pem’
option server ‘10.111.111.0 255.255.255.0’
option ifconfig_pool_persist ‘/tmp/ipp.txt’
option duplicate_cn ‘0’
option keepalive ‘10 120’
option comp_lzo ‘yes’
option persist_key ‘1’
option persist_tun ‘1’
option status ‘/tmp/openvpn-status.log’
option verb ‘3’
option mute ‘20’
list push ‘route 192.168.155.0 255.255.255.0’
list push ‘redirect-gateway def1’
list push ‘dhcp-option DNS 192.168.1.5’
list push ‘dhcp-option DNS 10.111.111.1’

Myslím že je důležité dodržet toto pořadí, tedy aby byl Pihole (192.168.1.5) v konfiguraci dříve než Turris (10.111.111.1). No a nebo tam ten Turris vůbec nedávat. :grinning:

No a pak jsem ještě do /etc/config/firewall přidal následující pravidlo:

config rule
option enabled ‘1’
option target ‘ACCEPT’
option proto ‘tcp udp’
option dest_port ‘53’
option name ‘VPN_TURRIS DNS Rule’
option src ‘vpn_turris’
option dest ‘lan’
option dest_ip ‘192.168.1.5’

Zařízení připojené přes OpenVPN nyní užívají Pihole jako DNS, takže to funguje dle mých představ.

Díky za konzultaci @Twinkie !

1 Like