/etc/network/interfaces et /etc/resolv.conf - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 15-03-2016 à 13:43:04
T'aurais pas le paquet resolvconf d'installé et d'activé sur ton système des fois ?
Marsh Posté le 15-03-2016 à 13:47:13
Et sinon, tu utilises quel client dhcp sur ton système ? (nom et version de la distrib si disponible ? )
Pour la distrib, un cat /etc/lsb-release ou un lsb_release -idrc peut aider
EDIT : un lien qui donne des exemples (bcp) des endroits où peuvent se trouver les infos de version suivant les distribs
Marsh Posté le 15-03-2016 à 14:12:49
root@beaglebone:~# cat /etc/lsb-release |
on est pas sortis du marrais.
root@beaglebone:~# cat /etc/apt/sources.list |
ça t'aide ça ?
root@beaglebone:~# apt-cache search resolvconf |
root@beaglebone:~# dpkg-query -f '${binary:Package}\n' -W | grep dhcp |
dans syslog, j'ai tout le temps des trucs comme ça:
Mar 15 13:09:25 beaglebone dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 |
je sais pas si ça répond exactement à la question d'identifier le client dhcp (je savais pas qu'on a le choix, WTF on a le choix, et je sais pas quel est le menu)
Marsh Posté le 15-03-2016 à 14:13:50
Zzozo a écrit : |
root@beaglebone:~# cat /etc/*release |
Marsh Posté le 15-03-2016 à 14:25:45
ok ... à priori, si resolvconf est pas dans le coup, faut regarder la conf du client dhcp, y'a de grandes chances qu'il y ait à activer désactiver/activer une option dans la config de celui-ci
Le client dhcp que tu utilises se base sur les deux paquets :
isc-dhcp-client
isc-dhcp-common
Par contre, udhcpd ça contient plutôt le nécessaire pour exploiter un (mini) serveur dhcp sur ton beaglebone ...
Marsh Posté le 15-03-2016 à 14:28:57
A tout hasard ... tu as vérifié si quand le cable ethernet est débranché, ton interface ethxx récupère une addresse IP ? (si oui, du genre ?)
Marsh Posté le 15-03-2016 à 14:36:52
Je viens de voir un truc dans ta conf réseau ...
A priori, le
Citation : auto eth0 |
est pas nécessaire
Le
Citation : allow-hotplug eth0 |
est suffisant pour que la conf auto de eth0 démarre quand on branche un câble dessus (tu dois avoir un service/démon ifplugd qui tourne et qui s'occupe de ça, va voir sa conf, y'a ptet des choses intéressantes pour toi dedans)
Le auto vérifie pas que l'interface est up (et la connectivité assurée) au niveau en dessous (1) et c'est pour ça que tu vois passer les DHCPDISCOVER dans ton syslog
Marsh Posté le 15-03-2016 à 14:42:18
Et à priori, ton interface eth0:1 est toujours montée, eth0 branchée ou pas
Marsh Posté le 15-03-2016 à 14:44:11
merci pour ton aide
cable débranché:
root@beaglebone:~# ifconfig |
je teste le changement au niveau de auto.
Marsh Posté le 15-03-2016 à 14:47:08
ok, maintenant, faut trouver qui écrase ton resolv.conf de façon auto
Marsh Posté le 15-03-2016 à 14:50:20
Des mans qui te seront utiles, AMHA
http://linux.die.net/man/8/ifplugd
http://linux.die.net/man/5/ifplugd.conf
http://linux.die.net/man/8/ifplugstatus
Regarde de préférence ceux correspondant aux paquets installés sur ton beaglebone (soit sur le beaglebone, soit chez Debian, directement)
histoire d'avoir les infos les plus exactes
Marsh Posté le 15-03-2016 à 14:55:23
en fait c'est pas exactement l'écrasement de resolv.conf qui m'ennuie (on peut imaginer que je le branche dans un réseau local qui a des dns intéressants), c'est surtout qu'il le remette pas comme il faut quand il a fini, mais peut-être que le allow-hotplug est la réponse (genre ce niveau croyait que le lien était toujours actif et donc a pas remis resolv.conf en état).
du coup, est-ce qu'il est malin de mettre allow-hotplug à tout le monde ?
Marsh Posté le 15-03-2016 à 14:56:36
T'aurais pas un gestionnaire de connections genre NetworkManager qui tournerait en // des fois, non plus ?
Marsh Posté le 15-03-2016 à 15:04:11
root@beaglebone:~# dpkg -s network-manager |
Marsh Posté le 15-03-2016 à 15:05:46
Citation :
The ifplugd package is an older automatic network configuration tool which can manage only Ethernet connections. This solves unplugged/replugged Ethernet cable issues for mobile PC etc. If you have NetworkManager or Wicd (see Section 5.2, “The modern network configuration for desktop”) installed, you do not need this package. This package runs a daemon and replaces auto or allow-hotplug functionalities (see Table 5.10, “List of stanzas in "/etc/network/interfaces"”) and starts interfaces upon their connection to the network. Here is how to use the ifplugd package for the internal Ethernet port, e.g. eth0. Remove stanza in "/etc/network/interfaces": "auto eth0" or "allow-hotplug eth0". Keep stanza in "/etc/network/interfaces": "iface eth0 inet …" and "mapping …". Install the ifplugd package. Run "sudo dpkg-reconfigure ifplugd". Put eth0 as the "static interfaces to be watched by ifplugd". Now, the network reconfiguration works as you desire. Upon power-on or upon hardware discovery, the interface is not brought up by itself. Quick boot process without the long DHCP timeout. No funny activated interface without proper IPv4 address (see Section 5.5.12, “The network configuration state of ifupdown”). Upon finding the Ethernet cable, the interface is brought up. Upon some time after unplugging the Ethernet cable, the interface is brought down automatically. Upon plugging in another Ethernet cable, the interface is brought up under the new network environment. [Tip] Tip The arguments for the ifplugd(8) command can set its behaviors such as the delay for reconfiguring interfaces. |
En fait, ton cas de figure, c'est celui là.
Tu as besoin d'adapter ta conf réseau (la résolution de nom en particulier) en fonction des interfaces dispo et/ou qui montent descendent
Et pour ça faut utiliser un gestionnaire genre ifplugd (pour les plus anciennes versions) ou NetworkManager (par exemple, pour les versions plus récentes)
qui réagira comme tu l'auras spécifié, dans leurs fichiers de confs respectifs, aux évènement up/down sur les interfaces, et avec aussi un histoire de priorités entre
les différentes interfaces
Ce que tu décris (le fichier resolv.conf) me laisse penser que tu as un gestionnaire de connectivité installé et qui fonctionne
Reste plus qu'à déterminer lequel et le configurer pour qu'il fasse exactement ce que tu veux au niveau de ta conf réseau (dns, routage, etc ... )
Marsh Posté le 15-03-2016 à 15:11:15
nraynaud a écrit :
|
Est ce que c'est possible que tu m'envoies la sortie de la commande ps ax (executée en tant que root)
si y'a pas de choses sensibles à dévoiler (tu peux me laisser ça en MP) ?
Je pense que j'arriverai à deviner assez vite ce qui tourne et gère/monitore tes connexions réseau
Marsh Posté le 15-03-2016 à 15:15:01
le seul indice que j'ai trouvé c'est un service "networking.service" dans systemctl
mais je trouve pas comment il se configure.
Marsh Posté le 15-03-2016 à 15:17:04
PID TTY STAT TIME COMMAND |
Marsh Posté le 15-03-2016 à 15:27:08
ok, alors déjà, rapidement ;
Citation : 527 ? Ss 0:00 /sbin/wpa_supplicant -u -s -O /var/run/wpa_supplicant |
Tu dois gérer du WPA/WPA2 sur ton beaglebone ?
Citation : 1317 ? S 0:05 /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py |
A priori, il a une bonne tête de coupable
wicd est un gestionnaire de connectivité (pour le wifi mais aussi pour les réseaux filiaires) alternatif à NetworkManager
Faut regarder du côté du/des paquets wicd / wicd-daemon (plutôt le deuxième à priori) pour connaitre
la liste des fichiers du/des paquets et savoir où il(s) planque(ent) leur fichier de conf
Et y'a de grandes chances que on bonheur se trouve dedans
Marsh Posté le 15-03-2016 à 15:30:54
Par contre, je viens de me rappeler d'un truc ... je suis plus sur qu'il soit encore développé/maintenu ...
EDIT : les dernières modifs datent de 2013
En plus wicd, de mémoire, j'utilisais ça à l'époque où je voulais un truc plus simple (et surtout qui fonctionnait ) que NetworkManager pour gérer la config réseau de mes pc portables
Mais depuis NetworkManager a bien évolué et j'ai laissé tomber wicd ...
Et je crois me rappeler qu'il stocke ses préférences/réglages (config réseau, différents profils filaires réseaux genre bureau, maison, café, etc ... ) au niveau du répertoire utilisateur, pas au niveau système
Si c'est bien lui qui gère la connectivité réseau du beaglebone, je suis pas persuadé que ce soit le meilleur outil pour ça
EDIT2 : J'ai ptet dit des bêtises pour l'emplacement des fichiers de config de wicd
A voir comment c'est avec Wheezy
Marsh Posté le 15-03-2016 à 15:32:44
merci, je vais aller voir ce truc (jamais entendu parler)
Marsh Posté le 15-03-2016 à 15:38:58
(pour répondre sur WPA: autant que je sache y'a pas de wifi sur le BB, ça doit être pour les gens qui mettent une clef wifi USB)
Marsh Posté le 15-03-2016 à 15:55:00
nraynaud a écrit : (pour répondre sur WPA: autant que je sache y'a pas de wifi sur le BB, ça doit être pour les gens qui mettent une clef wifi USB) |
De toutes façons, quand j'ai vu wicd après avoir vu wpa_supplicant, j'ai compris la raison de sa présence
Ils vont toujours ensemble ces deux là, wicd ayant été conçu comme une alternative plus simple/légère/qui fonctionne à NetworkManager pour les utilisateurs nomades, et plus particulièrement pour gérer le wifi et tous les réseaux associé
wicd s'occupe de tout, sauf de tout ce qui concerne WEP/WPA/WPA2, c'est le rôle de wpa_supplicant, wicd lui passe la main lors des négociations de clés (il les stocke notamment) & co
Marsh Posté le 15-03-2016 à 15:56:05
https://wiki.debian.org/fr/WiFi/HowToUse#Wicd
http://manpages.ubuntu.com/manpage [...] onf.5.html
http://manpages.ubuntu.com/manpage [...] onf.5.html
http://manpages.ubuntu.com/manpage [...] onf.5.html
C'est tiré de Ubuntu, mais ça doit être à peu de chose près pareil pour Debian Wheezy
Faut que tu regardes cette partie là, entre autres, pour tes histoire de dns :
Citation : |
Sinon, de mémoire, doit y'avoir des outils en ligne de commande ( wicd-cli )et une interface texte ( wicd-curses ) pour configurer le bordel sans passer par les fichiers
Marsh Posté le 15-03-2016 à 16:02:01
'tain j'y capte rien tout à l'air par défaut dans wicd, et la doc du fichier de conf est succincte : http://manpages.ubuntu.com/manpage [...] onf.5.html
Marsh Posté le 15-03-2016 à 16:15:53
nraynaud a écrit : 'tain j'y capte rien tout à l'air par défaut dans wicd, et la doc du fichier de conf est succincte : http://manpages.ubuntu.com/manpage [...] onf.5.html |
Les dns sont différents quand tu branches ethernet et quand tu branches l'usb ?
Marsh Posté le 15-03-2016 à 16:20:14
je viens de regarder, y'a comme une valve: eth0 écrase le DNS dans /etc/resolv.conf , mais brancher le GPRS ne remet pas le DNS de google.
Marsh Posté le 15-03-2016 à 16:22:01
wicd ne voit pas le GPRS, même quand il est connecté.
Marsh Posté le 15-03-2016 à 16:32:02
nraynaud a écrit : je viens de regarder, y'a comme une valve: eth0 écrase le DNS dans /etc/resolv.conf , mais brancher le GPRS ne remet pas le DNS de google. |
définit les dns du grps comme dns globaux
genre ces paramètres là dans wicd-manager-settings.conf
Citation : |
et tu lui dis dans wicd-wired-settings.conf d'utiliser temporairement les dns renvoyés par le dhcp
Citation : |
wicd rétablira les dns globaux, ceux du gprs donc, une fois la connexion filaire coupée
Est ce que c'est un fonctionnement satisfaisant ou pas ?
Marsh Posté le 15-03-2016 à 16:36:11
je regarde, merci pour ton aide en tout cas.
C'est un peu long à tester, genre là j'ai branché le cable eth0, mais on dirait que personne d'intéressant n'a reçu le mémo:
Mar 15 15:31:40 beaglebone kernel: [ 5496.407914] libphy: 4a101000.mdio:00 - Link is Up - 100/Full |
aucune trace de dhclient, de wicd ou de ifup
Marsh Posté le 15-03-2016 à 16:48:13
en fait y'a rien de hot plug, eth0 est tout le temps up (sans adresse IPv4), et quand je branche le cable, il prend pas d'adresse.
le gprs non plus, si je boot sans gprs, rien ne se connecte tout seul.
Marsh Posté le 15-03-2016 à 17:00:57
tu vois bien wicd-daemon.py et monitor.py dans la liste des processus, après avoir booté ?
Si oui, le fichier /etc/resolv.conf a quelle tête ?
Marsh Posté le 15-03-2016 à 17:05:19
'tain des fois ça voit le hot plug et des fois ça le voit pas
c'est un cauchemar
root@beaglebone:~# cat /etc/resolv.conf |
(j'ai pas remis google à la depuis quelques temps, donc il reste comme ça)
Marsh Posté le 15-03-2016 à 17:05:55
nraynaud a écrit : je regarde, merci pour ton aide en tout cas.
|
avahi ... arf ...
vous avez pas besoin de mDns/rendez vous and co dans vos éoliennes, non ? parce que sinon, tu peux le virer ou juste désactiver du démarrage
Mmmm un doute m'habite .... quel est le contenu du fichier /etc/nsswitch.conf (notamment de la ligne hosts: ..... ) ?
Ce fichier désigne l'ordre de préférence pour choisir la méthode de résolution de noms (fichiers genre /etc/hosts, dns, mdns, etc ... )
Ca peut avoir son importance, surtout si mdns est devant tout le monde
Marsh Posté le 15-03-2016 à 17:10:07
root@beaglebone:~# cat /etc/nsswitch.conf |
j'ai l'impression de jouer un jeu de table contre un gamin de 3ans, il invente tout le temps une nouvelle règle
Marsh Posté le 15-03-2016 à 17:11:18
et pour le hotplug, je pense pas que ce soit wicd qui le gère, lui il est à l'autre bout de la chaine, et reçoit les évènement de "hotplug"
je pense que ifplugd doit être lancé (ça ou autre chose qui reçoit les évènements de hotplugs renvoyés par le kernel, et monte la/les interfaces correspondantes, ça peut être fait via udev aussi je pense)
en fait là il manque le lien entre l'évènement généré par le kernel et l'évènement "interface up" qu'attend wicd, le petit bout de glue
Soit hotplugd, soit via udev
Marsh Posté le 15-03-2016 à 17:14:00
nraynaud a écrit :
|
mdsns sur de l'embarqué mouais
Vire moi cette cochonnerie de mdns4_minimal [NOTFOUND=return] (et même le mdns4 final si vous en avez pas besoin )
Il foutait bien la grouille déjà, il empêchait une résolution dns classique (en gros si le sous ensemble mdns répondait "not found" à une requête dns, il passait même pas la main au" vrai dns" )
Marsh Posté le 15-03-2016 à 17:15:34
root@beaglebone:~# cat /etc/udev/rules.d/70-persistent-net.rules |
je sais pas quoi faire de cette info.
Marsh Posté le 14-03-2016 à 18:46:12
bonjour,
j'essaye de comprendre comment je dois configurer mon beaglebone.
voici mon /etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
#MODEM3G
auto gprs
allow-hotplug gprs
iface gprs inet ppp
pre-up sleep 20
provider gprs
dns-nameservers 8.8.8.8 8.8.4.4
# ETH0
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
#add a second static address to the network interface in case there is no DHCP
auto eth0:1
iface eth0:1 inet static
address 192.168.2.2
netmask 255.255.255.0
network 192.168.2.0
gateway 192.168.2.1
dns-nameservers 8.8.8.8 8.8.4.4
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE
# The secondary network interface
#auto eth1
#allow-hotplug eth1
#iface eth1 inet dhcp
# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid "essid"
# wpa-psk "password"
# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
# Note on some boards, usb0 is automaticly setup with an init script
iface usb0 inet static
address 192.168.7.2
netmask 255.255.255.0
network 192.168.7.0
gateway 192.168.7.1
La 3G c'est sur le terrain, les 2 eth0 c'est pour le connecter à l'internet pendant le dépannage et usb0, c'est pour rentrer dedans directement pendant le dépannage (finalement c'est la méthode la plus stable, le connecteur pour tty0 est perdu sous le cape).
Parfois je perds mon accès aux noms de domaine, et en allant voir mon resolv.conf, il y avait ça dedans:
nameserver 192.168.1.1
qui semble être arrivé par un coup de DHCP sur eth0 (ça semble l'explication la plus logique, c'est bien le réseau dans lequel je l'ai branché, et j'avais mis les DNS google en dur dans /etc/resolv.conf avant).
Comment se fait-il qu'il n'écrase pas le resolv.conf avec les autres interfaces quand eth0 n'a pas de câble ?
Comment je peux faire pour qu'il mette ce que le DHCP lui dit s'il dit quelque chose, et les DNS google sinon ?
mon uname:
Linux beaglebone 3.8.13-bone70 #1 SMP Fri Jan 23 02:15:42 UTC 2015 armv7l GNU/Linux
merci pour votre aide.
---------------
trainoo.com, c'est fini