web-dev-qa-db-fra.com

Mise à jour d'apt-get bloquée sur "En attente d'en-têtes" sous Windows XP ICS

Je configure un serveur Maverick sur un PC de rechange. L'installation se termine correctement et le système démarre dans le shell. Cependant, lorsque j'essaie de faire un apt-get update, apt se bloque sur presque toutes les entrées portant le message 99% [Waiting for headers]. Parfois, un message de 96 b/s apparaît à l'extrême droite. Le pourcentage réel revendiqué varie également.

La recherche en ligne offre une solution potentielle en utilisant l’option Acquire::http::Pipeline-Depth="0" this n pe atténue le problème, c’est-à-dire qu’elle se bloque sur toutes les autres entrées avec le même message que ci-dessus.

Si vous attendez (la totalité de la mise à jour a pris environ 4 heures), la mise à jour échoue car une bonne partie des hits affiche un message "Impossible de se connecter" ou un message similaire, malgré le fait que je puisse envoyer une requête ping au serveur à partir du PC. bien.

Le problème n’est pas non plus lié au miroir utilisé puisque j’ai essayé une douzaine de miroirs sans succès; j’ai même essayé de tout commenter, sauf l’entrée main dans sources.list et elle refuse toujours de se mettre à jour.

La connexion réseau est correcte car je peux utiliser la commande ping et wget (apt ne me laissera pas installer Lynx tant que je n’aurai pas réussi à mettre à jour) correctement. J'ai également réinstallé la distribution sans succès.

La seule chose étrange dans la configuration est que le PC se connecte à Internet via mon ordinateur portable Windows avec ICS configuré correctement, mais comme je l’ai déjà dit, la connexion réseau est correcte.

13
crasic

Il semble y avoir un problème fondamental avec la mise en œuvre de ICS et le transfert d’adresses IP en général sous Windows XP. Il ne peut tout simplement pas gérer plusieurs connexions au même serveur. bug avec une incompétence intentionnelle (comme j'aime l'appeler), mais le résultat final est que XP ne peut pas fonctionner en tant que routeur/proxy compétent pour un système Linux (peut-être que les limitations sont intentionnellement mises en place systèmes Windows).

Il est intéressant de noter que cela ne se limite pas à ICS. Il existe une option cachée dans le registre Windows qui permet le transfert IP pour les interfaces réseau et qui présente le même problème.

La seule solution - semble-t-il - consiste à modifier la topologie du réseau afin d'éviter d'utiliser ICS (soit en vous connectant directement, soit en achetant un commutateur/point d'accès dédié), soit en utilisant un autre système d'exploitation pour configurer le serveur temporaire. pont. J'ai utilisé un live-cd ubuntu (ce n'était pas mon ordinateur ou il aurait dû exécuter une certaine * nix pour commencer) et activé le transfert de paquets et le masquage IP de sorte que l'ordinateur se comporte comme un véritable routeur.

9
crasic

Il y a des rumeurs sur le Web (je ne peux pas les vérifier) ​​à propos de ICS problèmes avec IP6. Ils ont dit que, lorsque ICS reçoit plusieurs connexions IP6, il est interrompu pendant un certain temps. Cela pourrait expliquer pourquoi wget fonctionne (une seule connexion) et qu'apt-get update échoue (beaucoup de connexions simultanées).

Vous pouvez essayer de désactiver IP6 sur votre serveur pour vérifier si tel est le problème.

Vous pouvez désactiver IP6 à partir du terminal avec:

echo "#disable ipv6" | Sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | Sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | Sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | Sudo tee -a /etc/sysctl.conf

Ensuite, redémarrez et vérifiez si vous pouvez mettre à jour. Si cela fonctionne au moins, vous savez où est le problème. Vous pouvez soit désactiver IP6 de manière permanente, soit planifier une nouvelle configuration. Notez que la désactivation d’IP6 sera un hack temporel, IP6 semble inévitable dans un avenir proche.

Pour réactiver IP6, supprimez les lignes précédentes de /etc/sysctl.conf et redémarrez.

3
Javier Rivera