Bonsoir à tous,

J'utilise un ordinateur portable, et je serais souvent amené à me déplacer, je profiterai donc de multiples hot-spots Wi-Fi pour me connecter à Internet. 8-)
Mais depuis que j'ai Fedora (depuis la version 6), j'ai toujours été obligé de renseigner les DNS de mon fournisseur d'accès (Orange) dans les préférences Réseau, sans quoi les DNS par défaut étaient 192.168.1.1, qui est l'adresse IP de mon routeur...

Le problème c'est que quand je serais connecté à un hot-spot, les DNS d'Orange ne seront plus valides pour ce hot-spot... Il faudra donc que je reconfigure à la main les nouveaux DNS, si le propriétaire du hot-spot veut bien me les communiquer.

Et quand on voyage beaucoup comme moi et qu'on passe de hot-spot en hot-spot, c'est... comment dire... emmerdant ! :hammer: D'autant plus que Windows XP arrive à se connecter automatiquement sans lui fournir le moindre DNS manuellement !

D'où ma question : Fedora est-elle incapable d'obtenir les bons DNS automatiquement ? :-?

PS : Je tiens à signaler que Fedora n'est pas la seule... des amis sous Ubuntu ont également le même problème...🙁
C'est le troll du jour !! 😉

Tu as un outil nommé NetworkManager qui gère ça tout seul ... Est il activé ?
Troll je ne crois pas... si c'est le cas je vous prie de m'excuser !

Oui, NetworkManager est activé, et c'est d'ailleurs de sa faute si les DNS reviennent toujours à 192.168.1.1... Il remet à jour constamment le fichier /etc/resolv.conf... J'ai pas trouvé mieux que de bloquer ce fichier en écriture pour pouvoir conserver mes DNS et surfer tranquillement sur Internet...
Comment est configurée ta connexion à Orange ?
Est ce une Box ?
Est que le serveur DHCP est activé ?

NetworkManager est pratique pour gérer des connexions DHCP et réinitialise effectivement le fichier /etc/resolv.conf à chaque connexion
Pour ajouter des DNS particuliers à une connexion, tu peux utiliser le dispatcher. J'explique le fonctionnement ici
C'est la faute de ton routeur qui fait serveur DHCP ça, pas de Fedora.
Autre question stupide : il ne ferait pas serveur DNS ton routeur?
La livebox fait relais DNS.
C'est pour celà que le DHCP t'envoie son adresse comme serveur DNS, c'est donc normal.
Ta fédora fonctionne donc très bien 🙂

Cordialement.
Oui, mon routeur fait relais DNS... Il est donc normal que le DNS soit 192.168.1.1, je suis d'accord ! Sauf que quand /etc/resolv.conf contient ce DNS, je ne peux pas surfer ! 🙁 Obligé de mettre les DNS d'Orange !

J'ai regardé les propriétés de la connexion sous Windows, et ce qui m'étonne c'est que le DNS est aussi 192.168.1.1, et sous Windows avec ce DNS j'arrive à surfer !

Le problème vient d'où alors ? 🙁

Note : j'avais déjà essayé la méthode du dispatcher ça marchait bien... Sauf que NetworkManager remet à jour /etc/resolv.conf au bout d'une vingtaine de minutes... Les modifications sont donc écrasées...
Et d'ailleurs ça ne règle pas le problème de DNS automatique, vu qu'on est obligé de mettre les DNS du fournisseur. :-?

Minuteman wrote:C'est la faute de ton routeur qui fait serveur DHCP ça, pas de Fedora.
Et pourquoi avec le même routeur sans rien changer (et donc avec le même DNS 192.168.1.1) ça fonctionne sous Windows ?
Tompalm wrote:...

Note : j'avais déjà essayé la méthode du dispatcher ça marchait bien... Sauf que NetworkManager remet /etc/resolv.conf au bout d'une vingtaine de minutes... Les modifications sont donc écrasées...
Et d'ailleurs ça ne règle pas le problème de DNS automatique, vu qu'on est obligé de mettre les DNS du fournisseur. :-?
...
Pour forcer des DNS sur une connexion particulière avec le dispatcher, je teste mon IP afin de savoir sur quel réseau je suis connecté et si l'ip matche, je rajoute les DNS voulus à la fin de /etc/resolv.conf
echo "nameserver 208.67.220.220" >> /etc/resolv.conf
echo "nameserver 208.67.222.222" >> /etc/resolv.conf
Attention, depuis F9, les scripts du dispatcher reçoivent 2 paramètres : l'interface (eth0, etc..), et l'action (up/down)
proxy wrote:Pour forcer des DNS sur une connexion particulière avec le dispatcher, je teste mon IP afin de savoir sur quel réseau je suis connecté et si l'ip matche, je rajoute les DNS voulus à la fin de /etc/resolv.conf
Et c'est là le problème ! Je suis obligé de configurer manuellement les DNS pour chaque connexion !
D'où l'incapacité de NetworkManager de se connecter sans fournir les DNS manuellement. Et ça, ça m'énerve, surtout quand on se déplace beaucoup ! :-?
Non, c'est le script qui rajoute les DNS automatiquement, pas moi !!!
Bonjour,

Utilise les DNS de OpenDNS (comme suggéré par proxy), et rentres les directement dans les paramètres de NetworkManager pour l'interface WiFi de ton PC.
Ainsi ceux-ci seront utilisés pour toutes tes connexions WiFi, quelles qu'elles soient.
Les OpenDNS semblent une bonne idée, mais est-ce qu'ils fonctionnent dans un Intranet (j'aimerai accéder à l'Intranet de l'université où je travaille) ?
Pour accéder à un intranet, il faut des DNS internes (locaux au réseau) ...
Donc je ne pourrais pas échapper à la configuration via le script ?
Tant pis, je modifierai a chaque fois le script du dispatcher...
Mais il ne faut pas le modifier à chaque fois, nom de ZEUS !!!!!!!!!!
Avec un script dans le dispatcher, suivant le réseau sur lequel je suis connecté, je configure DYNAMIQUEMENT :
- les DNS
- mon fichier hosts
- les services à lancer
- montages CIFS et NFS
- conf du proxy KDE
- etc ....
Bon très bien, je vais tester !!

Merci. 😉
Je vais peut-être paraître chiant (je m'en excuse) mais si le script du dispatcher fonctionne, qu'en est-il du fait que NetworkManager remet les mauvais paramètres 20 minutes après ?
Est-ce que le fait que le script du dispatcher modifie les DNS permet d'éviter cela ?

PS : A propos du script, j'aurais besoin d'aide... Je ne trouve pas trop de doc détaillée sur le net

PS2 : Je sais que j'en demande beaucoup... Je suis désolé mais ça m'a surpris cette mauvaise gestion des DNS...
A adapter à tes réseaux, puis à mettre dans /etc/NetworkManager/dispatcher.d sous le nom 06-dns (par exemple) avec root:root e 600
#!/bin/sh

#===========================================================================================#
getSubnet() {
subnet=$(/sbin/ifconfig | grep -a1 ${1} | grep inet | cut -d ':' -f2 | cut -d ' ' -f1 | cut -d '.' -f1-2)
echo "${subnet}"
}

#===========================================================================================#
getIp() {
ip=$(/sbin/ifconfig | grep -a1 ${1} | grep inet | cut -d ':' -f2 | cut -d ' ' -f1)
echo "${ip}"
}

#===========================================================================================#
isInterfaceActive() {
ip=$(getIp "${1}")
if [ "${ip}" != "" ] ; then
echo "1"
else
echo "0"
fi
}

#===========================================================================================#
autrereseau() {
// A ADAPTER
}

#===========================================================================================#
home() {

/sbin/service iptables stop
// A ADPATER
echo "nameserver 208.67.220.220" >> /etc/resolv.conf
echo "nameserver 208.67.222.222" >> /etc/resolv.conf

}

#===========================================================================================#
connect() {
ip=$(getIp "${1}")
subnet=$(getSubnet "${1}")

if [ "${ip}" = "XX.XX.XX.XX" ] ; then
// A ADAPTER
home
else
if [ "${subnet}" = "XX.XX" ] ; then
// A ADAPTER
autrereseau
fi
fi
}

eth="$1"
if [ "$2" = "up" ] ; then
if [ $(isInterfaceActive "${eth}") -ne 0 ] ; then
echo "$eth is active. Using it"
connect "${eth}"
fi
fi