Questions sur l'installation et la configuration de Manjaro Linux.
Répondre

Résolution DNS et domaines de recherche avec systemd

#1Messageil y a 3 ans

Bonjour,
Mon problème semble pourtant simple mais je n'arrive pas à faire en sorte que systemd-resolved fasse les recherches DNS avec le ou les bons domaines IP.
J'ai désinstallé/désactivé NetworkManager pour des besoins de sécurité (la machine est utilisée par des étudiants et je ne souhaite pas qu'ils trifouillent la conf réseau).
Ma configuration fonctionne avec systemd-networkd/systemd-resolved mais impossible de le configurer pour qu'il fasse les recherches DNS avec les bons domaines IP.

Voici ma configuration (ultra-simple) de /etc/systemd/resolved.conf (les valeurs sont des exemples) :
DNS=192.168.1.1 192.168.1.2
Domains=mon-domaine.fr mon-domaine.local


Si je fais une simple recherche DNS ou un ping sans préciser le domaine, ça ne fonctionne pas :
> host mon-pc
;; connection timed out; no servers could be reached
> host mon-pc.mon-domaine.fr
mon-pc.mon-domaine.fr is an alias for ma-machine.mon-domaine.fr.
ma-machine.mon-domaine.fr has address 192.168.1.51


Et si je fournis clairement le domaine lié à mon interface réseau, via resolvectl, ça fonctionne :
> resolvectl domain enp0s3 mon-domaine.fr
> host mon-pc
mon-pc.mon-domaine.fr is an alias for ma-machine.mon-domaine.fr.
ma-machine.mon-domaine.fr has address 192.168.1.51


Il y a-t-il une subtilité qui m’échappe ?
Merci !
Dernière modification par brunojil y a 3 ans, modifié au total 1 fois.

Résolution DNS et domaines de recherche avec systemd

#2Messageil y a 3 ans

oui , de base nous utilisons PAS systemd-resolve

networkctl status
WARNING: systemd-networkd is not running, output will be incomplete.

●   State: n/a                                                          
  Address: 1xx.xxx.x.xxx on enp0s31f6                                    
           2a01:cb04:6fd:3600:c94b:6dc2:a4fc:e742 on enp0s31f6          
           fe80::be5d:48d6:1ba:8a01 on enp0s31f6                        
  Gateway: 1xx.xxx.x.xxx (Sagemcom Broadband SAS) on enp0s31f6            
           fe80::237:b7ff:fe98:964 (Sagemcom Broadband SAS) on enp0s31f6
avis personnel vis a vis de systemd-resolve :
je ne comprends absolument pas pourquoi on devrait avoir chaque fonctionnalité de systemd ,
il y a pas mal de reports bug ou issues sans garanti que
1) tout soit bien corrigé
2) tout soit bien sécurisé
3) on aurait du avoir un équivalent de openrc en terme de gestionnaire de services , mais au delà , il y a bien trop de lignes de codes ( 22Mo de binaires sans doute autant de lignes voir plus )
4) et ce doit être assemblé avec le kernel pour que cela puisse fonctionner

cette usine à gaz , est-ce le meilleur résultat au final ?

Résolution DNS et domaines de recherche avec systemd

#3Messageil y a 3 ans

Effectivement, j'ai déjà lu quelques billets sur le fait que systemd tente de tout gérer et est-ce que c'est une bonne chose. Mon avis n'est pas complètement celui de certains Linuxiens qui se basent sur le principe d'un outil par service pour que soit-disant, tout fonctionne au mieux. Je suis plus dans la simplicité : si ça fonctionne, pourquoi pas ? Mais c'est vrai aussi que plus un outil gère de services, plus il est compliqué de tout maintenir sans bugs.
Bref, je ne veux surtout pas lancer une polémique. Ce qui m'intéresse, c'est que ça fonctionne !

Questions :
Si je désactive la gestion du réseau par systemd, est-ce que je pourrai tout simplement utiliser la configuration "classique" via /etc/resolv.conf et /etc/network/interfaces ? Et quid du DHCP : dois-je installer dhcpd ? Dois-je installer d'autres paquets ? Et si je désactive les services systemd liés au réseau, est-ce que ça ne va pas avoir des répercussions sur d'autres services systemd ? La gestion des dépendances de systemd rend les choses un peu compliquées.
Sinon, peut-être que je peux juste désactiver systemd-resolved et utiliser /etc/resolv.conf ? Mais est-ce que la désactivation de systemd-resolved est suffisante pour récupérer la conf depuis le resolv.conf ?
C'est quand-même un joli casse-tête tout ça !

Je cherche une solution simple et efficace pour gérer la configuration de mon réseau, tout en évitant que les étudiants ne puissent y toucher. Et comme ils ne sont pas tous très à l'aise avec Linux, c'est encore mieux s'il n'y a pas d'interface graphique (ça évite d'éveiller leur curiosité).

Je continue de chercher et je posterai ma solution si je la trouve.
En attendant, merci à ceux qui pourront m'apporter quelques infos !

Résolution DNS et domaines de recherche avec systemd

#4Messageil y a 3 ans

Bonjour,
En consultant mon wiki sur la mise en place et la maintenance de mon système Manjaro pour les étudiants, je m'aperçois qu'une année précédente, c'est moi qui avais volontairement activé systemd-resolved.
Je comprends maintenant que ma question a dû paraître particulière, car je suppose que systemd-resolved n'est pas activé par défaut sous Manjaro.

Toujours est-il que j'ai quand-même trouvé la solution (en consultant le wiki Arch et la doc systemd), et celle-ci est très simple :
  • lorsqu'on met en place systemd-resolved, il y a plusieurs configurations possibles. Moi, j'avais opté pour créer un lien de /etc/resolv.conf vers /run/systemd/resolve/stub-resolv.conf. À partir de ce moment il n'est plus possible d'utiliser /etc/resolv.conf pour spécifier les DNS et les domaines de recherche
  • lorsqu'on utilise systemd-networkd pour la configuration du réseau, il faut créer un fichier dans /etc/systemd/network/ que j'avais nommé 50-wired.network. C'est dans ce fichier qu'il faut spécifier la configuration du réseau
  • en consultant les docs de systemd, j'ai pu voir qu'on peut paramétrer beaucoup de choses dans les fichiers .network. J'ai donc simplement paramétré mon fichier comme ceci :
    [Match]
    Name=*

    [Network]
    DNS=192.168.1.1 192.168.1.2
    Domains=mon-domaine.fr mon-domaine.local
    DHCP=ipv4
    DNSSEC=false
Et ça marche comme un charme !
Mes DNS sont trouvés, mes domaines de recherche fonctionnent, mon adresse IP est bien attribuée via DHCP. Comme mes serveurs DNS ne gèrent pas DNSSEC, je désactive explicitement cette option pour que éviter que systemd fasse des tentatives infructueuses et inutiles (visible avec un systemctl status systemd-resolved.service).

Peut-être que ces infos intéresseront certains d'entre vous. En tout cas je l'espère. J'ai passé pas mal de temps à trouver la bonne configuration car la doc systemd n'est pas un exemple de clarté sur ce sujet (à mon avis).

Merci à Stephane pour sa réponse.

Bonne journée,
Répondre