Le périphérique Loopback n'est pas configuré lors du démarrage

Ma connaissance des interfaces réseau sur linux est limitée au mieux, j'espérais que quelqu'un pourrait m'aider à find la meilleure solution à un problème que j'ai causé par inadvertance.

Après le démarrage, le périphérique de bouclage sur mon post de travail ne semble pas exister. Les choses nécessitant l'adresse de bouclage (telles que l'exécution des suites de tests JUnit dans Eclipse) ne fonctionnent pas correctement. Cependant, il était très bien jusqu'à récemment, peu de time après, je me suis débrouillé avec les iptables pour transférer le port 80 au port 8080, donc c'est probablement quelque chose que j'ai fait, mais je n'ai aucune idée de la façon de le résoudre, et Jusqu'à présent, tous les Googling n'ont pas affiché de pointeurs (je ne connais probablement pas les bons termes de search …)

Tout d'abord, le contenu de /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 # The primary network interface allow-hotplug eth0 pre-up iptables-restore /etc/iptables.conf post-down /etc/iptables-flush-all 

Maintenant, après avoir démarré ma machine:

 $ sudo ifconfig eth0 Link encap:Ethernet HWaddr 00:24:e8:25:90:5d inet addr:10.33.1.106 Bcast:10.33.1.255 Mask:255.255.255.0 inet6 addr: fe80::224:e8ff:fe25:905d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Mesortingc:1 RX packets:500239 errors:0 dropped:0 overruns:0 frame:0 TX packets:334565 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:617321176 (588.7 MiB) TX bytes:36019254 (34.3 MiB) Interrupt:26 Base address:0x8000 

Si je cours ifconfig lo 127.0.0.1 , alors tout va bien et la sortie de ifconfig devient:

 $ sudo ifconfig eth0 Link encap:Ethernet HWaddr 00:24:e8:25:90:5d inet addr:10.33.1.106 Bcast:10.33.1.255 Mask:255.255.255.0 inet6 addr: fe80::224:e8ff:fe25:905d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Mesortingc:1 RX packets:606221 errors:0 dropped:0 overruns:0 frame:0 TX packets:407173 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:767892736 (732.3 MiB) TX bytes:42051623 (40.1 MiB) Interrupt:26 Base address:0x8000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Mesortingc:1 RX packets:65 errors:0 dropped:0 overruns:0 frame:0 TX packets:65 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:35668 (34.8 KiB) TX bytes:35668 (34.8 KiB) 

Alors, quelqu'un peut-il m'aider à comprendre ce que j'ai fait pour briser mon adresse de bouclage?

Modifier 0 : Contenu de /etc/iptables.conf :

 chris@PC:~$ sudo cat /etc/iptables.conf # Generated by iptables-save v1.4.8 on Thu Nov 10 17:01:44 2011 *nat :PREROUTING ACCEPT [2:440] :POSTROUTING ACCEPT [2:102] :OUTPUT ACCEPT [1:58] -A PREROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination :8080 -A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 COMMIT # Completed on Thu Nov 10 17:01:44 2011 # Generated by iptables-save v1.4.8 on Thu Nov 10 17:01:44 2011 *mangle :PREROUTING ACCEPT [4787:2521834] :INPUT ACCEPT [4544:2507689] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [4190:913164] :POSTROUTING ACCEPT [4117:908160] COMMIT # Completed on Thu Nov 10 17:01:44 2011 # Generated by iptables-save v1.4.8 on Thu Nov 10 17:01:44 2011 *filter :INPUT ACCEPT [2699:1514101] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2525:612477] COMMIT # Completed on Thu Nov 10 17:01:44 2011 

chris @ PC: ~ $ sudo iptables -L -t filter

 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

chris @ PC: ~ $ sudo iptables -L -t mangle

 Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination 

chris @ PC: ~ $ sudo iptables -L -t nat

 Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

Edit 1 : comment supprimer les lignes de pré-up et post-down pour eth0 dans mon /etc/network/interfaces semble éliminer le problème.

Mon adresse de bouclage a été correctement configurée pendant le démarrage après avoir changé /etc/network/interfaces à ceci:

 # 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 # The primary network interface allow-hotplug eth0 #pre-up iptables-restore /etc/iptables.conf #post-down /etc/iptables-flush-all 

Ces 2 lignes sont destinées à charger et décharger les règles iptables lorsque l'interface est activée et désactivée. J'ai lu que c'est une meilleure façon de configurer le pare-feu dans Debian que de charger toutes les règles au démarrage.

Le contenu de /etc/iptables-flush-all est:

chris @ PC: ~ $ sudo cat /etc/iptables-flush-all

 #!/bin/sh iptables --flush iptables -t nat --flush iptables -t mangle --flush iptables -t filter --flush 

Cela fonctionne-t-il sans que votre pare-feu ne soit chargé?

BTW, "ifconfig" est obsolète; Il est préférable d'utiliser "ip" pour tout, y compris les diagnostics. Pas que je pense que cela est lié à votre problème du tout.

Dans mon cas, il s'agissait d'une configuration correcte / etc / hosts.

Obtenez votre nom d'hôte avec la command nom d'hôte et définissez les / etc / hosts de cette façon:

 127.0.0.1 localhost
 127.0.1.1 HÔTEL

Dans mon cas, c'était https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739251 … J'ai eu iptables-restore dans lo pré-up et il a inclus -A INPUT -i! lo -d 127.0.0.0/8 -j rejeter qui est maintenant syntaxe obsolète …

Donc, si vous avez une ligne comme

pre-up iptables-restore /etc/iptables.up.rules

dans / etc / network / interfaces, vérifiez que les règles sont correctes.

Dans le cas spécifique du bogue 739251, replace

-A INPUT -i! lo -d 127.0.0.0/8 -j rejeter

avec

-Une input! -i lo -d 127.0.0.0/8 -j rejeter