lalahop

Astuces rapides

Table des matières

On remet le couvert pour un partage des connaissances 😛 . Rien de révolutionnaire une fois encore.

Différence entre SNAT, DNAT et masquerade

Commençons par étudier les définitions de chacun de ces termes :

SNAT :
Selon le man d'iptables :

It specifies that the source address of the packet should be modified (and all future packets in this connection will also be mangled), and rules should cease being examined.

En plus clair (source : Guide de configuration Shorewall) :

Avec la SNAT, un segment interne du réseau local est configuré en utilisant des adresses de la RFC 1918. Quant un hôte A sur ce segment interne initie une connexion vers un hôte B sur internet, le firewall/routeur réécrit les entêtes IP de la requête pour utiliser une de vos adresses publiques IP en tant qu'adresse source. Quant B répond et que la réponse est reçue par le firewall, le firewall change l'adresse destination par celle de la RFC 1918 de A et transfère la réponse à A.

Masquerade :
Selon le man d'iptables :

It should only be used with dynamically assigned IP (dialup) connections: if you have a static IP address, you should use the SNAT target. Masquerading is equivalent to specifying a mapping to the IP address of the interface the packet is going out, but also has the effect that connections are forgotten when the interface goes down. This is the correct behavior when the next dialup is unlikely to have the same interface address (and hence any established connections are lost anyway).

DNAT :
Selon le man d'iptables :

It specifies that the destination address of the packet should be modified (and all future packets in this connection will also be mangled), and rules should cease being examined.

En plus clair (source : pareil que précédemment) :

Quand la SNAT est utilisée, il est impossible pour les hôtes sur internet d'initialiser une connexion avec un des systèmes internes puisque ces systèmes n'ont pas d'adresses publiques IP. La DNAT fournit une méthode pour autoriser des connexions sélectionnées depuis internet.

Pour résumer :

  • La DNAT permet de rediriger une connexion externe vers le réseau interne. Sur les *box, cela est appelé port forwarding, port mapping ou redirection de port lorsqu'il s'agit de rediriger un seul port ou DMZ lorsqu'il s'agit de transférer toutes les connections vers une machine interne.
  • La SNAT permet à plusieurs machines de partager la même adresse réseau de sortie.
  • Le Masquerade revient au même que SNAT à la différence que l'on considère que l'adresse réseau de sortie est dynamique.

Utiliser un proxy avec apt-get et wget

Il est parfois nécessaire d'utiliser un proxy HTTP pour sortir sur internet. Dans ce cas, comment mettre à jour vos logiciels ?

Pour une bonne partie des utilitaires en ligne de commande, il est possible de spécifier le proxy à utiliser via la variable d'environnement http_proxy. Voir : apt-get à travers un proxy HTTP.

Néanmoins cette méthode ne fonctionne que pour l'utilisateur ayant exporté la variable. Ce qui veut dire que la démarche suivante sera vaine :

$ export http_proxy=http://login:password@adresseduproxy:portduproxy
$ sudo apt-get update

Il faudra bien évidement faire :

$su -
# export http_proxy=http://login:password@adresseduproxy:portduproxy
# apt-get update

Note : La ligne peut changer selon si vous avez besoin d'un mot de passe pour utiliser le proxy ou selon le logiciel proxy utilisé. Voir : Linux : Mettre un Proxy pour les commandes Wget et Apt-get .

Pour appliquer la modification à chaque démarrage, il est possible de placer l'export dans le fichier ~/bashrc tout en se rappelant que les commandes lancées sous une autre identité seront vaines.

De plus, si l'utilisation du proxy concerne uniquement 2-3 logiciels, il est possible de spécifier un proxy uniquement pour ces logiciels. C'est ce que nous allons faire.

Pour apt-get

Il suffit de créer un fichier /etc/apt/apt.conf contenant quelque chose comme :

Acquire::http::Proxy "http://login:password@adresseduproxy:8080";

Pour wget

Pour que l'usage du proxy concerne tous les utilisateurs, il suffit d'éditer le fichier /etc/wgetrc et de décommenter la ligne "use_proxy = on". Ensuite, il faut modifier les lignes "http_proxy =" et "https_proxy =" selon vos besoins.

Imprimante HP : Adobe Reader n'imprime pas mes PDF !

Vous pouvez imprimer tous vos fichiers à l'exception des fichiers au format PDF. Sur certaines machines, une page d'erreur est imprimée à la place du fichier.

HP a publié un guide de dépannage. Voir : Impossibilité d'imprimer des fichiers PDF à partir d'Adobe Reader.

L'étape 1 de la solution 2 m'a permis de résoudre le problème sur une imprimante. Sur une autre imprimante, il m'a fallu modifier la mise à l’échelle pour la passer de "Ajuster à la zone d'impression" à "Aucun".

Installer les guest additions de VirtualBox dans une machine virtuelle Debian GNU/Linux Squeeze

Voir Installer Virtualbox Guest Additions sur une machine virtuelle Debian.

Installation de GNU/Linux Debian Squeeze : partman bloque à 50% sur l' « analyse des disques »

Durant l'installation de Debian, partman se bloque à 50% lors de la phase d' "Analyse des disques". Dans un premier temps, on accède à un shell. Pour cela, on redémarre l'ordinateur, on valide les paramètres linguistiques, on attend durant le chargement depuis le CD et durant le choix de la carte réseau, on appuie sur la touche "Echap" et on sélectionne "Exécuter un shell". De là, on liste les disques durs/partitions disponibles avec fdisk :

fdisk -l

On se rend compte que notre disque dur apparaît bien. Il ne s'agit donc pas d'un contrôleur de disques non supporté comme je l'ai vu dans le billet d'un forum que je ne retrouve plus.

La solution (qui ne semble avoir aucun lien avec le problème) : si vous utilisez une clé USB pour installer Debian, utilisez un CD. Je n'ai pas creusé plus loin pour déterminer l'origine exacte de ce bug.

ÉDIT du 29/09/2011 à 19h55 : D'après les retours (voir la discution dans les commentaires de ce billet), c'est les utilitaires du type Unetbootin, Universal USB Installer et autres qui provoquent ce bug.

Comme remède, je vous propose ce qui suit. Les ISOs de Debian/Debian Live sont des ISOs hybrides depuis Squeeze. Ainsi, vous pouvez télécharger l'ISO pour CD/DVD et la copier sur votre clé USB avec un bon vieux dd. Voir, entre autres : DebianEeePC HowToInstallUsingStandardInstaller sur wiki.debian.org.

Si vous n'utilisez pas une clé USB pour l'installation ou si vous n'avez pas utilisé d'utilitaire comme Unetbootin, alors je n'ai pas de solution pour vous.Fin de l'édit

  1. En ce qui concerne l’analyse des disques, en passant par une clé USB chez moi ca plantait ! Donc j’ai formaté ma clé en Ext3, relancé, et c’est passé comme une lettre a la poste.

    Par contre j’ai un problème de système qui veut plus booter après installation. Parce que ma clé pendant l’installation était reconnue comme /dev/sda, et mon disque interne comme /dev/sdb.

    Mais un coup de super grub disk en sortie d’install pour installer le boot loader sur /dev/sda (le vrai) et il n’y parait plus 🙂

    • Ha ! Donc le problème venait bien de la clé USB …

      Merci d’avoir posté ta solution : ça m’aidera, comme d’autres, la prochaine fois que je tomberai sur ce problème :).

    • Intéressant… J’ai fait la même et une fois relancé (Unetbootin sur la clef en Ext3), aucun changement… Mes disques sont bien reconnus (en effet en passant par CD je passe cette étape, j’ai un autre problème en passant par le CD…).

      Tu as simplement formatté ta clef puis replacé l’image sur la clef ? Je suis un peu bloqué là…

      En tout cas merci pour l’article, peu parlent de ce problème 😉

      • @Try Xperiment : Il pourrait être intéressant de ne pas utiliser d’utilitaire genre Unetbootin. Je l’ai utilisé et ça a planté, tu l’as utilisé et ça plante …

        Les isos de Debian, depuis Squeeze, sont hybrides comme on peut le lire un peu partout sur le net et surtout sur le wiki Debian. Que donne une clé fabriquée avec dd (dd if=debian.iso of=/dev/cleUSB) ?

        Je n’ai plus le PC sur lequel arrive ce bug sous la main sinon j’aurais essayé moi même.

        • Effectivement, plus de blocage à 50% avec l’utilisation de dd (exit Unetbootin, donc).

          Bon, l’installation n’est pas terminée, ma RAM est morte (memtest est sans appel…) néanmoins (et ce même en fat32) le problème en question est résolu.

          Bonne continuation 😉

          • Merci pour le retour. 😀