Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

resolvconf comment écraser le /etc/resolv.conf

61 views
Skip to first unread message

jérémy prego

unread,
Sep 26, 2017, 3:20:04 AM9/26/17
to
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 !

didier gaumet

unread,
Sep 26, 2017, 4:00:04 AM9/26/17
to
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

Pascal Hambourg

unread,
Sep 26, 2017, 5:50:03 AM9/26/17
to
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.

didier gaumet

unread,
Sep 26, 2017, 6:10:03 AM9/26/17
to

Merci d'avoir rectifié :-)

jérémy prego

unread,
Sep 26, 2017, 6:10:03 AM9/26/17
to


Le 26/09/2017 à 11:40, Pascal Hambourg a écrit :
>
>>
> 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.
>

merci pour l'astuce, après avoir rajouter le type d'interface dans le
fichier "interface-order", ça fonctionne comme je le souhaite.

jerem

Gabriel Corona

unread,
Sep 26, 2017, 7:30:04 AM9/26/17
to
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
0 new messages