L'IP Masquerade est une fonctionnalité réseau de Linux. Si un hôte Linux est connecté à Internet avec l'option IP Masquerade en place, alors les ordinateurs se connectant à celui-ci (que cela soit sur le réseau local ou par modem) peuvent atteindre Internet aussi, même s'il n'ont pas d'adresse IP officielle.
Cela permet à un ensemble de machines d'accéder de manière invisible à Internet, caché derrière une passerelle, qui apparaît comme étant le seul système utilisant la connexion Internet. Il devrait être énormément plus difficile de contourner un système basé sur le masquerade, s'il est bien configuré, que de passer outre un bon firewall effectuant du filtrage de paquets (en supposant qu'il n'y a de bogues chez aucun des deux).
L'IP Masquerade est utilisé depuis quelques années et murit alors que Linux arrive dans les 2.2.x. Les noyaux, depuis la série 1.3.x, supportent en standard cette fonctionnalité. De nombreuses personnes, et même des entreprises l'utilisent, avec des résultats satisfaisants.
L'utilisation d'IP Masquerade pour parcourir le web, ou pour le telnet est
tout à fait satisfaisante. FTP, IRC, et l'écoute de Real Audio fonctionnent en
utilisant certains modules. D'autres technologies de flux audio par réseau,
telles que True Speech et Internet Wave fonctionnent également. Certaines
personnes, abonnées à la mailing list ont même essayé des logiciels de
vidéo-conférence. Ping
fonctionne à présent, avec le nouveau patch
pour ICMP.
Veuillez consulter la section 4.3 pour une liste complète des logiciels supportés.
L'IP masquerade fonctionne convenablement avec des 'machines clientes' utilisant divers systèmes d'exploitation et différentes plate-formes. On a enregistré des succès pour des systèmes utilisant Unix, Windows 95, Windows NT, Windows pour Workgroups (avec l'extension TCP/IP), OS/2, MacOS avec Mac TCP, Mac Open Transport, DOS avec le package NCSA Telnet, VAX, Alpha sous Linux, et même Amiga avec AmiTCP ou la pile AS225. La liste continue à n'en plus finir, en réalité, si votre systeme d'exploitation parle TCP/IP, cela marcher avec l'IP Masquerade.
D'après la FAQ IP Masquerade, de Ken Eves :
Voici un schéma du plus simple cas possible~: SLIP/PPP +------------+ +-------------+ vers le provider | Linux | SLIP/PPP | Peu_importe | <---------- modem1| |modem2 ----------- modem | | 111.222.333.444 | | 192.168.1.100 | | +------------+ +-------------+ Dans le schéma ci-dessus, un ordinateur sous Linux, utilisant ip_masquerading est connecté à Internet par un lien SLIP ou PPP, utilisant modem1. Il possède l'adresse IP (officielle) 111.222.333.444. Il est configuré de telle façon que modem2 permet aux appelants de se connecter et d'initier une connexion PPP ou SLIP. Le second système (qui n'utilise par forcément Linux comme système d'exploitation) se connecte par modem sur l'hôte Linux et entame une liaison SLIP ou PPP. Il NE possède PAS d'adresse IP officielle donc il utilise 192.168.1.100 (voir ci-dessous). Avec l'option ip_masquerade et un routage configuré correctement, la machine Peu_importe peut interagir avec Internet comme si elle était réellement connectée (à quelques exceptions près). Pour citer Pauline Middlelink~: N'oublie pas de rappeler que la machine Peu_importe doit déclarer l'hôte Linux comme passerelle (que cela soit la route par défaut ou juste un sous réseau importe peu). Si Peu_importe ne peut pas le faire, l'hôte Linux devra faire du proxy arp pour toutes les adresses routées, mais la mise en place du proxy arp est hors du domaine de ce document. Ce qui suit est l'extrait d'un article de comp.os.linux.networking qui a été modifié pour utiliser les noms des machines de l'exemple ci-dessus~: o J'indique à la machine Peu_importe que le serveur Linux est sa passerelle. o Quand un paquet en provenance de Peu_importe arrive sur la machine Linux, elle va lui assigner un nouveau numéro de port, et indiquer sa propre adresse IP dans l'entête du paquet, tout en sauvegardant l'entête originale. Elle va alors envoyer le paquet modifié à travers son interface SLIP ou PPP, vers Internet. o Lorsqu'un paquet en provenance d'Internet arrive sur la machine Linux, si le numéro de port est un de ceux assignés à l'étape précédente, elle va modifier à nouveau l'entête pour y remettre les numéros de port et adresses IP originaux, et alors envoyer le paquet à la machine Peu_importe. o L'hôte qui a envoyé le paquet ne verra jamais la différence.
Un example d'IP Masquerading
Voici ci-dessous le schéma d'un exemple classique :
+----------+ | | Ethernet | Ordi A |:::::: | |2 ~:192.168.1.x +----------+ ~: ~: +----------+ lien +----------+ ~: 1| Linux | PPP | | ~::::| masq-gate|:::::::::// Internet | Ordi B |:::::: | | | |3 ~: +----------+ +----------+ ~: ~: +----------+ ~: | | ~: | Ordi C |:::::: | |4 +----------+ <-Réseau interne->Il y a dans cet exemple 4 ordinateurs qui nous intéressent (il y a sûrement sur la droite quelque chose sur laquelle aboutit notre connexion, et encore plus à droite une autre machine avec laquelle nous échangeons des données). L'ordinateur sous Linux
masq-gate
est la passerelle qui
effectue le masquerading pour le réseau interne des ordinateurs A
,
B
, et C
, afin de les relier à Internet. Le réseau interne utilise
une des adresses assignées des réseaux privés, à savoir dans ce cas le réseau
de classe C 192.168.1.0, l'ordinateur Linux ayant l'adresse 192.168.1.1 et les
autres ordinateurs ayant d'autres adresses sur ce réseau.
Les trois machines A
, B
et C
(qui peuvent utiliser n'importe
quel système d'exploitation, du moment qu'elles utilisent IP - comme par
exemple Windows 95, Macintosh MacTCP ou même un autre Linux)
peuvent se connecter à n'importe qu'elle machine sur Internet, mais
masq-gate
convertit toutes leurs connexions de façon à ce qu'elles
semblent provenir de masq-gate
, et s'arrange pour que toutes les
données revenant d'Internet retournent au système qui en est à
l'origine. Ainsi, les ordinateurs du réseau interne voient une route directe
vers Internet et ne sont pas au courant du fait que leurs données ont été
"masqueradées".
** Référez vous à IP Masquerade Resource pour les dernieres informations (en anglais). **
** Veuillez s'il vous plaît consulter l' IP Masquerade Resource pour les dernières informations.**