Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

resolvconf comment =c3=a9craser le /etc/resolv.conf

5 réponses
Avatar
jérémy prego
bonjour,

utilisant wireguard et voulant automatiser la connexion au vpn, je=20
cherche a ajouter les dns avec resolvconf sauf que j'arrive pas =C3=A0=20
obtenir le r=C3=A9sultat voulu.

si je fais: echo -n "nameserver 208.67.222.222 nameserver 8.8.8.8"=20
|/sbin/resolvconf -a wg0.wireguard

il ne m'=C3=A9crase pas le resolv.conf mais l'ajoute a la fin ...

comment faire pour =C3=A9craser le resolv.conf ? google ne m'a pas =C3=A9=
t=C3=A9 d'une=20
grande aide ou je n'ai pas r=C3=A9ussi a lui demander convenablement :)

merci beaucoup !

5 réponses

Avatar
didier gaumet
Le 26/09/2017 à 09:18, jérémy prego a écrit :
bonjour,
utilisant wireguard et voulant automatiser la connexion au vpn, je
cherche a ajouter les dns avec resolvconf sauf que j'arrive pas à
obtenir le résultat voulu.
si je fais: echo -n "nameserver 208.67.222.222 nameserver 8.8.8.8"
|/sbin/resolvconf -a wg0.wireguard
il ne m'écrase pas le resolv.conf mais l'ajoute a la fin ...
comment faire pour écraser le resolv.conf ? google ne m'a pas été d'une
grande aide ou je n'ai pas réussi a lui demander convenablement :)
merci beaucoup !

De ce que je comprends de la page man de resolvconf, l'option -a ajoute
ou remplace (si déjà existante) l'information pour l'interface spécifiée
uniquement.
Pour ton utilisation, je verrais plutôt quelque chose du genre:
$ rm /etc/resolv.conf
$ echo "# /etc/resolv.conf generated by my_procedure.sh" > /etc/resolv.conf
$ echo -n "nameserver 208.67.222.222 nameserver 8.8.8.8"
|/sbin/resolvconf -a wg0.wireguard
Avatar
Pascal Hambourg
Le 26/09/2017 à 09:56, didier gaumet a écrit :
Pour ton utilisation, je verrais plutôt quelque chose du genre:
$ rm /etc/resolv.conf

Non !
Lors de son installation, resolvconf remplace le fichier
/etc/resolv.conf par un lien symbolique qui pointe vers un autre
fichier, et ensuite ne modifie que ce fichier. Si on supprime le lien
symbolique, resolvconf sera sans effet.
Heureusement cette commande ne marche pas en utilisateur normal, il faut
les privilèges root.
Une solution possible au problème initial est de modifier le fichier
interface-order (voir page de manuel) pour que les DNS de l'interface
concernée soient mis en premier, sachant que par défaut (sans l'option
rotate) le resolveur de la libc interroge les serveurs dans l'ordre du
fichier resolv.conf.
Avatar
didier gaumet
Merci d'avoir rectifié :-)
Avatar
jérémy prego
Le 26/09/2017 à 11:40, Pascal Hambourg a écrit :

Une solution possible au problème initial est de modifier le fichi er
interface-order (voir page de manuel) pour que les DNS de l'interface
concernée soient mis en premier, sachant que par défaut (sans l'option
rotate) le resolveur de la libc interroge les serveurs dans l'ordre du
fichier resolv.conf.

merci pour l'astuce, après avoir rajouter le type d'interface dans l e
fichier "interface-order", ça fonctionne comme je le souhaite.
jerem
Avatar
Gabriel Corona
Salut,
Une solution possible au problème initial est de modifier le fichier
interface-order (voir page de manuel) pour que les DNS de l'interface
concernée soient mis en premier, sachant que par défaut (sans l'option
rotate) le resolveur de la libc interroge les serveurs dans l'ordre du
fichier resolv.conf.

Une autre solution (sans changer le fichier de configuration) est
d'utiliser un nom d'interface qui est déjà défini comme étant
prioritaire (par exemple : resolvconf -a vpn). Il n'est pas strictement
nécessaire que le fichier resolvconf corresponde vraiment à l'interface
réseau (NetworkManager utilise resolvconf -a NetworkManager par exemple).
Un problème c'est que le contenu du resolv.conf original est toujours
conservé. Si l'on veut complètement surcharger les valeurs de
resolv.conf lorsque le tunnel est monté, on peut utiliser l'option -x de
openresolv :
-x Mark the interface resolv.conf as exclusive when adding,
otherwise only use the latest exclusive interface.

Cette option n'est pas connue par l'implémentation du paquet resolvconf.
--
Gabriel