[dns] Probleme depuis passage à systemd (resolu)

Applications, problèmes de configuration réseau
Répondre
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

[dns] Probleme depuis passage à systemd (resolu)

Message par gregP »

Bonjour.
Un problème est "revenu" après la dernière mise à jour que j'ai faite.
Après mon installation initiale, j'avais un problème de réseau. Firefox n'arrivais pas à se connecter la première fois sur un site, puis y arrivais après cliquer sur "retry". pacman n'arrivait pas à acceder aux serveurs, il fallait que je le stope et le relance, etc...
j'ai résolu le problème en trouvant sur le web (par hasard) ce lien : http://www.314r.fr/calepin/un-probleme-de-dns.html
J'ai donc installé unbound.

Depuis le passage à systemd, le problème est revenu.
j'ai pourtant bien le unbound.service activé (je fais un systemctl | grep unbound)

Peut-être que je n'ai pas modifé correctement un fichier de configuration, mais je n'ai pas trouvé d'infos là dessus au cours de mes recherches.

Peut-etre qu'il faudrait que j'utilise autre chose comme BIND (mais le wiki n'est pas encore passé à systemd).

Je précise que mon fournisseur d'accès est Orange (il semble y avoir des problèmes de dns avec eux...)

Merci d'avance pour votre aide.
Dernière modification par gregP le ven. 16 nov. 2012, 12:38, modifié 3 fois.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [dns] Probleme depuis passage à systemd

Message par oktoberfest »

Salut,

sur deux de mes pcs j'utilise dnsmasq ou pdnsd (pour je ne sais plus quelle raison je n'ai pas mis le même partout), et les deux fonctionnent sans souci avec systemd.
Que te dis un

Code : Tout sélectionner

# systemctl status unbound
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd

Message par gregP »

Bonjour oktoberfest, et merci pour ta réponse.

le "systemctl status unbound" me donne (en root):

Code : Tout sélectionner

unbound.service - Unbound DNS Resolver
          Loaded: loaded (/usr/lib/systemd/system/unbound.service; disabled)
          Active: active (running) since Sun, 2012-11-11 02:05:48 CET; 1 day and 13h ago
        Main PID: 882 (unbound)
          CGroup: name=systemd:/system/unbound.service
                  └ 882 /usr/sbin/unbound -d

Nov 11 02:05:52 GregLaptop unbound[882]: [882:0] notice: init module 0: validator
Nov 11 02:05:52 GregLaptop unbound[882]: [882:0] notice: init module 1: iterator
Nov 11 02:05:52 GregLaptop unbound[882]: [882:0] info: start of service (unbound 1.4.18).
à la ligne loaded, je vois un "disabled". ça viendrait de ça ?
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [dns] Probleme depuis passage à systemd

Message par oktoberfest »

Cela signifie que le service n'est pas activé (-> Pas de démarrage au démarrage de systemd). Par contre il est actif : il y a un process unbound.
Pour l'activer :

Code : Tout sélectionner

# systemctl enable unbound
Cela le fera démarrer automatiquement à chaque démarrage de ton archlinux.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd

Message par gregP »

Merci beaucoup.
C'était pourtant simple.

Je suis très loin de maitriser ce systemd.

merci encore.
Je n'ai pas testé après redemarage, mais la commande précédente m'a créé un lien donc ça doit être bon.

Je met le sujet en résolu

Merci encore
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par gregP »

Bonjour
Bon, après redemarage, je me rend compte que j'ai toujours des problèmes de connection.

J'ai vérifié, mais cette fois j'ai bien le service actif.
Voici la sortie de systemctl status unbound :

Code : Tout sélectionner

unbound.service - Unbound DNS Resolver
          Loaded: loaded (/usr/lib/systemd/system/unbound.service; enabled)
          Active: active (running) since Tue, 2012-11-13 14:20:43 CET; 2h 2min ago
        Main PID: 880 (unbound)
          CGroup: name=systemd:/system/unbound.service
                  └ 880 /usr/sbin/unbound -d

lorsque j'ai essayé de résoudre le problème tout seul, j'ai ajouté les serveurs opendns dans un fichier /etc/resolv.conf.head comme indiqué dans je ne sais plus quel tuto ou quel forum. Est-ce que ça pourrai venir de là ?
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par gregP »

J'ai désinstallé unbound et remplacé par pdnsd.
je tuto n'est pas fait pour systemd au départ, mais je pense que je m'en suis sorti.

pour le moment ça a l'air de fonctionner, mais comme pour unbound la dernière fois, le problème est un peu aléatoire.

Y a il donc un moyen de tester son bon fonctionnement de manière plus correcte ?
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par oktoberfest »

Même si le wiki ne parle pas de systemd, le package pdnsd inclue ce qu'il faut pour systemd (/usr/lib/systemd/system/pdnsd-service).

Ce qui est bien avec pdnsd c'est que tu peux interroger le cache avec :

Code : Tout sélectionner

# pdnsd-ctl dump
Voir 'man pdnsd-ctl' pour les autres usages.
J'en ai profité pour virer dnsmasq sur mon pc de bureau et y installer aussi pdnsd.

Maintenant que j'y pense, c'est pas lié à ton /etc/resolv.conf qui est peut-être modifié lors du démarrage de systemd ? Tu utilises quoi pour définir ta config réseau : ip statique, dynamique ?
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par gregP »

oui oui,
j'ai vu en cherchant sur google qu'il y avait un service pdnsd pour systemd en faisant un peu de google...

Du coup j'ai suivi le tuto pour la config, et pour la partie daemon, j'ai fait un systemctl start pdnsd.service puis un systemctl enable pdnsd.service.

Pour le moment j'ai l'impression que ça fonctionne, mais pour unbound, ça avait l'air de fonctionner avant que je m'apperçoive que finalement non...

en ce qui concerne mon ip, ça doit être du dynamique. J'ai suivi le tuto concernant l'installation sans chercher à faire des subtilités, surtout que le réseau est vraiment quelque chose que je ne maîtrise pas... :(

concernant le resolv.conf, j'ai lu quelque part qu'il pouvait etre modifié au démarage, et que du coup on pouvait créer un resolv.conf.head dans lequel j'avais mis les adresse opendns... mais ça c'était quand j'ai essayé de faire fonctionner à nouveau unbound.

J'ai peut-être faux sur toute la ligne... mais j'avoue que je ne sais pas comment trouver des explications claires sur tout ça. la plupart des tutos, ou pages d'infos partent du principe qu'on s'y connait un peu en réseau, ce qui n'est pas mon cas...
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par oktoberfest »

La résolution de noms fonctionne grosso modo ainsi sous Linux :
- La ligne 'hosts' dans /etc/nsswitch.conf indique quelles sont les méthodes à utiliser et l'ordre des méthodes à utiliser. Chez moi j'ai par exemple

Code : Tout sélectionner

$ grep host /etc/nsswitch.conf
hosts: files dns
Donc pour résoudre un nom, on utilise d'abord la méthode files (=> consulter /etc/hosts) puis si ça ne suffit pas on utilise la résolution dns (=> /etc/resolv.conf).

Le fichier /etc/resolv.conf est soit statique (tu as écris dedans ce que tu veux, et personne d'autre n'y touche) ou dynamique (généré lors de l'initialisation de ton réseau via DHCP).
La plupart des outils qui modifient /etc/resolv.conf (dhcpcd, NetworkManager...) peuvent utiliser le contenu de /etc/resolv.conf.head pour ajouter son contenu au début du fichier /etc/resolv.conf.

Et dernière précision : si ton fichier /etc/resolv.conf est vide ou inexistant, la résolution de noms va se baser sur un DNS en local sur ta machine (pdnsd, unbound ou dnsmasq remplissent cette fonction).

Chez moi j'ai mis une configuration réseau statique (plus rapide au boot) et mon fichier /etc/resolv.conf est vide.

Puisque tu utilises pdnsd (ou unbound c'est pareil), il faut t'assurer que ton /etc/resolv.conf ne se trouve pas modifié de façon intempestive quand ton réseau s'initialise. Sinon tu risques de te retrouver à utiliser les DNS Orange alors que tu voudrais utiliser ton petit démon installé avec soin.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17288
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par benjarobin »

oktoberfest a écrit :Puisque tu utilises pdnsd (ou unbound c'est pareil), il faut t'assurer que ton /etc/resolv.conf ne se trouve pas modifié de façon intempestive quand ton réseau s'initialise. Sinon tu risques de te retrouver à utiliser les DNS Orange alors que tu voudrais utiliser ton petit démon installé avec soin.
Pour contourner ce souci facilement, il suffit de rajouter au fichier /etc/resolv.conf.head

Code : Tout sélectionner

nameserver 127.0.0.1
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par gregP »

Merci beaucoup pour ces explications très claires.

J'utilise NetworkManager, et j'ai vérifié le resolv.conf, qui à l'heure ou j'écris, date du 16nov à 00h28.
Il est donc effectivement bien modifié. J'ai vu qqpart que networkmanager pouvait aussi modifier ce fichier lorsqu'on était en ip statique... du coup est-ce qu'il serait pertinent pour moi d'avoir une ip statique ?

De plus, j'ai vérifié le contenu du fichier resolv.conf :

Code : Tout sélectionner

# Generated by NetworkManager
domain home
search home
nameserver 192.168.1.1
Je pensais y trouver ce qu'il y a dans resolv.conf.head :

Code : Tout sélectionner

# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
Mais ce n'est pas le cas.. est-ce normal ? parceque du coup, même si je met

Code : Tout sélectionner

nameserver 127.0.0.1
dedans, je ne suis pas certain que ça serve à grand chose si je ne le retrouve pas dans le resolv.conf. Je me trompe ?

dans le wiki anglais sur networkmanager (https://wiki.archlinux.org/index.php/NetworkManager), ils disent :
NetworkManager will attempt to write DNS information from DHCP into /etc/resolv.conf, overwriting the existing contents. To prevent this, you can set the immutable bit on the file:
Je ne sais pas trop ce que c'est que cet immutable bit, mais qu'est-ce que vous en pensez ? et du coup je mettrait dans le resolv.conf ce que tu m'as indiqué benjarobin ?
sushi
Hankyu
Messages : 36
Inscription : mer. 27 juil. 2011, 23:18

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par sushi »

"immutable bit", ce ne serait pas mettre le fichier en lecture seule, avec chmod? Jamais vu ce terme auparavant.

Au risque de dire une connerie, vu que je ne connais pas du tout l'utilisation de "dns local" type unbound (je n'en perçois même pas vraiment l'intérêt), il me semble que ton resolv.conf devrait contenir l'adresse d'un serveur dns au moins. Là il n'y a que ta box.

Code : Tout sélectionner

cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 80.10.246.2
# NOTE : il se peut que le solveur libc ne prenne pas en charge plus de 3 serveurs de noms.
# Les serveurs de noms listés ci-dessous peuvent ne pas être reconnus.
nameserver 80.10.246.129
Ça date de l'époque où je les avais changé via nm-applet (networkmanager), justement pour cause de dns foireux chez orange. Les deux premiers sont ceux de google, les suivants ceux de orange.
oktoberfest a écrit :La plupart des outils qui modifient /etc/resolv.conf (dhcpcd, NetworkManager...) peuvent utiliser le contenu de /etc/resolv.conf.head pour ajouter son contenu au début du fichier /etc/resolv.conf.

Code : Tout sélectionner

cat /etc/resolv.conf.head 
# google nameservers
nameserver 8.8.8.8
nameserver 8.8.4.4

# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
Je ne sais pas dans quelles conditions networkmanager peut en venir à modifier resolv.conf de lui même en piochant dans le fichier head, mais apparement ca ne m'est pas arrivé depuis au moins deux ans, époque où j'ai dû modifier ce fichier.
J'ai peut-être mal compris le sens de la phrase.
Comme j'avais spécifié des dns pour une connexion précise, peut-être sont ils stockés ailleurs et chargés dans resolv.conf quand j'utilise cette connexion ? Et qu'il charge le contenu du .head pour les connexions laissées en réglage par défaut ? Je n'ai que celle la sous la main, donc je ne vérifirai pas ca ce soir...

Merci pour le petit exposé oktoberfest :bravo:
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par oktoberfest »

gregP a écrit :dans le wiki anglais sur networkmanager (https://wiki.archlinux.org/index.php/NetworkManager), ils disent :
NetworkManager will attempt to write DNS information from DHCP into /etc/resolv.conf, overwriting the existing contents. To prevent this, you can set the immutable bit on the file:
Je ne sais pas trop ce que c'est que cet immutable bit, mais qu'est-ce que vous en pensez ? et du coup je mettrait dans le resolv.conf ce que tu m'as indiqué benjarobin ?
:dodo: Dans le wiki, juste en dessous de la phrase que tu cites, il y a la commande chattr qui permet de modifier ce bit. Et un 'man chattr' te donne l'explication (je traduis) :
man chattr a écrit :Un fichier avec l'attribut 'i' ne peut pas être modifié : il ne peut pas être effacé ou renommé, aucun lien ne peut être créé qui pointe sur ce fichier et aucune donnée ne peut être écrite dans ce fichier. Seul root ou un processus ayant la capacité CAP_LINUX_IMMUTABLE peut activer ou désactiver cet attribut.
Ensuite concernant NetworkManager et /etc/resolv.conf, le wiki anglais (https://wiki.archlinux.org/index.php/Ne ... .conf.tail) indique une méthode qui consiste à ajouter un script qui sera exécuté par NetworkManager.

Si tu veux utiliser une ip statique (si c'est un pc fixe, je trouve que c'est une bonne idée), tu n'as pas besoin de NetworkManager ou autre démon. Il te suffit de suivre ceci : https://wiki.archlinux.org/index.php/Ne ... IP_address
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par gregP »

j'avoue ne pas avoir eu le reflexe pour le chattr. :(
mais je me doutait que c'était un truc dans le genre. Je me demandais seulement si ça n'allait pas poser de problème dans le futur. Par contre, je trouvais que ce n'était pas forcément propre comme méthode.
Et comme je pensais que NM utilisait le .head, je ne comprenais pas pourquoi ça ne fonctionnait pas.

Mais du coup en relisant le wiki anglais, j'ai plutot l'impression que c'est seulement dhcpcd qui utilise le .head, et que NM réécrit tout a partir de je ne sais quoi. :?:

Bref, j'aime bien comprendre pourquoi ça ne fonctionne pas. :D

Du coup j'ai tenté le script, mais je n'ai pas du capter qqchose, parceque ça n'a pas fonctionné. Ils ne précisent pas dans le texte ou mettre ce script. Du coup j'ai déduis les infos des commentaire dans le script :

Code : Tout sélectionner

# /etc/NetworkManager/dispatcher.d/99-resolv.conf-head_and_tail
# Include /etc/resolv.conf.head and /etc/resolv.conf.tail to /etc/resolv.conf
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is “up” or “down” as the
# case may be.
J'ai appelé mon script 99-resolv.conf-head_and_tail et je l'ai mis dans /etc/NetworkManager/dispatcher.d/ (qui au passage était vide)

Après un reboot, le resolv.com a été réécrit, mais il ne contient toujours pas le contenu du resolv.conf.head

Où est-ce que je me suis planté ?

Je pense que je vais finir par modifier mon resolv.conf a la main et le mettre en immutable bit :(

Ha oui, et aussi, je suis sur un laptop... du coup, ça n'est peut-être pas une bonne idée l'ip fixe ?

@sushi, j'utilise unbound ou truc du genre pour justement eviter le problème des dns foireux d'orange... mais si tu ne les a pas utilisé et que tu as eu ce problème tu as fait comment ?

@oktoberfest, encore merci pour tes explication sur les dns sous linux :D
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par oktoberfest »

Je n'aime pas trop l'idée du chattr non plus.

Tu as bien compris les commentaires, qui indiquent où mettre le script.
Ton script est bien exécutable ?

Code : Tout sélectionner

chmod a+x /etc/NetworkManager/dispatcher.d/99-resolv.conf-head_and_tail
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
gregP
Hankyu
Messages : 47
Inscription : sam. 03 nov. 2012, 10:30

Re: [dns] Probleme depuis passage à systemd (en cours)

Message par gregP »

Mais bien sûr que non je ne l'ai pas mis en executable !!! :lol:

pfff.... ça m'arrive presque systématiquement.
bravo

ça fonctionne. j'ai bien le bon resolv.conf maintenant.

Merci beaucoup ! :bravo:

c'était la bonne solution.

Je met en résolu, en espérant que cette fois ça ne fasse pas comme la dernière fois :)
Répondre