Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 26-01-2017 16:39:47

rom1nux
Membre
Inscription : 26-01-2017

bind9 et isc-dhcp-server avec sous-réseaux et IP statique et dynamique

Bonjour,

J'ai besoin d'un conseil pour organiser mon réseau, je sollicite donc votre aide ici, je suis ouvert à toutes bonnes idées.

DESCRIPTION

Mon réseau est constitué d'une box, d'un routeur (Debian 8.1), un switch mangeable (dlink) et quelques AP multi-ssid (dlink). Le routeur est connecté par eth0 à la box et par eth2/eth3 en bonding (bond0) au switch et eth7 est dédié à l'admin. Les AP sont connectés au switch. Les équipements sont en DHCP mais les MAC sont déclarées pour contrôler le plan d'adressage.

J'ai configuré 7 sous réseaux sur le routeur :

* HOME : 192.168.101.0/24 (iface: bond0.101, vlan:101, dhcp: deny unknown-clients)
C'est le sous-réseau de la maison, la famille connecte les PC portables, tablette, smartphone, nas, chromecast, etc...en Ethernet ou en wifi.
Ce sous réseau est isolé, il peut seulement accéder au WAN, sauf une machine qui peut accéder à une imprimante dans le  sous-réseau OFFICE.

* GUEST : 192.168.102.0/24 (iface: bond0.102, vlan:102, dhcp: allow unknown-clients)
C'est le sous-réseau des invités, les amis de passage peuvent s'y connecter en wifi.
Ce sous réseau est isolé, il peut seulement accéder au WAN.

* OFFICE : 192.168.103.0/24 (iface: bond0.103, vlan:103, dhcp: deny unknown-clients)
C'est le sous-réseau de mon entreprise, essentiellement des machines fixes, imprimantes, nas en Ethernet et un point d'accès pour les clients de passage.
Ce sous réseau peut accéder au WAN et aussi au INFRA.

* FEMTO : 192.168.104.0/24 (iface: bond0.104, vlan:104, dhcp: deny unknown-clients)
C'est le sous-reseau dédié au femtocell.
Ce sous réseau est isolé, il peut seulement accéder au WAN.

* INFRA : 192.168.250.0/24 (iface: bond0.250, vlan:250, dhcp: deny unknown-clients)
C'est le sous-réseau dédié au management, il permet l'accès au interface web du switch, des AP, etc...
Ce sous réseau peut accèder à tout les autres sous-réseaux.

* WAN1 : 192.168.251.0/24 (iface: eth0, dhcp: none)
C'est le sous-réseau dédié à l'interconnexion de la box, elle fait du NAT.

* CONSOLE : 192.168.255.0/24 (iface: eth7, dhcp: allow unknown-clients)
C'est le sous réseau de secour du routeur.

Le serveur DHCP(isc-dhcp-server) du routeur possède la déclaration "host" en fonction des "subnet"

Le routeur possède un serveur DNS (bind9) qui gère une zone "mondomain.tld" avec deux "view" statiques pour le moment.

* View "INTERNAL"
match-clients : 192.168.101.0/24, 192.168.102.0/24, 192.168.103.0/24, 192.168.104.0/24, 192.168.250.0/24, 192.168.255.0/24
zone : mondomain.tld
file : db.internal.mondomain.tld

* View "EXTERNAL"
match-clients : 192.168.251.0/24+INTERNAL
zone : mondomain.tld
file : db.external.mondomain.tld

Pour le moment tout ce petit monde fonctionne correctement.

AVANTAGES

* En exploitation je ne me pose pas de question pour accéder à un host, "<host>.mondomain.tld" et peut importe si la machine est sur HOME, OFFICE ou autre, c'est très pratique au quotidien.

* Idem pour l'externe/interne de l'intérieur du réseau ou de l'extérieur j'accède par exemple à l'intranet grâce à "intranet.mondomain.tld" depuis ma clef 3G en déplacement.

INCONVENIENTS

* Ma zone interne "mondomain.tld" expose potentiellement tout le plan d'adressage global du réseau, c'est pas top (eg: GUEST) !

* Certaine machine (ex: router.mondomain.tld) possède donc 6 ip, c'est pas terrible non plus pour une résolution optimum.

* Je dois maintenir 3 fichiers "db.internal.mondomain.tld", "db.internal.mondomain.tld.rev" et "dhcpd.conf" pour déclarer les hosts et maitriser mon plan d'adressage. C'est fastidieux et c'est facile de faire des erreurs.

AMELIORATIONS

* Problème d'exposition du plan d'adressage global et plusieurs ip par host
Pour régler ces deux problèmes en même temps, j'imagine qu'il suffit de créer plusieurs vues internes et de mettre le strict nécessaire. Ainsi chaque sous-réseau ne peut voir que le minimum vitale :

- View "HOME"
match-clients : 192.168.101.0/24
zone : mondomain.tld
file : db.home.mondomain.tld

- View "GUEST"
match-clients : 192.168.102.0/24
zone : mondomain.tld
file : db.guest.mondomain.tld

...

- View "INFRA"
match-clients : 192.168.255.0/24
zone : mondomain.tld
file : db.infra.mondomain.tld

...

- View "EXTERNAL"
match-clients : 192.168.251.0/24 + ANY
zone : mondomain.tld
file : db.external.mondomain.tld

* Problème de maintenance du plan d'adressage
isc-dhcp-server peut être configuré pour mettre à jour bind9. Il suffit de
- Partager une clef entre les deux services.
- Rentre la zone updatable (allow-update) sur bind9
- Activer le DDNS sur isc-dhcp-server (ddns-updates on;  ddns-update-style interim; )
- Spécifier la zone et le reverse à mettre à jour (ddns-domainname "mondomain.tld."; ddns-rev-domainname "in-addr.arpa.";)
- Indiquer le hostname pour chaque host connus sur le DHCP (ddns-hostname "myAP";)
J'ai essayé sur ma configuration actuelle "Une view internal et une view external", seul la view internal est "allow-update" et ça fonctionne correctement.


PROBLEMES et QUESTIONS

1 - Propreté du fichier de zone

Déjà le fichier de ma zone "db.internal.mondomain.tld" devient est super sale, isc-dhcp-server ajoute plein de trucs (record TXT, ORIGIN, etc..) et vire certain commentaires mais bon je pourrais m'y faire mais si quelqu'un connait un moment de conserver le fichier "propre" (genre un include de la partie statique "propre" et la partie dynamique "sale" dans un autre fichier)

2 - Mise à jour spécifique d'une vue

- Mais du coup, si je passe sur le modèle de plusieurs views internes énoncé plus haut, comment spécifier la vue à mettre à jour par isc-dhcp-server ?

- Est ce que c'est la clef qui permet de différencier la vue ? Peut on déclarer la "zone" et sa clef dans le bloc "subnet", du style :

...
subnet 192.168.101.0 netmask 255.255.255.0 {  
     zone mondomain.tld. {  
        primary localhost;
        key home-key; # Cette clef est en accord avec le allow-update{ key home-key;} de bind9
    }
    ...
    ddns-domainname "mondomain.tld.";
    ddns-rev-domainname "in-addr.arpa.";
}
...
subnet 192.168.102.0 netmask 255.255.255.0 {  
     zone mondomain.tld. {  
        primary localhost;
        key guest-key; # Cette clef est en accord avec le allow-update{ key guest-key;} de bind9
     }
     ...
    ddns-domainname "mondomain.tld.";
    ddns-rev-domainname "in-addr.arpa.";
}
...



- Le sous-réseau INFRA doit pouvoir accéder à tout les sous-réseaux, je crois que je vais pouvoir synchroniser la views INFRA par un allow-transfer/allow-update/also-notify entre les zones des views, le truc c'est que la zone dans la view INFRA sera "slave", je me demande si je ne pourrait pas rendre la vue hybride... une idée ?

- Je pense qu'il serait plus simple de déclarer des zones "home.mondomain.tld", "guest.mondomain.tld", etc... mais je n'ai pas envie de me rappeler à chaque fois dans quel sous-réseau est l'host (eg: pc1.home.mondomain.tld, pc2.office.mondomain.tld, etc...)

3 - Je ne sais pas si vous avez compris mon problème, mais pour résumer :

- Je souhaite un seul nom de domaine pour l'intérieur et l'extérieur de mon lan.
- Je souhaite pouvoir laisser mes machines en DHCP tout en maitrisant mon plan d'adressage.
- Je souhaite ne pas exposer mon plan d'adressage global par la zone dns
- Je souhaite que sur chaque sous-réseau le strict minimum soit accessible et que chaque machine ne possède qu'une IP (l'ip du sous reseau)
- Je souhaite aussi pouvoir résoudre tout ou partie du réseau pour un sous-réseau spécifique
- Je souhaite centraliser la déclaration des hosts et le plan d'adressage global sur le dhcp et mettre à jour le dns automatiquement.
- Conserver les fichiers de zone de bind9 relativement propre.

Merci de m'avoir lu, merci d'avance pour votre aide et vos idées.

Dernière modification par rom1nux (26-01-2017 16:58:52)

Hors ligne

#2 31-01-2017 01:21:21

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Re : bind9 et isc-dhcp-server avec sous-réseaux et IP statique et dynamique

Bonjour,

Je lu ton post et je comprends ta problématique. Je me suis posé un peu les mêmes questions sans trouvé de réponse satisfaisante. Je constate que tu as un gros raison alliant ton entreprise et privé. Le faite d'avoir crée plusieurs sous-domaine à mon avis est la meilleur solution par contre ton envie de ton gérer via un seul nom de domaine et faire des sous-domaines n'est pas top!

Personnellement, je garderais le nom de domaine pour les machines qui doivent être accessible par internet (site web, mail, vpn etc). Et je créerais des domaines internes style entreprise.lan, maison.lan, dhcp.lan.
Cette méthode demande un peu plus de travail dans la gestion des zones mais bon gérer un fichier ou 4 c'est pas tellement plus compliqué ou laborieux. Après tu peux mettre un serveur dns par réseau et balancer les zones entre eux. Parce que tu dois souvent modifier les noms pour vouloir centraliser? Pour les machines des inviter as-tu vraiment besoin de les nommer sur ton réseau? Si oui tu peux faire cette zone en DDNS.

Je pense bien que je ne réponds pas vraiment à ta question mais je me suis cassé la tête à vouloir gérer mon réseaux avec un seul nom de domaine et pour finir, j'en suis venu à crée plusieurs domaines en fonction de mes besoins et garder le domaine principal que pour les machines qui on besoin d'être retrouvée sur internet! Vu que je gère la zone de mon nom de domaine, je ne voulais pas retrouver le nom de mes machines sur internet et même si elles ne sont pas accessible. Après le DDNS c'est bien mais comme tu as dit ça pollue les zones, alors j'ai crée une zone pour le DHCP mais je ne l'utilise pas logique! Pour mes machines de testes et mes serveurs internes avoir leur propre zone est super pratique. Pour la maison, avoir leur zone c'est pratique et j'ai pas besoin de la modifier régulièrement car je ne modifie pas trop la topologie des mes appareils domestiques. En gros même si j'ai des fichiers dans tous les senses répartis sur plusieurs machines, je modifie toujours le même voir 2! J'ai garder un cohérence sur le réseau et surtout j'ai pas des machines qui sont exposée sur internet.

Voila je te donne mon avis. salutation
Romain

Hors ligne

#3 02-02-2017 11:13:52

rom1nux
Membre
Inscription : 26-01-2017

Re : bind9 et isc-dhcp-server avec sous-réseaux et IP statique et dynamique

Bonjour Romain,
Merci d'avoir pris le temps de me lire et de me répondre.

Je lu ton post et je comprends ta problématique. Je me suis posé un peu les mêmes questions sans trouvé de réponse satisfaisante.


Oui, je me disais que ça allait être simple et rapide à mettre en place et en fait la problématique est simple mais la réponse n'est finalement pas évidente. Ça me réconforte de savoir que je ne suis pas le seul dans ce cas smile.

Je constate que tu as un gros raison alliant ton entreprise et privé.


Oui je travail à la maison, je suis à la campagne et j'ai le projet de faire du MPTCP pour mutualiser mes lignes.

Le faite d'avoir crée plusieurs sous-domaine à mon avis est la meilleur solution par contre ton envie de ton gérer via un seul nom de domaine et faire des sous-domaines n'est pas top!


C'est ce que je commence à comprendre, ça me semblait très pratique à l'usage mais moins à la configuration.

Personnellement, je garderais le nom de domaine pour les machines qui doivent être accessible par internet (site web, mail, vpn etc). Et je créerais des domaines internes style entreprise.lan, maison.lan, dhcp.lan.


J'ai réussi à gérer les zone interne et externe sans soucis particulier avec le même domaine, mais effectivement pour faire les tests de réentrance c'est pas très évident, je dois débrayer la zone interne ou bidouiller la zone temporairement, bref c'est un peu galère.

Cette méthode demande un peu plus de travail dans la gestion des zones mais bon gérer un fichier ou 4 c'est pas tellement plus compliqué ou laborieux.


Oui, c'est peut être même plus clair puisque c'est compartimenté.

Après tu peux mettre un serveur dns par réseau et balancer les zones entre eux. Parce que tu dois souvent modifier les noms pour vouloir centraliser?


Oui effectivement garder une seule zone synchrone/fusionnée avec les autres (indépendantes) c'est peut être la meilleur solution, surtout si cette zone est dans une "view" restreinte au sous-reseau "management" (INFRA).

Pour les machines des inviter as-tu vraiment besoin de les nommer sur ton réseau? Si oui tu peux faire cette zone en DDNS.


En fait j'ai toutes mes machines/périphériques (PC, AP, Switch) en DHCP avec bail fixe, ça me permet de modifier le plan d'adressage sans à sortir l'escabeau pour modifier l'adresse des AP, etc....Pour les invités, le DDNS c'est principalement pour avec le reverse dans les logs et outils de supervision.

Je pense bien que je ne réponds pas vraiment à ta question mais je me suis cassé la tête à vouloir gérer mon réseaux avec un seul nom de domaine et pour finir, j'en suis venu à crée plusieurs domaines en fonction de mes besoins et garder le domaine principal que pour les machines qui on besoin d'être retrouvée sur internet!


Si si, ton retour d'expérience m'aide beaucoup, je suis en train d'arriver à la même conclusion que toi. Je vais encore faire quelques tests avec isc-dhcp-server et les view de bind9 mais ta solution me parait la plus KISS, la mienne semble une usine à gaz.

Vu que je gère la zone de mon nom de domaine, je ne voulais pas retrouver le nom de mes machines sur internet et même si elles ne sont pas accessible.


Avec les "view" et le "match-client" tu peux bien isoler tes zones et éviter de rendre accessible ta zone "interne".

Après le DDNS c'est bien mais comme tu as dit ça pollue les zones, alors j'ai crée une zone pour le DHCP mais je ne l'utilise pas logique! Pour mes machines de testes et mes serveurs internes avoir leur propre zone est super pratique.


J'ai commencé à m'y faire à ces TXT, et puis en fait on ne passe pas son temps dans le fichier "db.mondomain.tld".
Je me demande pourquoi l'ISC n'a pas prévu un mécanisme du genre %INCLUDE pour le DDNS.

Pour la maison, avoir leur zone c'est pratique et j'ai pas besoin de la modifier régulièrement car je ne modifie pas trop la topologie des mes appareils domestiques.


Oui mais le DHCP avec bail statique c'est super pratique, lorsque j'aurais trouvé mes propres conventions d'adressage je passerais peut être en statique mais comme "je me cherche" encore un peu je peux ajuster mes conventions à la volée.

En gros même si j'ai des fichiers dans tous les senses répartis sur plusieurs machines, je modifie toujours le même voir 2! J'ai garder un cohérence sur le réseau et surtout j'ai pas des machines qui sont exposée sur internet.


Oui je comprends

Voila je te donne mon avis.


Un grand MERCI à toi Romain d'avoir pris le temps de me faire ton retour d'expérience très intéressant.

Hors ligne

Pied de page des forums