Bonjour à tous !
j'ai un vieil ordinateur portable qui me sert de serveur, avec yunohost installé dessus, et qui me sert à d'autres trucs, j'ai quelques scripts divers qui tournent dessus.
Comme la majorité des vieux portables, le ventilo fait un bruit de turbine particulièrement agaçant.
Et comme il est dans la même pièce que mon lit (les joies d'un studio), j'ai vite cherché un moyen de le réduire au silence.
Donc ça fait environ deux ans que j'ai bridé le CPU à 800MHz (le minimum qu'il supporte) avec la commande cpufreq-set et une règle cron pour lancer à chaque démarrage.
Puis comme j'avais un script qui avait besoin d'un peu de ressource, je me suis dit que ça dérangerai personne si je rajoutais une tâche cron qui enlève la limite des 800Mhz quand je suis au boulot.
Donc j'ai ajouté une tâche cron pour passer la limite à 3GHz quand je pars au boulot, et une pour la passer à 800MHz quand je reviens du boulot.
Comme je suis un génie, j'ai fait ça en SSH depuis mon boulot.
Une heure plus tard, mon serveur était inaccessible.
Quand je suis rentré chez moi, y'avait des warnings concernant la température du CPU à l'écran.
J'ai rebooté, j'ai remis une limite perpétuelle à 800MHz, et mon pc a l'air de bien se comporter.
Sauf que : je n'ai pas accès à internet.
Si je fais /sbin/ifconfig, j'ai uniquement "docker0" et "lo".
pas de eth0.
Si je fais "ip link show", j'ai bien une ligne pour eth0, mais avec une mention "state DOWN", ce qui ne me semble pas normal.
Si je fais /sbin/ifconfig eth0 , j'ai bien de nouveau eth0
Ensuite, un /sbin/ifconfig eth0 up pour l'activer ne me renvoie rien.
Puis un ping vers ma box me renvoie "connect: Network is unreachable".
D'où une question qui s'impose. Ai-je cramé ma carte réseau en faisant chauffer mon processeur ?
# lister le materiel
Posté par jp-oc . Évalué à 3.
bonjour,
voir avec la commande lspci si la carte reseau est presente
[^] # Re: lister le materiel
Posté par Coninox (site web personnel) . Évalué à 2.
Oui, j'ai bien une carte Ethernet controler si je fais un lspci.
# dmesg
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 4.
Essaie aussi quelque chose comme
dmesg | grep -i eth
Bonne chance!
La gelée de coings est une chose à ne pas avaler de travers.
[^] # Re: dmesg
Posté par Coninox (site web personnel) . Évalué à 2.
J'ai bien un résultat avec cette commande. (je ne peux malheureusement pas faire de copier/coller ici pour des raisons évidentes)
ça me donne deux ligne avec ce qui semble être la version du driver de la carte.
Si je fais un
/sbin/ifconfig eth0 up
et que je refais
dmesg | grep -i eth
j'ai des lignes supplémentaires. Je ne sais pas quelle information est importante dedans, mais plusieurs lignes se terminent par "link is down".
[^] # Re: dmesg
Posté par Anonyme . Évalué à 3. Dernière modification le 20 janvier 2018 à 12:40.
pas de pb de cable ou de faux contact sur les pin du rj45 ? avec l'humidité et les années ca peut arriver, coté pc et coté routeur.
link si down -> cable non branché mais cela ne devrais pas t'empecher de configurer ta carte avec if config complétement
ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255
if up prend la configuration de /etc/networks, tu as moins de message d'erreur amha
un modprobe modulekivabien te donne quelques choses ?
[^] # Re: dmesg
Posté par Coninox (site web personnel) . Évalué à 1.
"pas de pb de cable ou de faux contact sur les pin du rj45 ? avec l'humidité et les années ca peut arriver, coté pc et coté routeur."
J'ai essayé avec un autre RJ45 et un autre port sur ma box : même problèmes
"ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255"
La commande ne renvoie rien, je n'ai toujours pas d'accès au réseau après.
"un modprobe modulekivabien te donne quelques choses ?"
ça dépend, comment je fais pour connaitre le modulekivabien ?
[^] # Re: dmesg
Posté par Anonyme . Évalué à 5.
dmesg | grep eth0
[ 1.458202] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:0f:fe:a3:0b:08
[ 1.458206] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[ 1.458227] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: 1062FF-0FF
[ 8.603384] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 9.892901] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[ 9.893011] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
[ 9.893047] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
si jamais tu ne trouve pas ton module, avec lspci le nom de ta carte reseau + google tu peux le trouver
ici le module s’appelle : e1000e
tu le retrouve avec
lsmod | grep e1000e
e1000e 192586 0
tu le decharge de la mémoire :
modprobe -r e1000e
puis relance avec les options kivonbien :)
modprobe -v e1000e
chaque module peut avoir des options particulière, dont tu trouve la liste dans les sources .c du module ca peut etre intéressant.
[^] # Re: dmesg
Posté par Tonton Th (Mastodon) . Évalué à 2.
Parce que tu as laissé passer trolldi ?
# Bonnes options de ifconfig
Posté par Obsidian . Évalué à 3. Dernière modification le 20 janvier 2018 à 19:38.
Hello, juste pour info, il est normal de ne pas voir les connexions down avec
ifconfig
. Il faut écrireifconfig -a
pour lui demander de les afficher toutes.Vois déjà si ta connexion reste montée lorsque tu la redéfinis comme tu l'as fait en lui réaffectant une adresse et en la montant, avec
ifconfig eth0 192.168.0.2 up
puisifconfig
tout seul pour voir si elle apparaît bien. Ensuite, il faut que tu vérifies sur quel sous-réseau tu es censé te trouver. dark_star t'as suggéré 192.168.2.2 plus haut, mais ça peut être autre chose que 2.Enfin, une fois ta carte réseau remontée, il faudra peut-être redéfinir la passerelle par défaut avec un truc du style `route add default gw 192.168.2.254 eth0' en remplaçant éventuellement 254 par 1, et le 2 par 0, 1, 2, 3… etc.
Évidemment, cela ne nous dit pas pourquoi ta manip' a fait planter ton réseau, mais il est possible que le fait d'avoir passé ta machine à 800 Mhz et avoir rebooté pousse un des scripts de démarrage à ramer suffisamment pour atteindre un
timeout
, mais ce serait étonnant quand même. On ne pourrait être fixés qu'en examinant les logs.Autre piste : il y a des chances que ta carte réseau obtienne en fait son adresse via le DHCP (et que la passerelle soit configurée à cette occasion), que tes manips aient provoqué l'expiration du bail et que l'équipement censé lui renouveler ne le fasse plus.
[^] # Re: Bonnes options de ifconfig
Posté par Coninox (site web personnel) . Évalué à 2. Dernière modification le 20 janvier 2018 à 21:17.
Cette fois-ci, j'ai fait
ifconfig eth0 192.168.0.2 up
, avec l'adresse IP qui va bien(elle est paramétrée en adresse statique dans les paramètres DHCP de ma box, histoire de pas casser les redirections de ports à chaque reboot)
Je l'avais fait avec une adresse quelconque la première fois, probablement l'égarement de la fin de semaine.
Y'a du progrès.
Maintenant, je peux pinger ma box.
Par contre, j'arrive pas à pinger un nom de domaine, ni à faire les mises à jour par apt-get.
Je suppute un problème de DNS.
Mon serveur a l'air d'être accessible depuis l'extérieur par son nom de domaine.
(je peux pas y accéder à cause d'un problème de certificat, mais le problème était apparu avant et n'a rien à voir)
Donc ça a l'air de fonctionner, mais que dans un sens.
Et la manip ne résiste pas à un reboot.
[^] # Re: Bonnes options de ifconfig
Posté par Obsidian . Évalué à 4.
Tu as spécifié une adresse fixe dans la config du serveur DHCP (ce que je fais aussi) en fonction de sa mac address mais attention à ne pas déclarer « STATIC » l'adresse de ta carte sur ta machine, car cela signifie que le serveur DHCP ne sera pas interrogé…
C'est normal. Pour que la résolution DNS fonctionne (et par conséquent tous les programmes dont les connexions se font vers un nom de domaine plutôt qu'une adresse IP, soit 99 % des applications Internet), il faut remplir
/etc/resolv.conf
pour lui indiquer quels sont les DNS à contacter pour faire la résolution. Et les adresses de ces serveurs sont indiqués sur les documents papier qui t'ont été envoyés par ton fournisseur d'accès.Mais là encore, ces informations sont censées être communiquées automatiquement avec la requête DHCP. Tout semble venir de là.
C'est soit NetworkManager, soit les clients DHCP en ligne comme
pump
oudhclient
qui font la requête et qui remplissent le fichier le cas échéant. Vérifie la config de ta carte réseau dans ton gestionnaire. Si ça se trouve, tu as juste coché une mauvaise case et fait passer ta carte soit à l'état inactif, soit en configuration statique et avec des paramètres non renseignés.Sinon, tu peux remplir
/etc/resolv.conf
. Attention, c'est peut-être un lien symbolique vers un autre fichier. Si tu as une box un peu sophistiquée comme une Freebox V6, il se peut qu'elle soit elle-même serveur DHCP et tu peux te contenter d'y écrirenameserver adresse.de.ta.box
, sinon tu retrouves les bons serveurs, soit en cherchant sur le Net puisque tu as visiblement une connexion de secours, soit dans tes documents papier.Pense à ajouter les serveurs IPv6 également si tu es concerné.
[^] # Re: Bonnes options de ifconfig
Posté par Coninox (site web personnel) . Évalué à 1.
Ah ben ça, ça risque pas, je savais pas qu'on pouvait.
J'ai pas d'environnement graphique installé.
J'ai tenté de suivre ce tuto pour configurer resolv.conf, sans succès.
J'ai tenté d'écrire directement dans le fichier resolv.conf malgré la ligne d'avertissement qui signale que ça sera écrasé. Ca ne l'a pas été pendant mon test, mais ça n'a quand même pas marché.
Puis, j'ai essayé de pinger une adresse IP extérieure à mon réseau.
J'ai lancé un ping vers un nom de domaine (google en l'occurence) sur une machine sur laquelle tout fonctionne, j'ai noté l'adresse IP, puis j'ai fait un ping vers cette adresse IP depuis la machine problématique.
ça me renvoie "Network unreachable"
Donc je dois avoir un autre problème que la résolution DNS, non ?
[^] # Re: Bonnes options de ifconfig
Posté par Anonyme . Évalué à 2.
tu peux démarrer sur un live cd/usb pour faire tes manip et enlever le doute sur un pb de disques ?
[^] # Re: Bonnes options de ifconfig
Posté par NeoX . Évalué à 5. Dernière modification le 21 janvier 2018 à 12:46.
pour qu'une connexion reseau et vers internet fonctionne il te faut 3 choses :
tu peux fixer ces 3 parametres :
# diverses questions
Posté par freem . Évalué à 3.
J'ai vu dans les commentaires que tu utilises apt-get, mais quelle distro? As-tu fait une mise à jour récemment? Je pose la question parce qu'il se peut que le nom de l'interface réseau ait changé si une MàJ majeure est passée par la (normalement, non, mais on sait jamais).
Tu indiques avoir fait
ip link show
mais tu n'indiques pas le retour complet, qui permettrait d'invalider la possibilité ci-dessus.Quel gestionnaire réseau utilises-tu? Tu indiques ne pas utiliser d'interface graphique (bien que je doute que sois en TTY) mais ça n'indique pas comment le réseau est configuré chez toi. Personnellement, je n'utilise pas de daemon pour gérer le réseau, je le fais manuellement à partir de
/etc/network/interfaces
(avec le wpa_supplicant.conf qui va bien et mets les clés non dans la config mais dans le $HOME de mon utilisateur, histoire de pouvoir ajouter un réseau wifi sans être root…).Si tu n'utilises pas de gestionnaire, peut-on voir le contenu de ce fichier?
Tu peux ping ta box, mais arrives-tu à ping une autre machine sur le LAN sur l'ethernet (donc, quand tu n'es séparé d'une autre machine que via un switch, ta box faisant potentiellement office de switch. Il n'y a pas de raison que non, mais ce petit test permettrais déjà de vérifier qu'il n'y a pas de problème de ce côté: peut-être n'est-ce pas du côté de ton PC, que ça merde)?
Une hypothèse qui n'a pas été abordée: un problème de routage? Que donne la commande
route
?Notes: pour l'histoire de
resolf.conf
, un moyen relativement simple pour vérifier si c'est une merde dans le DNS est de balancer un simple# echo 8.8.8.8 > /etc/resolv.conf
. Vu que ce fichier est de toute façon régénéré par le système… (par contre c'est pas propre de squatter le DNS de google, j'ai cru lire à plusieurs reprises que niveau sécurité c'est douteux, mais pour du test, ça ne devrais pas poser de problème j'imagine)[^] # Re: diverses questions
Posté par Coninox (site web personnel) . Évalué à 1.
C'est une debian (4.8.4)
Je commence à me demander si j'ai pas viré un truc nécessaire au fonctionnement du réseau avec un apt-get autoremove.
Mais je ne pense pas que ça coïncide en terme de temporalité.
Aucune idée. Jusqu'à maintenant, je faisais rien, et ça marchait, c'était magique.
Il n'y a que ça dedans :
# The loopback network interface
auto lo
iface lo inet loopback eth0
J'ai essayé de rajouter :
#primary network interface
auto eth0
iface eth0 inet dhcp
En espérant récupérer miraculeusement ma connection.
J'ai pas constaté de changement.
d'ailleurs, si je fais un
/sbin/ifconfig
, il n'y a toujours pas mention de eth0.Après un
/sbin/ifconfig eth0 192.168.1.92 up
, eth0 aparait bien lors d'un/sbin/ifconfig
.Je peux alors faire un ping vers ma box, mais aussi vers une autre machine de mon réseau.
Je ne peux pas en faire vers une machine extérieure au réseau.
"Commande introuvable" :D
[^] # Re: diverses questions
Posté par freem . Évalué à 3.
debian 4.8.4? Debian n'a que 2 numéro dans leurs versions: majeur.patch. Et la stable actuelle est stretch, en 9.3.
Tu as quoi dans ton fichier
/etc/apt/sources.list
? C'est pas à proprement parler la façon standard de récupérer une version de distro, mais je me rappelle jamais la façon standard…Enfin, ça ne devrais pas être trop important puisque eth0 est reconnue: si c'est stretch que tu utilises, il y a de grandes chances que tu sois passé par une migration d'une version plus vieille.
Ouai, bon, je pense que tu utilises, ou utilisais, un gestionnaire de réseau, parce que sinon avec la conf d'origine ça n'aurait jamais marché ton histoire.
Et du coup, s'il en reste des morceaux (du gestionnaire réseau, je veux dire) c'est pas impossible qu'il y ait un conflit, ce qui explique que la modification du fichier ne répare rien (enfin, en admettant que tu aies redémarré ou lancé en tant que root
ifup -a
bien sûr).Le plus simple, ça serait d'avoir la sortie d'un
pstree
, avec le moins de logiciels lancés possible (histoire d'alléger, parce qu'avec le moindre outil qui embarque un moteur de rendu web, notamment, on se retrouve avec une tétrachiée de lignes). S'il y a un gestionnaire de réseau qui tourne, on devrais pouvoir l'identifier comme ça, avec le nom.En soit, ça me surprend pas plus que ça, parce que tu fixes bien ton IP, mais tu ne définit pas de passerelle.
Personnellement, je ne passe jamais par ifconfig pour configurer le réseau, je trouve sa syntaxe imbitable: configurer directement /etc/network/interfaces sous Debian est plus simple, et par exemple pour une config statique, ça peut donner ça:
Personnellement, pour configurer en ligne de commande, j'aurait plutôt fait un truc dans ce goût la:
La première commande demande au noyau d'allumer une interface (eth0 ici) et la deuxième demande au client DHCP (le protocole qui permets de récupérer les informations réseau de ta box) de la configurer (je trouve dhclient assez moche, m'enfin, c'est ce qui est installé par défaut me semble).
De mémoire, ifconfig est considéré comme déprécié en faveur des commandes ip, mais bon, ça marche encore.
Ça se lance en tant que root :)
[^] # Re: diverses questions
Posté par Coninox (site web personnel) . Évalué à 1.
/proc/version me dit ça :
Linux version 3.16.0-5-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08)
Ce qui me parait pas trop cohérent, en fait, ou alors j'interprête mal ce truc.
Je suis sur une debian Jessie, le projet Yunohost ne supporte pas encore Strech (ça devrait arriver avec la prochaine version majeure)
Ah ben je m'attendais à un message d'erreur qui dit que j'ai pas le droit, dans ce genre de cas !
Donc effectivement, y'a pas de passerelle de spécifiée.
si je fais
dhclient eth0
(ma carte eth0 est restée montée avec le ifconfig fait la veille) j'obtiens désormais :Et je peux maintenant pinger meteofrance.com \o/
Enfin, jusqu'au prochain reboot.
Je suppose que maintenant, l'idée, c'est soit de réinstaller un gestionnaire réseau, soit de passer directement par /etc/network/interfaces, mais faut trouver pourquoi les modifications ne sont pas prises en compte.
(ou alors de mettre un tâche cron qui fait
dhclient eth0
à chaque reboot, mais je ne suis pas convaincu que ce n'est pas une solution dégueulasse)[^] # Re: diverses questions
Posté par freem . Évalué à 2.
C'est la version du noyau Linux que tu utilises ça, pas de la distribution :)
L'explication est simple, même si j'admets que le procédé en lui-même est discutable: par défaut, l'utilisateur root est le seul à avoir
/sbin
,/usr/sbin
et quelques autres dans son$PATH
(la variable qui indique ou on va chercher les exécutables). À priori, c'est fait pour la sécurité, m'enfin, à mon avis ça sert à rien puisque pour ça on à déjà les permissions de fichier… 'fin bref, c'est la raison du «not found».Oui, ça serait dégueulasse, et pas fiable en plus, parce que cron n'est pas fait pour lancer des tâches au démarrage, mais de manière régulière. Une solution sale mais un peu moins serait de le mettre dans un des fichiers qui décrivent les commandes à lancer au boot.
Pour le système, il y a… ben, ça change selon l'init, en fait… et pour l'utilisateur, ça change en fonction du bureau… bref :)
Pour la résolution du problème, je ne vois pas de gestionnaire réseau que je connaisse dans tes processus, peut-être que «ModemManager» trifouille les paramètres réseau, mais ça reste à prouver.
Du coup, ça va être assez assez simple, il te suffit d'ajouter:
dans ton fichier
/etc/network/interfaces
, faire unifup -a
(en tant que root bien sûr) et le problème devrais être réglé. Il va de soit que si tu utilises un autre type de connexion (3G par exemple? cf modemmanager) il te faudra ajouter les lignes qui vont bien dans ce même fichier, et ça, ça dépendra du type de connexion, pour le coup (l'eternet est le plus simple, y'a rien à configurer, tout est fait automatiquement. Pour le wifi, il faut ajouter la clé wpa, c'est relativement simple et largement documenté sur le oueb. Pour la 3G par contre… j'ai fait une fois, donc ça se fait, mais je n'irais pas prétendre comprendre comment ça marche, pas encore…).[^] # Re: diverses questions
Posté par Coninox (site web personnel) . Évalué à 1.
J'obtiens
/etc/network/interfaces:8: too many parameters for iface line
lorsque je fais monifup -a
[^] # Re: diverses questions
Posté par freem . Évalué à 2. Dernière modification le 26 janvier 2018 à 09:47.
Il y aurait moyen que tu mettes le fichier en entier, que je voie c'est laquelle la ligne 8?
Tu n'aurais pas «une fausse espace» (l'espace insécable… c'est con à dire mais ça m'arrive souvent d'en écrire sans faire gaffe, et du coup zsh ou gdb gueulent) dans le fichier, ou autre connerie du genre?
[^] # Re: diverses questions
Posté par Coninox (site web personnel) . Évalué à 1. Dernière modification le 29 janvier 2018 à 20:01.
Alors, si j'y accède en ssh, que je fais
cat /etc/network/interfaces
, et que je copie-colle le résultat, ça donne :(et par la même occasion, j'ai fait un
ls /etc/network/interfaces.d
, et il est vide)[^] # Re: diverses questions
Posté par freem . Évalué à 2.
Et voici la ligne 8, donc:
La réponse rapide: enlèves le eth0, l'explication:
man interfaces
.La réponse plus longue (en très rapide, mal expliqué et… bref): tu as 2 types de lignes, les lignes qui décrivent comment doit se comporter une interface au démarrage (genre "auto lo") dont le 2ème mot est le nom de l'interface, et les lignes qui décrivent comment configurer la-dite interface au démarrage: type de réseau, méthode de récupération d'adresse, …
Ici, tu as spécifié 2 noms d'interface différents sur la même ligne: eth0 et lo.
[^] # Re: diverses questions
Posté par Coninox (site web personnel) . Évalué à 1.
Visiblement, ça marche.
Je suppose que mon problème est donc résolu.
Merci beaucoup !
[^] # Re: diverses questions
Posté par freem . Évalué à 2.
Pas de problème.
J'espère qu'en cadeau bonus, tu as pu acquérir des notions de pourquoi ça marche. Pour moi, apprendre à pêcher à l'affamé est plus utile que de lui donner un poisson.
[^] # Re: diverses questions
Posté par NeoX . Évalué à 3.
4.8.4 c'est la version du compilateur GCC
la version de ton debian s'obtient avec :
cat /etc/issue
ou
lsb_release
si l'outil est installéou avec
awk '{print $3}' /etc/apt/sources.list
[^] # Re: diverses questions
Posté par freem . Évalué à 2.
De celui qui à servi à compiler le noyau, en fait. Sur Debian, on finit rapidement par avoir plusieurs compilos d'installés.
J'ai failli le lui suggérer, mais il me semble que techniquement, c'est juste un fichier qui indique comment le système salue un nouveau connecté, la version de la distrib n'y est pas nécessairement inclue (genre je me suis fait un modèle de machine virtuelle purgée de toute la crasse, prêt à dupliquer: ben le /etc/issue contiens le pass admin, le login user avec son pass, et la liste des fichiers à modifier avant d'utiliser sérieusement).
Voila le truc que je cherchais.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.