Pourquoi dois-je m’y intéresser ?
Le Split DNS, une stratégie ingénieuse, permettant d’adresser vos services auto hébergés de manière identique que vous soyez dans votre réseau local ou depuis Internet.
Pour faire court, vous pouvez accéder à vos services via leur adresse IP et numéro de port lorsque vous êtes chez vous. En revanche, une adresse IP est moins facile à mémoriser qu’un nom de domaine et vous vous éviterez ainsi les alertes au certificats invalides.
Dernier point : un split DNS est juste indispensable si vous souhaitez utiliser des services dont l’application mobile vous demandera l’adresse du service en question.
Par exemple, prenons l’application mobile NextCloud (Android/iOS). Depuis chez vous vous arriverez sans trop de problème à paramétrer via l’adresse IP en 192.168.x.y. En revanche, une fois en vadrouille cela ne fonctionnera plus (je met à l’écart volontairement le cas d’une connexion VPN pour cet exemple).
Avec un paramétrage par nom de domaine et mise en place du split DNS, plus de problème !

De quoi avez-vous besoin ?
Tout d’abord il faut comprendre que mettre en place un split DNS impose certaines choses, et un petit diagnostic de votre installation s’impose.
Vous disposez d’une box permettant de changer vos serveurs DNS | Vous ne disposez pas d’une box permettant de changer vos serveurs DNS :'( |
– Mise en place d’un (ou deux) serveurs DNS auto hébergés (unbound, pi-hole) – Paramétrage du DNS pour résoudre les noms de votre domaine par les adresse IP locales | – Achat d’un nouveau routeur permettant la configuration des DNS – Mise en place d’un (ou deux) serveurs DNS auto hébergés (unbound, pi-hole) – Paramétrage du DNS pour résoudre les noms de votre domaine par les adresse IP locales |
Etant chez Orange, je suis dans le second cas et ce fut un des moteur qui m’a poussé à faire l’acquisition d’un second routeur que je place avant ma Livebox.
Cas d’usage – OPNsense & Unbound DNS
Avec Unbound, un serveur DNS performant, nous pouvons configurer le split DNS en quelques étapes simples. Je vais vous guider à travers le processus, étape par étape.
Premièrement, accédez à l’interface Web d’OPNsense et rendez-vous dans la section Unbound DNS. Là, vous trouverez les paramètres nécessaires pour configurer le Split DNS dans le menu Services > Unbound DNS > Overrides.

Ensuite, identifiez les domaines que vous souhaitez gérer en interne et externe. Cette étape est cruciale pour définir les règles de routage DNS appropriées.

Il suffira ensuite de créer un « Override » pour dire à son serveur DNS de rediriger toutes les requêtes qui concernent le domaine ou sous-domaine vers l’adresse IP de votre choix.
Si vous avez suivi la liste de mes articles, vous savez que j’utilise HAProxy pour le reverse DNS. J’ai donc simplement redirigé tous les appels à « liberix.net » vers mon reverse proxy qui se chargera d’acheminer le traffic vers la bonne machine et avec le bon niveau de sécurité.
Le cas Pi-Hole
Installer Pi-Hole est assez simple et encore une fois le ratio temps passé / bénéfice très positif au quotidien.
Comment l’installer ?
Pour l’installer vous avez plusieurs choix
- Vous avez un serveur Proxmox, alors je vous recommande d’aller au plus simple et d’utiliser le script prêt à l’emploi de https://tteck.github.io/Proxmox/
- Vous avez un petit Raspberry Pi qui traine dans un placard, alors vous pouvez opter pour la méthode proposée par Pi-Hole
Pour les besoins de cet article j’ai opté pour la première méthode

Après quelques minutes votre Pi-Hole sera installé et disponible à l’adresse indiquée à la fin du script.

Pour changer le mot de passe de l’interface d’admin, une commande est nécessaire à executer sur la machine créée pour Pi-Hole
sudo pihole -a -p
Et voila ! 183512 noms de domaine filtrés par défaut avec la blocklist donnée par défaut.

Paramétrage de la résolution de votre nom de domaine en local
Afin de pouvoir résoudre vos noms de domaine avec leur IP local, rendez-vous sur « Local DNS > DNS Record »

Si jamais vous avez plusieurs sous-domaines que vous souhaitez résoudre localement, je vous recommande de ne déclarer que votre nom de domaine en DNS record et de référencer les sous-domaine en « CNAME Records ». Cela vous éviter d’éditer 50 fois en cas de changement d’adresse IP de redirection.
Ajouter des blocklists à Pi-Hole
Je vous avais parlé du site OISD pour les blocklists. Sur Pi-Hole, rajouter ce référentiel est très simple.
Depuis l’interface d’admin, allez dans le menu « Adlists » et ajoutez y une des blocklists OISD
https://small.oisd.nl | Se concentre principalement sur le blocage des publicités |
https://big.oisd.nl | Bloque les publicités, les publicités d’applications (mobiles), le phishing, la publicité malveillante, les logiciels malveillants, les logiciels espions, les logiciels rançonneurs, le cryptojacking, les escroqueries, |
https://nsfw.oisd.nl | Bloque les sites pornographiques/chocs/adultes |

Une fois ajouté, il faut télécharger la liste et l’intégrer au moteur de filtrage. La suite se passe dans le menu « Tools > Update Gravity » et cliquez sur « Update »

Voici votre Adlists est passée à 228800.

Activer le nouveau DNS
Afin de rendre actif ce nouveau serveur DNS, il suffira de changer votre serveur DNS vers l’IP du serveur Pi-Hole.
Vous pouvez soit le faire sur une machine isolée, soit le faire au niveau de votre Box/Routeur.
Héberger son (ses) serveurs DNS s’accompagne d’un bonus !
Oui, héberger ses serveurs DNS, c’est également ouvrir la porte au filtrage internet par DNS.
Plus besoin de uBlock ou je ne sais quelle extension pour votre navigateur. Ici tout se passe au niveau de la couche réseau et le traffic non souhaité (malwares, publicités, adwares, télémétrie, sites adultes) sera simplement mis à la poubelle (« drop » comme on dit en anglais).
Les serveurs DNS vont s’alimenter en listes de blocage que vous trouverez aisément sur Internet. Une des plus populaires reste OISD que vous trouverez à cette adresse : https://oisd.nl/.

Vous pouvez utiliser ce principe de blocklist sur Pi-Hole et sur Unbound.