Page suivante - Page précédente - Table des matières

7. Frequently Asked Questions (Foire Aux Questions)

Si vous avez des suggestions utiles à la FAQ à faire, veuillez envoyez SVP un email en anglais à dranch@trinnet.net. Veuillez clairement rédiger la question et ca réponse (si vous l'avez). Merci !

7.1 Quelles distributions sont fournis directement avec IP Masquerading ?

Si votre distribution Linux ne n'est pas fourni directement avec IP MASQ, ne vous inquiétez pas. Tout ce que vous avez à faire est de recompiler le noyau comme expliqué précédement dans ce HOWTO

NB : Si vous pouvez nous aider à remplir ce tableau, envoyez SVP un email à ambrose@writeme.com ou à dranch@trinnet.net.

  • Caldera < v1.2 : NON - ?
  • Caldera v1.3 : OUI - 2.0.35 based
  • Caldera v2.2 : OUI - 2.2.5 based
  • Caldera eServer v2.3 : OUI - ? based
  • Debian v1.3 : NON - ?
  • Debian v2.0 : NON - ?
  • Debian v2.1 : OUI - 2.2.1 based
  • Debian v2.2 : OUI - 2.2.15 based
  • DLX Linux v? : ? - ?
  • DOS Linux v? : ? - ?
  • FloppyFW v1.0.2 : ? - ?
  • Hal91 Linux v? : ? - ?
  • Linux Mandrake v5.3 : OUI - ?
  • Linux Mandrake v6.0 : OUI - 2.2.5 based
  • Linux PPC vR4 : NON - ?
  • Linux Pro v? : ? - ?
  • LinuxWare v? : ? - ?
  • Mandrake v6.0 : OUI - ?
  • Mandrake v6.1 : OUI - ?
  • Mandrake v7.0 : OUI - 2.2.14
  • Mandrake v7.1 : OUI - 2.2.15
  • Mandrake v7.2 : OUI - 2.2.17
  • MkLinux v? : ? - ?
  • MuLinux v3rl : OUI - ?
  • Redhat < v4.x : NON - ?
  • Redhat v5.0 : OUI - ?
  • Redhat v5.1 : OUI - 2.0.34 based
  • Redhat v5.2 : OUI - 2.0.36 based
  • Redhat v6.0 : OUI - 2.2.5 based
  • Redhat v6.1 : OUI - 2.2.12 based
  • Redhat v6.2 : OUI - 2.2.14 based
  • Redhat v7.0 : OUI - 2.2.16 based
  • Slackware v3.0 : ? - ?
  • Slackware v3.1 : ? - ?
  • Slackware v3.2 : ? - ?
  • Slackware v3.3 : ? - 2.0.34 based
  • Slackware v3.4 : ? - ?
  • Slackware v3.5 : ? - ?
  • Slackware v3.6 : ? - ?
  • Slackware v3.9 : ? - 2.0.37pre10 based
  • Slackware v4.0 : ? - ?
  • Slackware v7.0 : OUI - 2.2.13 based
  • Slackware v7.1 : OUI - 2.2.16 based
  • Stampede Linux v? : ? - ?
  • SuSE v5.2 : OUI - 2.0.32 base
  • SuSE v5.3 : OUI - ?
  • SuSE v6.0 : OUI - 2.0.36 based
  • SuSE v6.1 : OUI - 2.2.5 based
  • SuSE v6.3 : OUI - 2.2.13 based
  • Tomsrbt Linux v? : ? - ?
  • TurboLinux Lite v4.0 : OUI - ?
  • TurboLinux v6.0 : OUI - 2.2.12 based
  • TriLinux v? : ? - ?
  • Yggdrasil Linux v? : ? - ?

7.2 Quelles sont la configuration matérielle minimale requise et les limitations d'IP Masquerade? Les performances sont-elles bonnes ?

Un 486/66 avec 16MO de RAM été bien plus que suffisant pour remplir les 1.54Mb/s d'une connexion T1 à 100% ! MASQ a aussi déjà bien tourné sur des 386SX-16 avec 8MO de RAM. Vous devez cependant noter que Linux IP Masquerade commence à faire des dechets avec plus de 500 entrées MASQ.

La seule application que je connaisse qui puisse temporairement casser Linux IP Masquerade est GameSpy. Pourquoi ? Quand il actualise ses listes, il crée des dizaines de milliers de connexions rapides pendant une TRES courte période. Jusqu'au timeout de ces sessions, les tables de MASQ sont pleines ("FULL"). Reportez vous à la section No-Free-Ports pour de plus amples détails.

Pendant qu'on y est :

Il y a une limite the 4096 connexions concurrentes chacune pour TCP & UDP. Cette limite peut être changée en bidouillant les valeurs de /usr/src/linux/net/ipv4/ip_masq.h, une limite supérieure de 32 000 devrait être OK. Si vous voulez changer cette limite, vous devez changer les valeurs de PORT_MASQ_BEGIN & PORT_MASQ_END pour avoir une taille correctemment dimensionnée au dessus de 32K et en dessous de 64K.

7.3 Quand je lance la commande rc.firewall, je reçois des erreurs "command not found". Pourquoi ?

Comment avez vous mis le fichier rc.firewall sur votre machine ? L'avez vous copié-collé dans une fenêtre de TELNET, ou envoyé par FTP à partir d'une machine Windows/DOS etc. ? Essayez ça ... logguez vous sur la machine Linux et lancer "vim -b /etc/rc.d/rc.firewall" et regarder si vos lignes finissent pas ^M. Si oui, effacer les ^M et essayer de nouveau.

7.4 J'ai vérifié toutes mes configurations, et j'arrive toujours pas à faire fonctionner IP Masquerade. Que dois-je faire ?

  • Restez calme. Prenez une tasse de thé, de café, de boisson etc. et reposez vous. Une fois que votre esprit est reposé, essayez les suggestions ci-dessous. Mettre en place Linux IP Masquerading n'est PAS difficile mais il a plusieurs concepts que vous devez comprendre.
  • Encore une fois, suivez les étapes de la section Testing . 99% des utilisateurs qui utilisent Masquerade pour la première fois ne sont même pas allé regarder là-bas.
  • Verifier les IP Masquerade Mailing List Archives, sans doute que votre problème est courant et que vous pourrez trouver une solution avec une simple recherche dans l'archive.
  • Vérifiez aussi le document TrinityOS. Il couvre l'IP Masquerading pour les noyaux 2.0.x et 2.2.x et beaucoup d'autres sujets dont PPPd, DialD, DHCP, DNS, Sendmail, etc.
  • Vérifiez bien que vous n'êtes pas ROUTED ou GATES. Pour ce faire, lancez "ps aux | grep -e routed -e gated".
  • Envoyez votre question sur l'IP Masquerade Mailing List (regardez la suite de la section FAQ pour les détails). Utilisez cette solution seulement si vous ne pouvez pas trouver de solution dans l'IP Masquerading Archive. Vérifiez bien que vous envoyez toutes les informations demandées dans la section Testing dans votre email!!
  • Postez votre question dans un newsgroup NNTP Linux correspondant.
  • Envoyez un email à ambrose@writeme.com et dranch@trinnet.net. Vous avez plus de chance de recevoir une réponse de la mailing list IP Masquerading que de l'un d'entre nous.
  • Verifiez vos configurations de nouveau :-)

7.5 Comment puis-je m'inscrire ou consulter les mailing lists d'IP Masquerade et/ou IP Masqurade Developers et les archives ?

Il y a deux manières de s'inscrire aux deux mailing lists de Linux IP Masquerading. La première façon est d'envoyer un email à masq-request@indyramp.com. Pour s'inscrire à la mailing list de Linux IP Masquerading Developers, envoyez un email à masq-dev-request@indyramp.com. Reportez vous SVP à la boulette si dessous pour plus de détails.

  • S'abonner par email: Mettez "subscribe" soit dans le champs 'subject' soit dans le corps du message de l'email. Si vous voulez vous abonner à la version Digest (tous les emails de la liste donnée vous sont envoyés dans un seul gros email), de l'une des mailing list (la principale MASQ ou la liste MASQ-DEV), mettez les mots "subscribe digest" à la place, soit dans le champs 'subject' soit dans le corps de l'email.

    Une fois que le serveur reçoit votre requête, il va vous abonner à la liste que vous avez demandé et vous fournir un MOT DE PASSE. Sauvegardez ce mot de passe parce que vous en aurez besoin plus tard, pour terminer votre abonnement ou changer vos options

La seconde méthode et d'utiliser un browser WWW et de vous inscrire via le formulaire qui se trouve à l'URL http://www.indyramp.com/masq-list/ pour la liste principale MASQ ou http://www.indyramp.com/masq-dev-list/ pour la liste MASQ-DEV.

Une fois abonné, vous recevrez des emails de la liste à laquelle vous vous êtes abonné. Notez aussi que les utilisateurs abonnés et NON-abonnés peuvent acceder aux archives des deux listes. Pour ce faire, veuillez SVP vous reporter aux URLs WWW si dessus pour plus de détails.

Enfin, veuillez noter que vous pouvez envoyer des emails à la liste MASQ uniquement à partir de votre compte/adresse avec lesquels vous vous êtes abonné.

Si vous avez des problèmes avec les mailing lists, ou l'archive de la mailing liste, veuillez contacter SVP Robert Novak.

7.6 En quoi IP Masquerade est différent des Proxy ou des services NAT ?

Proxy: les serveurs Proxy sont disponibles pour : Win95, NT, Linux, Solaris, etc.
 Avantages:      + (1) seule adresse IP; pas cher
 + Peu optionnellement utiliser une cache pour de meilleurs
 performances (WWW, etc.)
 Inconvénients:   - Toutes les applications derrière un serveur
 proxy doivent être COMPATIBLES avec les
 services proxy (SOCKS) et être CONFIGURES
 pour utiliser le serveur Proxy
 - Fout en l'air les compteurs WWW et les stastiques WWW
 Un serveur proxy utilise seulement (1) une adresse IP publique, comme IP MASQ, et se
 comporte comme un traducteur vers les clients du LAN prive (browser WWW, etc.)
 Ce serveur proxy recoit les requetes tels que TELNET, FTP, WWW, etc. du reseau prive
 sur une interface. Il va ensuite initialiser ces requetes comme si c'etait quelqu'un sur
 la machine elle-meme qui les faisait. Une fois que le serveur distant sur Internet renvoie
 les informations demandées, il va retraduire les adresses TCP/IP vers les machines
 internes et envoyer le traffic vers la machine interne qui avait fait la demande. C'est
 la raison pour laquelle il est appelé serveur PROXY.
 NB :   TOUTE application que vous pourriez vouloir utiliser sur les
 machines internes *DOIT* avoir la compatibilité avec les serveurs
 proxy, comme Netscape et quelques applications parmi les meilleurs
 clients TELNET et FTP. Tout client qui n'est pas compatible avec
 les serveurs proxy ne fonctionnera pas.
 Une autre chose bien a propos des serveurs proxy est que quelques uns d'entre eux
 peuvent aussi servir à faire du cache (antememoire) (Squid pour WWW). Imaginez alors
 vous avez 50 machines 'proxies' qui vont charger Nestcape en meme temps. S'ils sont
 que installés avec la page de garde par defaut, vous allez avoir 50 copies de la
 Netscape qui vont arriver a travers le WAN pour chaque ordinateur. Avec un proxy a
 meme page Web antememoire, seule une copie serait telechargee par le serveur proxy et ensuites
 les machines proxies recevraient la page à partir de l'antememoire. Cela va non
 seulement economiser de la bande passante sur la connexion Internet, mais en plus ca va etre
 BEAUCOUP BEAUCOUP plus rapide pour les machines internes proxies.
MASQ:    IP Masq est disponible sur Linux et quelques routeurs ISDN tels que
 ou      le Zytel Prestige128, Cisco 770, les routeurs ISDN NetGear, etc.
1:Many
 NAT
 Avantages:      + (1) seule adresse IP; pas cher
 + N'a pas besoin de compatibilite speciale des applications
 + Utilise un firewall logiciel donc votre reseau peu devenir
 plus sur
 Inconvénients:   - Requiert une machine Linux ou un routeur ISDN special
 (meme si d'autres produits pourraient l'avoir...)
 - Le traffic entrant ne peut acceder au LAN interne sans que
 le LAN interne soit initiateur du traffic ou qu'il y ait un
 logiciel specifique pour le port forwarding d'installe.
 Beaucoup de serveurs NAT NE PEUVENT PAS fournir cette
 fonctionnalité
 - Des protocoles speciaux doivent etre traites de maniere speciale
 par les redirecteurs de firewall, etc. Linux est completement
 compatible avec ceux-ci (FTP, IRC, etc.) mais beaucoup de routeurs
 NE le SONT PAS (NetGear DOES).
 Masq ou 1:Many NAT est similaire a un serveur proxy parce que le serveur va faire une
 translation d'adresse IP et faire croire au serveur distant (par exemple le serveur WWW)
 que c'est le serveur MASQ qui a fait la requete et non la machine interne.
 Une difference majeure entre un serveur MASQ et un serveur PROXY est que les serveurs
 MASQ n'ont pas du tout besoin de changement de configuration des machines clientes.
 Il suffit de les configurer pour qu'elles utilisent la machine linux en tant que leur
 passerelle par defaut et tout fonctionne correctement. Vous AUREZ besoin d'installer
 des modules linux speciaux pour faire fonctionner des trucs genre RealAudio, FTP, etc. !
 De plus, de nombreuses personnes utilisent IP MASQ pour le TELNET? FTP, etc. *ET*
 mettent en place un serveur proxy avec cache sur la meme machine Linux pour le traffic
 WWW afin d'obtenir de meilleurs performances.
NAT:     des serveurs NAT sont disponibles sur Windows 95/NT, Linux, Solaris, et quelques
 un des meilleurs routeurs ISDN (pas chez Ascend)
 Avantages:      + Tres configurables
 + Pas de logiciel special requis
 Inconvénients:   - Necessite un sous-reseau de votre FAI (cher)
 Translation d'Adresse Reseau est le nom d'une boite qui aurait un groupe d'adresses
 IP valides qu'il peut utiliser sur l'interface Internet. Quand sur le reseau interne,
 une machine veut acceder a Internet, il associe une des adresses IP VALIDES disponibles
 de son interface Internet a l'adresse IP PRIVEE qui a fait la demande. Ensuite, tout
 le traffic est retranscrit de l'adresse IP public du NAT vers son adresse IP privee.
 Lorsque l'adresse NAT PUBLIQUE devient inactif pour une certaine periode predeterminee,
 l'adresse IP PUBLIQUE est rangee de nouveau dans le groupe d'adresses NAT publiques
 Le principal probleme de NAT est que, une fois que toutes les adresses IP publiques
 disponibles sont utilisees, tout utilisateur prive qui demande un service Internet doit
 attendre qu'une adresse publique NAT se libere.
Pour une description très bien faite et très complète des différentes formes de NAT, veuillez SVP vous reporter à :

Voici un autre bon site pour apprendre des choses sur NAT, bien que beaucoup d'URLs sont anciennes, elles sont toujours valables :

Voici un très bon URL pour apprendre des choses sur les autres solutions NAT pour Linux mais aussi pour les autres plateformes :

7.7 Existe-t-il des outils de création/gestion de firewall avec interface graphique ?

Oui ! Ils ont différentes interfaces, complexités, etc. mais ils sont très bien bienque la plupart soit exclusivement pour l'outil IPFWADM. Voici une courte liste des outils disponibles, dans l'ordre alphabétique. Si vous en connaissez d'autres ou vous savez lesquels sont bien/mauvais/immondes, envoyez SVP un email à David

  • Le IPFWADM Dot file generator de John Hardin - Une version IPCHAINS est en cours de developpement.
  • fBuilder de Sonny Parlin : De l'auteur de FWCONFIG, cette nouvelle solution est entièrement basée sur le WWW et offre des options de redondance, etc. pour IPCHAINS et NetFilter.
  • Mason de William Stearns - Un système pour créer des jeux de règles à la volée

7.8 IP Masquerade fonctionne-t-il avec des adresses IP alouées dynamiquement ?

Oui, ça fonctionne, avec les IP dynamique, assignée par votre FAI via un serveur PPP ou DHCP/BOOTp. Bien sur les IP statiques fonctionnent aussi. Toutefois, si vous voulez implémenter un jeu de règle IPFWADM/IPCHAINS 'strong' ou utiliser un port forwarder, votre jeu de règles devra être réexecuté à chaque fois que votre IP change. Reportez vous SVP au debut de la section TrinityOS - Section 10 pour plus d'aide sur les jeux de règles 'strong' du firewall et les adressses IP dynamiques.

7.9 Puis-je utiliser un modem par cable (soit bidirectionnel, soit avec un modem pour le retour), une connexion DSL, un lien satellite, etc. pour me connecter à internet et utiliser IP Masquerade ?

OUI, tant que Linux est compatible avec l'interface réseau, ça devrait fonctionner. Si vous recevez une adresse IP dynamique, reportez vous SVP à l'URL de la partie "IP Masquerade fonctionne-t-il avec des adresses IP alouées dynamiquement" dans l'article de la FAQ si dessus.

7.10 Puis-je utiliser Diald ou la fonction Dial-on-Demand de PPPd avec IP MASQ?

Bien sûr ! IP Masquerading est totalement transparent pour Diald ou PPP. La seule chose qui pourrait poser problème est l'utilisation d'un jeu de règle 'strong' avec un adresse IP dynamique. Reportez vous à l'article de la FAQ " IP Masquerade fonctionne-t-il avec des adresses IP alouées dynamiquement" ci-dessus pour de plus amples détails.

7.11 Quels applications sont compatibles avec IP Masquerade?

C'est difficile de garder une liste de toutes les "applications qui fonctionnent". Cependant, la plupart des applications Internet classiques sont compatibles (les browser WWW (Netscape, MSIE, etc. FTP (tels que WS_FTP), TELNET, SSH, RealAudio, POP3 (email entrant - Pine, Eudora, Outlook), SMTP (email sortant), etc.) Une liste assez complète de clients compatibles MASQ peut être trouvé à la section Clients de ce HOWTO.

Les applications impliquant des protocoles plus compliqués ou des méthodes de connexion spéciales telles que la video conferencing ont besoin d'outils d'aide spéciaux.

Pour de plus amples détails, veuillez vous reporter SVP à la page Linux IP masquerading Applications

7.12 Comment puis-je faire fonctionner IP Masquerade sur Redhat, Debian, Slackware, etc.?

Peu importe quelle distribution Linux vous utilisez, les procédures pour configurer IP Masquerade mentionnées dans ce HOWTO devraient fonctionner. Quelques distributions peuvent avoir une interface graphique ou des fichiers de configurations speciaux qui peuvent rendre la configuration plus simple. Nous faisons le mieux que nous pouvons pour écrire ce HOWTO dans le cas le plus général possible.

7.13 Les connexions TELNET semblent s'interrompre si je ne les utilise pas souvent. Pourquoi ça ?

Par défaut, IP Masq, règles ses timers pour les sessions TCP, TCP FIN, et les traffics UDP à 15 minutes. Il est recommandé d'utiliser les réglages suivant (comme indiqué précédemment dans ce HOWTO au niveau du jeu de règles /etc/rc.d/rc.firewall ) pour la plupart des utilisateurs :

Linux 2.0.x avec IPFWADM:

#timeouts de MASQ
#
#   timeout de 2heures pour les sessions TCP
#   timeout de 10secondes pour le traffic avoir reçu le paquet TCP/IP "FIN"
#   timeout de 60secondes pour le traffic UDP (les utilisateurs d'ICQ MASQ'ués
#   doivent activé un timeout firewall de 30 secondes dans ICQ lui-même)
#
/sbin/ipfwadm -M -s 7200 10 60

Linux 2.2.x avec IPCHAINS:

#timeouts de MASQ
#
#   timeout de 2heures pour les sessions TCP
#   timeout de 10secondes pour le traffic avoir reçu le paquet TCP/IP "FIN"
#   timeout de 60secondes pour le traffic UDP (les utilisateurs d'ICQ MASQ'ués
#   doivent activé un timeout firewall de 30 secondes dans ICQ lui-même)
#
/ipchains -M -S 7200 10 60

7.14 Quand je me connecte une première fois à Internet, rien de fonctionne. Si j'essaie de nouveau, tout fonctionne correctement. Pourquoi ?

La raison est que vous avez une IP dynamique et que quand vous vous connectez à Internet, IP Masquerade ne connait pas votre IP. Il y a une solution à ce problème. Dans votre jeu de règles /etc/rc.d/rc.firewall, ajoutez ceci :

# Utilisateur d'IP dynamique :
#
#   Si vous recevez votre IP dynamiquement par SLIP, PPP ou DHCP, activez cette option
#   Ceci permet le hacking des IP dynamiques dans IP MASQ, rendant la vie
#   avec Diald et les programmes similaires plus simple.
#
echo "1"> /proc/sys/net/ipv4/ip_dynaddr

7.15 ( MTU ) - IP MASQ semble fonctionner correctement mais certain sites ne fonctionnent pas. D'habitude, ça arrive avec le FTP et le WWW.

Il y a deux raisons possibles à ce problème. La première est très COURANTE, et la seconde est très RARE

  • Il y a un BUG discutable dans le code de Masquerade des noyaux 2.0.38 2.2.9+.

    Quelques utilisateurs pointent du doigt le fait que IPMASQ pourrait avoir des problèmes avec les paquets qui ont un le bit DF ou "Don't Fragment" activé. En gros, quand une machine Linux se connecte à Internet avec un MTU inférieur à 1500, certains paquets vont avoir le flag DF activé. Bienque changer le MTU 1500 sur le serveur linux va sembler résoudre le problème, le bug probable va toujours être là. On croit qu'il se passe la chose suivante : le code MASQ ne réécrit pas correctement les paquets de retour ICMP avec le code ICMP 3 Sub 4 à l'ordinateur MASQué qui est à l'origine du flux. En raison de cela, les paquets sont éliminés.

    D'autres utilisateurs pointent du doigt les administrateurs des sites distants qui posent problème (typiquement les sites utilisant le SSL, etc.) et disent qu'en raison du filtrage de TOUTES LES FORMES de messages ICMP (dont les Type4 - Fragmentation Needed) en cause de la paranoia de la sécurité, ils fracturent les aspects fondamentaux du protocole TCP/IP.

    Les deux arguments ont des aspects valides et les partisans des deux camps continuent à débattre sur ce sujet chaque jour. Si vous êtes un programmeur réseau et que vous pensez pouvoir soit résoudre ce problème soit deviner son origine... ESSAYEZ SVP ! Pour de plus amples détails reportez vous à la liste suivante MTU Thread from the Linux-Kernel.

    Pas d'inquiétudes toutefois. Une manière efficace à 100% de résoudre le problème est de changer le MTU de votre liaison Internet à 1500. Maintenant quelques utilisateurs vont grogner contre ceci parce que ca peut nuire à la latence de quelques programmes spécifiques tels que TELNET ou les jeux mais son impact n'est que très faible. D'un autre côté, la plupart des connexions HTTP et FTP vont s'ACCELERER !

    [ -- Si vous avez une connexion PPPoE pour votre DSL/Cablemodem ou si vous décidez de ne pas changer votre MTU à 1500, regardez si dessous pour une autre solution. -- ]

    Pour réparer ca, regardez d'abord le MTU de votre connexion Internet. Pour ce faire, lancer /bin/ifconfig". Maintenant regardez les lignes correspondants à votre connexion Internet et chercher le MTU. Il FAUT le fixer à 1500. Généralement, les connexions Ethernet vont l'avoir par défaut mais les lignes série PPP vont avoir par défaut 576.

Changer le MTU d'une ligne PPP :

  • Pour régler le problème de MTU sur une ligne PPP, modifiez votre fichier /etc/ppp/options, et vers le début, ajoutez le texte suivant sur deux lignes séparées : "mtu 1500" et "mru 1500". Sauvegardez les changements et redemarrez PPP. Maintenant vérifiez comme indiqué précédemment que le lien PPP a un MTU et un MRU corrects.
  • Pour régler le problème de MTU sur une ligne Ethernet vers votre connexion DSL ou CableModem relié par un routeur ou un pont, vous devez modifier le bon script de démarrage réseau pour votre distribution Linux. Reportez vous SVP au document TrinityOS - Section 16 pour l'optimisation du réseau.

Anciennes interfaces series UNIX :

  • Enfin, bienque ceci n'est pas un problème courant, quelques personnes ont trouvé la solution suivante. Les utilisateurs de PPP, vérifiez sur quel port votre PPPd se connecte. Est-ce un port /dev/cua* ou un port /dev/ttyS* ? Le type cua est un ANCIEN et il perturbe certains trucs de manières étranges.

Utilisateurs de PPPoE :

Pour les utilisateurs de PPPoE (qui a un MTU maximal de 1490) ou pour ceux qui décident de ne pas utiliser un MTU de 1500, tout n'est pas perdu. Si vous reconfigurez TOUTES les machines MASQuées de façon à ce qu'elles utilisent le MEME MTU que celui de votre connexion externe à Internet, tout devrait fonctionner correctement. A noter cependant que certains FAI par PPPoE peuvent exiger un MTU de 1460 pour une connectivité correcte.

Comment vous pouvez faire cela ? Suivez ces quelques étapes pour votre système d'exploitation.

L'exemple suivant montre la configuration d'un MTU de 1490 pour une connexion PPPoE utilisée par certains utilisateurs de DSL ou de Cablemodems. Il est recommandé d'utiliser les valeurs les PLUS HAUTES possibles pour toutes les connexions dont le débit est supérieur ou égal à 128kb/s.

La seule raison d'utiliser un MTU plus petit est la latence au depend du débit. Reportez vous SVP à :

http://www.ecst.csuchico.edu/~dranch/PPP/ppp-performance.php#mtu

pour de plus amples détails sur ce sujet.

*** Si vous avez REUSSI, ECHOUE, ou que vous avez la procédure à suivre pour d'autres systèmes d'exploitations, *** envoyer SVP une email à DAVID Ranch. Merci !

Linux:


1. Le réglage du MTU peut changer d'une distribution à l'autre.
 Pour Redhat : Vous avez besoin de modifier les différentes déclarations "ifconfig'
 dans /sbin/ifup script
 Pour Slackware : Vous avez besoin de modifier les différentes déclarations "ifconfig'
 dans /etc/rc.d/rc1.inet
2. Voici un bon exemple qui marche avec toutes les distributions, modifiez le fichier
 /etc/rc.d/rc.local et mettez ceci à la FIN du fichier :
 echo "Changement du MTU de l'interface ETH0"
 /sbin/ifconfig eth0 mtu 1490
 Remplacez "eth0" par le nom de l'interface de votre machine qui est connectée à Internet.
3. Pour les options avancées telles que "TCP Receive Windows", des exemples détaillés
 sur la manière de modifier les scripts de réseau sur les différentes distributions
 Linux, etc. reportez vous SVP au Chapitre 16 de
 http://www.ecst.csuchico.edu/~dranch/LINUX/index-linux.php#trinityos

MS Windows 95:


1. TOUT changement dans la base de registre est risquée mais avec une copie de sauvegarde,
 vous devriez être en sécurité. Continuez en CONNAISSANCE DE CAUSE.
2. Allez dans Start-->Run-->RegEdit
3. Vous devriez faire une copie de sauvegarde de votre Base De Registre avant de faire quoi
 que ça soit.
 Pour ce faire, copiez les fichiers "user.dat" et "system.dat" du répertoire \WINDOWS
 et mettez les en lieu sûr. Notez aussi, que la méthode mentionnée
 précédemment utilisant "Regedit: Registry-->Export Registry File-->Save a copy of
 your registry" ne fait que de la FUSION de la Base de Registre et NON PAS son remplacement.
4. Cherchez dans chaque clé de la base de registre qui fini par "n" (c-à-d 0007)
 qui à une entrée appelée "IPAddress" qui a votre adresse IP.
 Sous cette clé, ajoutez le texte suivant :
 Tiré de http://support.microsoft.com/support/kb/articles/q158/4/74.asp
 [Hkey_Local_Machine\System\CurrentControlset\Services\Class\NetTrans\000n]
 type=DWORD
 name="MaxMTU"           (NE PAS inclure les guillements)
 value=1490 (Decimal)    (NE PAS inclure le texte "(Decimal)")
 type=DWORD
 name="MaxMSS"           (NE PAS inclure les guillements)
 value=1450 (Decimal)    (NE PAS inclure le texte "(Decimal)")
5. Vous pouvez aussi changer le "TCP Receive Window" qui augmente parfois
 les performances réseau CONSIDERABLEMENT. Si vous remarquez que votre débit
 à DIMINUE, REMETTEZ les anciens réglages et redémarrez.
 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
 type=DWORD
 name="DefaultRcvWindow"   (NE PAS inclure les guillements)
 value=32768 (Decimal)     (NE PAS inclure le texte "(Decimal)")
 type=DWORD
 name="DefaultTTL"         (NE PAS inclure les guillements)
 value=128 (Decimal)       (NE PAS inclure le texte "(Decimal)")
6. Rebootez pour que les changements soit pris en compte.

MS Windows 98:


1. TOUT changement dans la base de registre est risquée mais avec une copie de sauvegarde,
 vous devriez être en sécurité. Continuez en CONNAISSANCE DE CAUSE.
2. Allez dans Start-->Run-->RegEdit
3. Vous devriez faire une copie de sauvegarde de votre Base De Registre avant de faire quoi que
 ça soit. Pour ce faire, copiez les fichiers "user.dat" et "system.dat" du répertoire
 \WINDOWS et mettez les en lieu sûr. Notez aussi, que la méthode mentionnée
 précédemment utilisant "Regedit: Registry-->Export Registry File-->Save a copy of your
 registry" ne fait que de la FUSION de la Base de Registre et NON PAS son remplacement.
4. Cherchez dans chaque clé de la base de registre qui fini par "n" (c-à-d 0007)
 qui à une entrée appelée "IPAddress" qui a votre adresse IP. Sous cette clé,
 ajoutez le texte suivant :
 Tiré de http://support.microsoft.com/support/kb/articles/q158/4/74.asp
 [Hkey_Local_Machine\System\CurrentControlset\Services\Class\NetTrans\000n]
 type=STRING
 name="MaxMTU"            (NE PAS inclure les guillements)
 value=1490 (Decimal)     (NE PAS inclure le texte "(Decimal)")
5. Vous pouvez aussi changer le "TCP Receive Window" qui augmente parfois
 les performances réseau CONSIDERABLEMENT. Si vous remarquez que votre débit
 à DIMINUE, REMETTEZ les anciens réglages et redémarrez.
 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
 type=DWORD
 name="DefaultRcvWindow"   (NE PAS inclure les guillements)
 value=32768 (Decimal)     (NE PAS inclure le texte "(Decimal)")
 type=DWORD
 name="DefaultTTL"         (NE PAS inclure les guillements)
 value=128 (Decimal)       (NE PAS inclure le texte "(Decimal)")
6. Rebootez pour que les changements soit pris en compte.

MS Windows NT 4.x


1. TOUT changement dans la base de registre est risquée mais avec une copie de sauvegarde,
 vous devriez être en sécurité. Continuez en CONNAISSANCE DE CAUSE.
2. Allez dans Start-->Run-->RegEdit
3. Registry-->Export Registry File-->Sauvegardez une copie de votre base de registre dans un
 endroit sûr
4. Créer les clés suivantes dans les deux Bases de Registre possible.
 Des entrées multiples correspondent à differentes connexions réseaux tels
 que PPP, Ethernet NICs, VPNs PPTP, etc.
 http://support.microsoft.com/support/kb/articles/Q102/9/73.asp?LN=EN-US&SD=gn&FR=0
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parameters\Tcpip]
 and
 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Adapter-name>\Parameters\Tcpip]
 Remplacez "<Adapter-Name>" par le nom du lien de l'interface de votre LAN connectée
 à Internet
 type=DWORD
 name="MTU"              (NE PAS inclure les guillements)
 value=1490 (Decimal)    (NE PAS inclure le texte "(Decimal)")
 (NE PAS inclure les guillements)
 *** Si vous savez aussi comment changer MSS, la taille de la fenêtre TCP, et les
 *** parametres TTL dans NT 4.x, envoyez SVP un  email à dranch@trinnet.net parce que
 *** j'adorerais les ajouter à ce HOWTO.
5. Rebootez pour que les changements soit pris en compte.

MS Windows 2000


1. TOUT changement dans la base de registre est risquée mais avec une copie de sauvegarde,
 vous devriez être en sécurité. Continuez en CONNAISSANCE DE CAUSE.
2. Allez dans Start-->Run-->RegEdit
3. Registry-->Export Registry File-->Sauvegardez une copie de votre base de registre
 dans un endroit sûr
4. Naviguez jusqu'à la clé :
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<ID for Adapter> Chaque ID Adapter à une clé par default pour le DNS, l'adresse TCP/IP, la passerelle
 par defaut, le masque de sous réseau, etc. Trouvez la clé qui correspond à
 votre carte réseau.
5.  Créez l'entrée suivante :
 type=DWORD
 name="MTU"                                (NE PAS inclure les guillements)
 value=1490 (Decimal)      (NE PAS inclure le texte "(Decimal)")
http://support.microsoft.com/support/kb/articles/Q120/6/42.asp?LN=EN-US&SD=gn&FR=0
 *** Si vous savez aussi comment changer MSS, la taille de la fenêtre TCP, et les
 *** parametres TTL dans NT 4.x, envoyez SVP un  email à dranch@trinnet.net parce que
 *** j'adorerais les ajouter à ce HOWTO.
5. Rebootez pour que les changements soit pris en compte.

Comme déclaré si dessus, si vous savez comment effectuer ces changement pour d'autres OS tels que OS/2, MacOS, etc. envoyez SVP un email David Ranch pour qu'ils puissent être inclus dans ce HOWTO.

7.16 les clients FTP MASQués ne fonctionnent pas.

Vérifiez si le module "ip_masq_ftp" est chargé. Pour ce faire, logguez vous sur le serveur MASQ et tapez la commande "/sbin/lsmod". Si vous ne voyez pas "ip_masq_ftp" chargé, verifiez que vous avez bien suivi les recommandations du /etc/rc.d/rc.firewall BASIQUE que vous trouverez à la section firewall-examples . Si vous implémentez votre propre jeu de règles, faites en sorte d'inclure la plupart des exemples de ce HOWTO ou vous aurez encore de nombreux problèmes.

7.17 l'IP Masquerading semble lent

Il peut y avoir deux raisons à cela :

  • Peut être attendez vous plus de votre ligne modem que ce qui est possible. Faisons le calcul pour une connexion par modem 56k typique :
    1. modem 56k = 56,000 bits par seconde.
    2. Vous n'avez PAS vraiment un modem 56k mais un modem 52k à cause des limitations US FCC (NDT : cette restriction est valable uniquement aux Etats-Unis, bien sûr. Mais la suite fourni une méthode de calcul transposable à une veritable ligne 56k).
    3. Vous n'aurez JAMAIS 52k, la meilleure connexion que j'ai réussi à avoir était  48k
    4. 48,000 bits par seconde vaut 4,800 OCTETS par seconde (8 bits pour un octet +2 bits pour les bits START et STOP RS-232 de la laison série)
    5. Avec un MTU de 1500, vous aurez (3.2) paquets en une seconde. Puisque ceci implique la fragmentation, vous aurez besoin de l'arrondir à l'entier INFERIEUR (3) paquets par seconde.
    6. De même, avec un MTU de 1500, il y a 3.2 x 40 octets d'entête TCP/IP (8%)
    7. Donc, le MEILLEUR débit que vous pourrez espérer avoir est de 4.68ko/s sans compression. Avec compression, soit-elle une compression matérielle v.42bis, MNP5, ou MS/Stac, on peut atteindre des nombres impressionnants avec des matériaux hautement compressibles tels que les fichiers TEXT mais en fait elle peut aussi ralentir les choses si on transfets des fichiers pre-compressés tels que des ZIPs, MP3s, etc.
  • Connexions reliées par Ethernet (DSL, Cablemodem, LANs, etc.)

    • Verifiez que vous n'avez pas un réseau INTERNE et un réseau EXTERNE tournant sur la même carte réseau avec la fonction "IP Alias". Si c'est ce que vous FAITES, ca peut fonctionner mais ca peut être excessivement lent à cause du grand nombres de collisions, de l'utilisation d'IRQ, etc. Il est VIVEMENT RECOMMANDE d'avoir une autre carte réseau pour que les réseaux interne et externe aient leur propre interface.

      Vérifiez que vous avez les bons réglages Ethernet pour la VITESSE et le DUPLEX.

      • Quelques cartes Ethernet 10Mb/s et la plupart des cartes 100Mb/s sont compatibles avec les connexions FULL Duplex. Les connexions directes de la carte Ethernet vers, disons, un modem DSL (sans hubs entre) *PEU* être réglé sur FULL DUPLEX mais seulement si le modem DSL le permet. Vous devriez aussi vérifier que vos cables Ethernet avec les 8 fils, sont de bonne qualité.
      • Les réseaux internes qui utilisent des HUBs -ne peuvent pas- utiliser le Full Duplex. Vous avez besoin soit d'un SWITCH Ethernet 10Mb/s ou 100Mb/s pour pouvoir le faire.
      • Les négociation automatiques sur la vitesse 10/100Mb/s et sur le DUPLEX Full/Half sur les cartes Ethernet peuvent faire des ravages sur un réseau. Je recommande de coder en dur la vitesse et le duplex dans vos cartes réseaux si possible. Vous pouvez le faire directement via les modules Linux NIC mais ce n'est pas possible directement sur les noyaux monolithiques. Vous aurez soit besoin d'utiliser les utilitaires MII de Donald Becker's NIC drivers and utils FAQ-Hardware ou bien de coder en dur dans le source du noyau.

  • Optimisez votre MTU et réglez la fenêtre glissante de TCP à 8192 au moins

    • Bienque ceci soit COMPLETEMENT en dehors du cadre de ce document, ca aide UN PEU sur TOUTE liaison réseau que vous avez, que ça soit interne ou externe par liaison PPP, Ethernet, TokenRing etc. Pour de plus amples détails, ce sujet est brièvement abordé dans la section MTU-issues si dessus. Pour avoir encore plus de détails, vous pouvez vous reporter à la section Network Optimization de TrinityOS - Section 16.

  • Utilisation de modems séries avec PPP

    • Si vous avez un modem externe, verifiez que vous avez un bon cable serie. De plus, beaucoup de PC on des cables foireux reliant le port série de la carte mère ou la carte d'E/S vers la connexion port série. Si vous êtes dans l'une de ces situations, faites en sorte d'avoir de bonnes conditions. Personnellement, je mets des enrobages de ferrite (ces anneaux de metal gris-noir) autour de TOUTES mes nappes.
    • Vérifiez que votre MTU est réglé à 1500 comme décrit précédemment dans la section de la FAQ de ce HOWTO.
    • Vérifiez que l'UART de votre port série est au moins à 16550A. Lancez "dmesg | more" pour ce faire.
    • Régler l'IRQ-Tune de vos ports séries.

      • Sur la majorité du matériel PC, l'utilisation de l'outil de Craig Estey IRQTUNE augmente de manière significative les performances des ports séries, donc les connexions SLIP and PPP connexions.

    • Vérifiez que le port série de votre connexion PPP est au moins à 115200 bauds (ou plus si et votre modem et votre port série peuvent le supporter... aussi connu sous le nom d'adaptateur terminal ISDN)

      • noyaux 2.0.x : les noyaux 2.0.x sont plutôt bizarres parce que vous ne pouvez pas directement leur dire de régler les ports série à 115200. Donc, dans l'un de vos scripts de démarrage, comme les fichiers /etc/rc.d/rc.local ou /etc/rc.d/rc.serial, executez le commande suivante pour un modem sur le port COM2 :

        • setserial /dev/ttyS1 spd_vhi
        • dans votre script PPPd, modifiez la ligne d'execution de pppd de manière à y inclure la vitesse "38400" à l'aide du manuel de pppd.

      • noyaux 2.2.x : contrairement aux noyaux 2.0.x, les noyaux 2.1.x et 2.2.x n'ont pas ce problème de "spd_vhi".

        • Donc, dans le script de PPPd, modifiez la ligne d'execution de pppd de manière à y inclure la vitesse "115200" à l'aide du manuel de pppd.

  • Tous types d'interface :

7.18 IP Masquerading avec PORTFWing semble s'arrêter quand ma ligne est inactive pendant de longs périodes

Si vous avez une ligne DSL ou par Cablemodem, ce comportement est malheureusement très commun. Ce qui se passe c'est que votre FAI met votre connexion dans une file de priorité très faible pour mieux servir les connexions qui ne sont pas inactives. Le problème est que la connexion de quelques utilisateurs finaux va effectivement être COUPEE jusqu'à ce que le traffic de la connexion de l'utilisateur reveille le matériel du FAI.

  • Certaines installations DSL peuvent DECONNECTER une connexion inactive et vérifier l'activité seulement une fois toutes les 30 secondes environ.
  • Certains réglages de Cablemodem peuvent mettre une connexion inactive dans une file d'attente de priorité faible et vérifier l'activité seulement une fois toutes les quelques minutes.

Qu'est-ce que je recommande de faire ? Faites un ping vers votre passerelle par défaut toutes les 30 secondes. Pour se faire, modifiez le fichier /etc/rc.d/rc.local et ajoutez la ligne suivante à la fin du fichier :


 ping -i 30 100.200.212.121> /dev/null &

Remplacez 100.200.212.121 par votre routeur par défaut (routeur en amont).

7.19 Maintenant que j'ai l'IP Masquerading qui fonctionne, j'ai plein de sortes de messages d'erreurs et d'avertissements bizarres dans les fichiers log SYSLOG. Comment faut-il lire les erreurs du firewall IPFWADM/IPCHAINS ?

Il y a sans doute deux choses que vous allez couramment voir :

  • MASQ: Failed TCP Checksum error: Vous verrez cette erreur quand un paquet arrivant d'Internet est corrompu dans la partie donnée mais que le reste "semble" bon. Quand la machine Linux reçcoit le paquet, il va calculer le CRC du paquet et determiner s'il est corrompu ou pas. Sur la plupart des machines tournant sur des OS tels que Microsoft Windows, il vont simplement ignorer le paquet mais Linux IP MASQ le met dans son compte-rendu. Si vous en recevez beaucoup sur une ligne PPP, regardez d'abord l'entrée de la FAQ correspondant à "MASQ est lent".
  • Si toutes ces astuces ne vous aident pas, essayer en ajoutant la ligne "-vj" dans votre fichier /etc/ppp/options et relancer PPPd.
  • Hits sur le firewall : Quand vous êtes sur Internet avec un firewall décent, vous êtes surpris du nombre de personnes qui essayer d'entrer dans votre machine Linux ! Donc que signifient tous ces logs du firewall ?

    Tiré du document : TrinityOS - Section 10 :

     Dans le jeu de règles si dessous, chaque ligne avec soit un DENY soit un REJECT
     contient aussi un "-o" pour LOGguer ces hits firewall dans le fichier de messages
     SYSLOG qui se trouve dans :
     Redhat:         /var/log
     Slackware:      /var/adm
     Si vous regardez l'un de ces logs de firewall, vous devriez voir quelquechose du type :
     ---------------------------------------------------------------------
     IPFWADM:
     Feb 23 07:37:01 Roadrunner kernel: IP fw-in rej eth0 TCP 12.75.147.174:1633 100.200.0.212:23
     L=44 S=0x00 I=54054 F=0x0040 T=254
     IPCHAINS:
     Packet log: input DENY eth0 PROTO=17 12.75.147.174:1633 100.200.0.212:23 L=44 S=0x00
     I=54054 F=0x0040 T=254
     ---------------------------------------------------------------------
     Il y a BEAUCOUP d'informations dans une seule ligne. Regardons cet exemple,
     reportez vous au hit sur le firewall en lisant ceci. Veuillez noter que cet
     exemple est pour IPFWADM mais il est DIRECTEMENT lisible pour les utilisateurs
     d'IPCHAINS.
     --------------
     - Ce "hit" firewall est arrivé a ce moment : "Feb 23 07:37:01"
     - Ce hit etait sur l'ordinateur "RoadRunner".
     - Ce hit etait sur le protocole "IP" ou TCP/IP
     - Ce hit est entre dans le firewall ("fw-in")
     * D'autres log peuvent dirent "fw-out" pour sortant or "fw-fwd" pour FORWARD
     - Ce hit etait encore "rejETE".
     * D'autres logs peuvent dire "deny" ou "accept"
     - Ce his etait sur l'interface "eth0" (liaison Internet)
     - Ce hit etait un paquet "TCP"
     - Ce hit est venu de l'adresse IP "12.75.147.174" et du port "1633".
     - Ce hit etait a destination de "100.200.0.212" et de son port "23" ou TELNET.
     * Si vous ne savez pas que le port 23 est pour TELNET, regardez votre fichier
     /etc/services pour voir par quoi les autres ports sont utilises.
     - Ce paquet avait une longueur de "44" octets
     - Ce paquet n'avez PAS de "Type of Service" (TOS) fixé
     --Ne vous inquietez pas si vous ne comprenez pas ca...pas besoin de le savoir
     * utilisateurs d'ipchains, divisez le par 4 pour avoir le Type of Service
     - Ce paquet avet le numero "IP ID" "18"
     --Ne vous inquietez pas si vous ne comprenez pas ca... pas besoin de le savoir
     - Ce paquet avait un fragment offset de 16bits dont tout flag de paquet TCP/IP
     de "0x0000"
     --Ne vous inquietez pas si vous ne comprenez pas ca... pas besoin de le savoir
     * une valeur qui commence par "0x2..." ou "0x3..." signifie que le bit
     "More Frangments" etait activé donc de nouveaux paquets fragmentes
     vont arriver pour completer ce GROS paquet.
     * une valeur qui commence par "0x4..." ou "0x5..." signifie que le bit
     "Don't Fragment" est active.
     * Toute autre valeur est l'offset du Fragment (divise par 8) qui doit etre
     utilise plus tard pour reconstituer le GROS paquet original.
     - Ce paquet a un TimeToLive (TTL) de 20.
     * Chaque saut sur Internet soustrait (1) a ce nombre. Normalement,
     les paquets sont emis avec un TTL de (255) et si ce nombre atteind (0),
     ca signifie qu'il est realiste de considerer que ce paquet est perdu et il
     va donc etre efface.
    

7.20 Puis-je configurer IP MASQ de façon à permettre aux Internautes de contacter directement un server interne MASQué ?

Oui ! Avec IPPORTFW, vous pouvez permettre TOUT ou seulement une partie des Internautes de contacter TOUTE machine interne MASQuée. Ce sujet est entièrement traité dans la section Forwarders de ce HOWTO.

7.21 Je reçois des "kernel: ip_masq_new(proto=UDP): no free ports." dans mon fichier SYSLOG. Que se passe-t-il ?

Une des machines MASQuée interne crée un nombre anormalement grand de paquets destinés à Internet. Comme le serveur IP Masq construit une table MASQ et forward ces paquets vers Internet, la table se remplit rapidement. Une fois que la table est pleine, elle va générer des erreurs.

La seule application que je connaisse qui puisse temporairement casser Linux IP Masquerade est GameSpy. Pourquoi ? Quand il actualise ses listes, il crée des dizaines de milliers de connexions rapides pendant une TRES courte période. Jusqu'au timeout de ces sessions, les tables de MASQ sont pleines ("FULL"). Reportez vous à la section No-Free-Ports pour de plus amples détails.

Donc que pouvez-vous faire contre ça ? Pratiquement, n'utilisez pas de programmes qui générent ce genre de choses. Si vous recevez ce genre d'erreurs dans vos logs, trouvez le et arrêtez de l'utiliser. Si vous aimez vraiment GameSpy, ne faites pas beaucoup de reactualisation de serveurs. De toute façon, une fois que vous arrêtez le programme MASQué, cette erreur MASQ va disparaître puisque ces connexions vont faire des 'timeouts' dans les tables de MASQ.

7.22 Je reçois "ipfwadm: setsockopt failed: Protocol not available" quand j'essaie d'utiliser IPPORTFW!

Si vous recevez le message "ipfwadm: setsockopt failed: Protocol not available", c'est que vous n'êtes pas sous le nouveau noyau. Verifiez que vous l'avez bien installé, relancer votre BootLoader (LILO), et redemarrez.

Reportez vous SVP à la fin de la section Forwarders pour de plus amples détails.

this Microsoft KnowledgeBase article.

Le premier moyen de contournement est de configurer IPPORTFW de la section Forwarders et de portforwarder les ports 137, 138 et 139 vers les IP de la machine interne Windows. Bienque cette solution fonctionne, elle ne peut marcher que pour UNE machine interne.

La seconde solution est d'installer et de configurer Samba sur le serveur Linux MASQ. Avec Samba de lancé, vous pouvez mapper vos partages de Fichier et d'Imprimantes Windows sur le serveur Samba. Vous pouvez ensuite monter ces nouveaux partages SMB vers tout vos clients externes. La configuration de Samba est entièrement traitée dans un HOWTO que vous pourrez trouver sur le site du Linux Documentation Project et dans le document TrinityOS.

La troisième solution est de configurer un VPN (virtual private network ou réseau privé virtuel) entre les deux machines Windows ou entre les deux réseaux. Ceci peut être réalisé via PPTP ou via les solutions VPN IPSEC. Il y a un patch PPTP pour linux et aussi un implémentation complète de IPSEC disponibles pour les deux noyaux 2.0.x et 2.2.x. Cette solution est sans doute la plus stable et la plus sécurisée des trois.

Toutes ces solutions de sont PAS traitées dans ce HOWTO. Je vous recommande de regarder la documentation de TrinityOS pour l'aide sur IPSEC et la page PPTP de John Hardin pour de plus amples informations.

Veuillez aussi comprendre SVP que le protocole SMB de Microsoft est TRES peu sûr. C'est pour cela que d'avoir des traffics de partage de fichiers ou d'imprimante, et de domaine windows de Microsoft sur Internet sans encryption est une TRES MAUVAISE idée.

7.24 ( IDENT ) - IRC ne fonctionne pas correctement pour les utilisateurs MASQués. Pourquoi?

La raison la plus courante est que les serveurs IDENT ou "Identity" de la plupart des distributions Linux ne peuvent pas travailler avec des liens IP Masqueradés. Pas d'inquiétudes toutefois, il existe des IDENTs qui fonctionnent.

L'installatin de ce logiciel sort du cadre de ce HOWTO mais chaque utilitaire a sa propre documentation. Voici quelques un des URLS :

Veuillez noter que certains serveur IRC ne permettront toujours pas des connexions multiples à partir de la même machine (comprendre ici même IP), même s'ils recupèrent les infos Ident et que les utilisateurs sont différents. Vous pouvez vous plaindre à l'administrateur système du serveur distant :-)

7.25 ( DCC ) - mIRC ne marche pas avec les DCC Sends

Ceci est un problème de configuration de votre version de mIRC. Pour le résoudre, deconnecter mIRC de votre serveur IRC. Maintenant dans mIRC, allez dans File --> Setup et cliquez sur la languette "IRC servers". Verifiez que le port est réglé sur 6667. Si vous avez besoin d'autres ports, reportez vous ci dessous. Ensuite, allez dans File --> Setup --> Local Info et effacer les champs Local Host et IP Address. Maintenant cochez les cases de "LOCAL HOST" et "IP address" (IP address peut être coché et désactivé). Ensuite, dans "Lookup Method", réglez sur "normal". Ca ne marchera PAS si "server" est sélectionné. C'est tout. Essayez de vous connecter au serveur IRC de nouveau.

Si vous avez besoin de ports pour le serveur IRC différents de 6667, (par exemple 6969) vous devez modifier votre fichier /etc/rc.d/rc.firewall là où vous chargez le module MASQ IRC. Modifiez ce fichier et la ligne contenant "modprobe ip_masq_irc" et ajoutez cette ligne : "ports=6667,6969". Vous pouvez ajoutez autant de ports que vous voulez, séparés par des virgules.

Enfin, fermez tous les clients IRC lancé sur les machines MASQuées et redémarrez le module MASQ IRC :

/sbin/rmmod ip_masq_irc /etc/rc.d/rc.firewall

7.26 ( IP Aliasing ) - IP Masquerade peut-il fonctionner avec UNE seule carte Ethernet ?

Oui et non. Avec la fonctionnalité "IP Alias" du noyau, les utilisateurs peuvent régler plusieurs interfaces aliasées tels que eth0:1, eth0:2, etc mais il N'est PAS recommandé d'utiliser ces interfaces aliasées pour l'IP Masquerading. Pourquoi ? Fournir un firewall sûr devient très difficile avec une seule carte réseau. En plus, vous allez trouver une quantité anormale d'erreurs sur cette liaison puisque les paquets entrant vont être envoyés presque simultanément vers l'extérieur. A cause de tout celà, et du fait qu'une carte réseau coute moins de 150F, je vous recommande vivement d'en acheter une pour chaque segment de réseau MASQué.

Les utilisateurs devraient aussi comprendre que IP Masquerading ne fonctionne que sur des interfaces physiques telles que eth0, eth1, etc. MASQuer une interface aliasée telles que "eth0:1, eth1:1, etc" NE fonctionnera PAS. En d'autres termes, ce qui suit ne fonctionnera PAS :

  • /sbin/ipfwadm -F -a m -W eth0:1 -S 192.168.0.0/24 -D 0.0.0.0/0
  • /sbin/ipchains -A forward -i eth0:1 -s 192.168.0.0/24 -j MASQ"

Si vous voulez toujours utiliser des interfaces aliasées, vous devez activer la fonction "IP Alias" du noyau. Vous devrez recompiler et redemarrer. Une fois sous le nouveau noyau, vous devez configurer Linux de manière à ce qu'il utilise la nouvelle interface (i.e. /dev/eth0:1, etc.). Ensuite, vous pouvez la considerer comme une interface Ethernet normale avec toutefois quelques restrictions comme celui ci-dessus.

7.27 ( MULTI-LAN ) - J'ai deux LANs MASQués mais je ne peux pas communiquer de l'un vers l'autre !

Reportez vous SVP à la section multiple-masqed-lans pour les détails complets.

7.28 ( FACONNAGE ) - Je voudrais être capable de limiter la vitesse de certains types spécifiques de traffic

Ce sujet n'a vraiment rien à voir avec IPMASQ et concerne ce qui touche au façonnage du traffic et de la limitation des taux de Linux. Reportez vous SVP au fichier /usr/src/linux/Documentation/networking/shaper.txt de vos sources locales du noyau pour de plus amples détails.

Vous trouverez aussi plus d'informations sur ce sujet et plusieurs URLs dans la section 2.2.x-Requirements d'IPROUTE2.

7.29 ( COMPATIBILITE ) - J'ai besoin de faire de la comptabilité sur les personnes qui utilisent le réseau

Bienque ca n'est pas grand chose à voir avec IPMASQ, voici quelques idées. Si vous connaissez de meilleures solutions, envoyez SVP un email à l'auteur de ce HOWTO pour qu'il puisse l'inclure dedans.

  • Idée #1: Disons que vous voulez logguer TOUT le traffic WWW sortant vers Internet. Vous pouvez créer une règle pour le firewall qui ACCEPTE le traffic sur le PORT 80 avec le bit SYN activé et qui le LOGGUE. Maintenant rappelez vous, ceci peut créer de TRES gros fichiers log.
  • Idée #2: Vous pouvez lancer la commande "ipchains -L -M" une fois par seconde et logguer toutes les entrées. Vous pouvez ensuite écrire un programme qui combine toutes ces informations dans un seul fichier plus gros.

7.30 ( IPs MULTIPLEs ) - J'ai plusieurs adresses IP EXTERNES que je veux PORTFWer vers plusieurs machines internes. Comment je peux faire ça ?

Vous NE POUVEZ PAS. MASQ est un NAT 1:Many (1 vers plusieurs) et n'est pas le bon outil pour faire ca. Vous cherchez une solution NAT Many:Many qui est une installation NAT traditionnelle. Jetez un coup de d'oeil sur l'entrée shaping de la FAQ pour de plus amples détails sur l'outil IPROUTE2 qui fera ce dont vous avez besoin.

Pour les personnes ici qui compte activer plusieurs adresses IP sur une seule interface réseau avec "IP Alias" et ensuite PORTFWer TOUT les ports (0-65535) et utiliser IPROUTE2 pour entretenir les bonnes correspondances des IP source/destination : ça a été réalisé AVEC SUCCES sur les noyaux 2.0.x et avec moins de réussite sur les noyaux 2.2.x. Sans considération du succès, ce n'est pas la bonne façon de faire ça et ce n'est pas une configuraion MASQ compatible. Jetez un coup d'oeil sur IPROUTE2 SVP... c'est la bonne manière de faire du vrai NAT.

Autre chose à noter aussi :

Si vous avez une connexion DSL ou Cablemdem routée (pas PPPoE), les choses se compliquent un peu plus parce que votre installation n'est pas routée. Pas d'inquiétudes cependant, reportez vous au document "Bridge+Firewall, Linux Bridge+Firewall Mini-HOWTO" sur LDP. Vous y apprendrez à faire reconnaitre à votre machine Linux plusieurs adresses IP sur une seule interface !

7.31 J'essaie d'utiliser la commande NETSTAT pour me montrer mes connexions Masqueradées mais ca marche pas

Il peut y avoir un problème avec le programme "netstat" sur les distribs basées sur Linux 2.0.x. Après le redemarrage de Linux, la commande "netstat -M" fonctionne bien mais apres qu'un ordinateur MASQué lance plusieurs fois des traffics ICMP avec succès, tels que ping, traceroute, etc., vous obtiendrez peut-être quelquechose du style :

masq_info.c: Internal Error `ip_masquerade unknown type'.

La manière de détourner ce problème est de lancer la commande "/sbin/ipfwadm -M -l". Vous remarquerez aussi qu'après les timeouts des entrées masquerade ICMP, "netstat" fonctionne de nouveau.

7.32 ( VPNs ) - Je voudrais faire fonctionner Microsoft PPTP (tunnels GRE) et/ou les tunnels IPSEC (Linux SWAN) à travers IP MASQ

C'EST possible. Cependant c'est quelque peu hors de la portée de ce document, vous pouvez vous reporter à la page de John Hardin PPTP Masq pour tous les détails.

7.33 Je veux faire fonctionner le jeu réseau XYZ à travers IP MASQ mais ca fonctionne pas. A l'aide !

D'abord, allez ici : Steve Grevemeyer's MASQ Applications page. Si vous ne trouvez pas de solution là-bas, essayer de patcher le noyau Linux avec le patch LooseUDP de Glenn Lamb, qui est traitée dans la section LooseUDP ci-dessus. Vous pouvez aussi regarder la NAT Page de Dan Kegel pour plus d'informations.

Si vous avez les aptitudes technique pour utiliser "tcpdump" et sniffer votre réseau, essayer de trouver quels protocoles et quels numéros de port votre jeu XYZ utilise. Avec ces informations en main, abonnez vous a la IP Masq email list et envoyer vos résultats pour obtenir de l'aide.

7.34 IP MASQ fonctionne bien pendant un certain temps puis s'arrête de marcher. Un redémarrage semble résoudre ce problème pour un certain temps. Pourquoi ?

Je parie que vous utilisez IPAUTOFW et/ou vous l'avez compilé dans le noyau hein ?? C'est un problème reconnu de IPAUTOFW. Il est recommandé de NE PAS configurer IPAUTOFW dans le noyau Linux et d'utiliser IPPORTFW à la place. Ceci est traité en detail dans la section Forwarders .

7.35 Les ordinateurs internes MASQués ne peuvent pas envoyer d'email SMTP ou POP-3 !

Bienque ceci ne soit pas un problème dû au Masquerading, beaucoup de personnes l'ont mentionné.

SMTP: Le problème est que vous utilisez probablement votre machine linux comme un serveur de relais SMTP et vous recevez l'erreur suivante :

"error from mail server: we do not relay"
Les versions récentes de Sendmail et d'autres Mail Transfer Agents (MTAs) désactivent le relaying par défaut (c'est une bonne chose). Donc pour résoudre le problème, faites ceci :

  • Sendmail: activez le relaying spécifique pour vos machines internes MASQuées en modifiant le fichier /etc/sendmail.cw et en ajoutant le hostname et le nom de domaine de vos machines internes MASQuées. Vous devriez aussi vérifier que votre fichier /etc/hosts a l'adresse IP et le Fully Qualified Domain Name (FQDN) écrit dedans. Une fois que vous avez fait ça, vous devez relancer Sendmail pour qu'il relise ses fichiers de configuration. Ceci est traité dans TrinityOS - Section 25

POP-3: Certains utilisateurs configurent leur ordinateurs internes MASQués de manière à ce que leurs clients POP-3 se connectent sur un serveur SMTP externe. Bienque que cela soit correct, de nombreux serveurs SMTP vont essayer d'identifier (IDENT) votre connexion sur le port 113. Il est très probable que votre problème vienne du fait que votre politique par défaut pour Masquerade soir DENY (refuse). C'est mal. Changez-le en REJECT (rejette) et relancer votre jeu de règles rc.firewall.

7.36 ( IPROUTE2 ) - J'ai besoin que différents réseaux internes MASQués puissent sortir sur différentes adresses IP externes

Disons que vous avez l'installation suivant : Vous avez plusieurs réseaux internes et aussi plusieurs adresses IP externes et/ou réseaux. Ce que vous voulez faire c'est que le LAN#1 n'utilise que l'IP externe IP#1 et vous voulez aussi que le LAN#2 utilise l'IP externe IP#2.

LAN interne ----------> IP officielle

LAN #1 IP externe #1 192.168.1.x --> 123.123.123.11

LAN #2 IP externe #2 192.168.2.x --> 123.123.123.12

En gros, ce que nous avons décrit ici est un routage, PAS seulement sur l'adresse de destination (routage IP usuel) mais aussi un routage basé sur l'adresse SOURCE. Ceci est appelé "routage basé sur une politique" ("policy-based routing") ou "routage par source" ("source routing"). Cette fonctionnalité n'est PAS disponible dans les noyaux 2.0.x, mais l'*EST* pour les noyaux 2.2.x via le package IPROUTE2, et est implémenté dans le nouveau noyau 2.4.x avec IPTABLES.

Vous devez tout d'abord comprendre que IPFWADM et IPCHAINS ne rentrent en action qu'*APRES* que le moment où le système de routage a décidé de l'endroit où il va envoyer un paquet donné. Cet énoncé est très important est devrait être estampé avec de grosses lettres rouges sur toute documentation sur IPFWADM/IPCHAINS/IPMASQ. C'est pourquoi les utilisateurs DOIVENT installer leur routage d'abord et commencer à ajouter IPFWADM/IPCHAINS et/ou des fonctions Masq.

Dans l'exemple précédent, vous devez dire au système de routage de diriger les paquets en provenance de 192.168.1.x via 123.123.1233.11 et les paquets en provenance de 192.168.2.x via 123.123.123.12. C'est la partie difficile du travail, ajouter Masq par dessus un routage correct est facile.

Pour faire ce routage élégant, vous utiliserez IPROUTE2. Comme cette fonction n'a rien à voir avec IPMASQ, ce HOWTO ne le traite pas en détail. Referez vous SVP à 2.2.x-Requirements pour des URL et une documentation sur ce sujet.

Les commandes sont les même que les commandes "iprule" et "iproute" (je préfére le premier puisqu'il est plus facile de le chercher). Les commandes ci-dessous ne sont pas testées, si elles ne fonctionnent pas, veuillez contacter l'auteur de IPROUTE2... pas David Ranch ou qui que ce soit dans la mailing list de Masq puisque ça n'a RIEN avoir avec IP Masquerading.

Les toutes premières commandes ont seulement besoin d'être lancé une fois au démarrage, disons dans le fichier /etc/rc.d/rc.local

# Permets aux LANs internes de communiquer entre eux, pas de masq.
 /sbin/iprule add from 192.168.0.0/16 to 192.168.0.0/16 table main pref 100
# Tout autre traffic de 192.168.1.x est externe, pris en charge par la table 101
 /sbin/iprule add from 192.168.1.0/24 to 0/0 table 101 pref 102
# Tout autre traffic de 192.168.2.x est externe, pris en charge par la table 102
 /sbin/iprule add from 192.168.2.0/24 to 0/0 table 102 pref 102
Ces commandes ont besoin d'être testées quand eth0 est configuré, peut-être dans
/etc/sysconfig/network-scripts/ifup-post (systèmes RedHat). Lancez les une fois
à la main pour être sur qu'ils fonctionnent.
# la table 101 force tous les paquets qui lui sont assigné a sortir via 123.123.123.11
 /sbin/iproute add table 101 via 62123.123.123.11
# la table 102 force tous les paquets qui lui sont assigné a sortir via 123.123.123.12
 /sbin/iproute add table 102 via 62123.123.123.12
A partir de là, vous devriez voir que les paquets provenant de 192.168.1.x partant
vers le monde extérieur sont routes; via 123.123.123.11, et les paquets de
192.168.2.x sont routé via 123.123.123.12.
Une fois que le routage est correct, vous pouvez ajouter les règles IPFWADM et IPCHAINS.
Les exemples suivants sont pour IPCHAINS :
/sbin/ipchains -A forward -i ppp+ -j MASQ
Si tout ce goupille bien, le code de masq va voir les paquets routés via
123.123.123.11 et 123.123.123.12 et va utiliser ces adresses comme adresse source masq.

7.37 Pourquoi les nouveaux noyaux 2.1.x et 2.2.x utilisent IPCHAINS au lieu de IPFWADM ?

IPCHAINS possède les fonctions suivantes que IPFWADM ne possède pas :

  • "Quality of Service" (compatibilité QoS)
  • Un système de chaines en forme d'ARBRE, contre un système LINEAIRE pour IPFWADM (ce qui permet de faire des trucs du genre : "si c'est ppp0, saute vers cette chaine (qui contient son propre jeu de règles)")
  • IPCHAINS est plus flexible pour la configuration. Par exemple, il a la commande "replace" (remplace) en plus de "insert" et "add" (insere et ajoute). Vous pouvez aussi avoir des règles négatives (par exemple : "ignore tous les paquets venant de l'extérieur qui ne viennent pas de mon IP enregistré" pour que vous ne puissiez pas être la source d'attaques spoofés).
  • IPCHAINS peut filtrer tout protrocole IP explicitement, pas seulement TCP, UDP, ICMP

7.38 Je viens de faire la mise à jour vers le noyau 2.2.x, pourquoi IP Masquerade ne fonctionne pas ?

Il y a plusieurs choses que vous devez vérifier, si on considère que votre machine Linux IP Masq est bien connectée à Internet et à votre LAN :

  • Verifiez que vous avez les fonctions nécessaires et les modules compilés et chargés. Reportez vous aux sections précédentes pour les details.
  • Vérifiez /usr/src/linux/Documentation/Changes et assurez vous que vous avez la configuration minimale requise pour les outils réseaux d'installés.
  • Assurez vous d'avoir bien suivi tous les tests de la section Testing de ce HOWTO.
  • Vous devriez utiliser ipchains pour manipuler IP Masq et les règles de firewalling.
  • Les port forwarders standards IPAUTOFW et IPPORTFW ont été remplacés par IPMASQADM. Vous aurez besoin d'appliquer ces patches au noyau, de le recompiler, compiler le nouvel outil IPMASQADM et ensuite de convertir vos anciens jeux de règles de firewall IPAUTOFW/IPPORTFW avec la nouvelle syntaxe. Cette partie est entièrement traitée dans la section Forwarders .
  • Recommencer à vérifier toute l'installation et la configuration ! Souvent, c'est juste une erreur typographiqe ou une simple erreur que vous cherchez.

7.39 Je viens de faire la mise à jour vers le noyau 2.0.38+, pourquoi IP Masquerade ne fonctionne pas ?

Il y a plusieurs choses que vous devez vérifiant, si on considère que votre machine Linux IP Masq est bien connectée a Internet et à votre LAN :

  • Verifiez que vous avez les fonctions nécessaires et les modules compilés et chargés. Reportez vous SVP aux sections précédentes pour les details.
  • Vérifiez /usr/src/linux/Documentation/Changes et assurez vous que vous avez la configuration minimale requise pour les outils réseaux installés.
  • Assurez vous d'avoir bien suivi tous les tests de la section Testing de ce HOWTO.
  • Vous devriez utiliser ipfwadm pour manipuler IP Masq et les règles de firewalling. Si vous voulez utiliser IPCHAINS, vous aurez besoin d'appliquer un patch aux noyaux 2.0.x.
  • Recommencez à vérifier toute l'installation et la configuration ! Souvent, c'est juste une erreur de typographie ou une erreur toute simple que vous cherchez.

7.40 J'ai besoin d'aide sur les connexions EQL et IP Masq

EQL n'a rien à faire avec IP Masq bienqu'ils soient souvent combinés sur les machines Linux. C'est pourquoi, je vous recommande de voir la nouvelle version de Robert Novak's EQL HOWTO pour vos besoins sur EQL.

7.41 J'arrive pas faire fonctionner IP Masquerade ! Quelles options ai-je pour les Plateformes Windows ?

Vous voulez abandonner une solution gratuite, sûre, haute performance qui fonctionne avec un minimum de ressources matérielles pour quelquechose qui a besoin de plus de matériel, avec des performances inférieures et moins sûr ? (AMHO. Et oui, j'ai des expériences grandeur nature de ces choses là ;-)

Okay, c'est votre choix. Si vous voulez une solution NAT et/ou proxy Windows, voici une liste convenable. Je n'ai pas de préférence pour ces outils puisque je ne m'en suis jamais servi.

Enfin faites une recherche sur le web sur "MS Proxy Server", "Wingate", "WinProxy", ou allez sur www.winfiles.com. Et ne dites surtout a personnes que c'est nous qui vous envoyons.

7.42 Je voudrais aider à developper IP Masquerade. Que puis-je faire ?

Abonnez vous à la mailing list Linux IP Masquerading DEVELOPERS et demander aux développeurs sur quoi vous pouvez aider. Pour plus de détails sur comment s'abonner aux mailing lists, regardez la section Masq-List de la FAQ.

SVP NE posez PAS de questions non relatifs au développement d'IP Masquerade là-bas !!!!

7.43 Où puis-je trouver plus d'informations sur IP Masquerade?

Vous pouvez trouvez plus d'informations sur IP Masquerade ici : Linux IP Masquerade Resource, site dont s'occupe David Ranch.

Vous pouvez aussi trouver des informations sur Dranch's Linux page, où se trouvent les documents de TrinityOS et d'autres documents sur Linux.

Vous pouvez aussi trouver des informations sur The Semi-Original Linux IP Masquerading Web Site entretenu par Indyramp Consulting, qui fournit aussi les mailing lists IP Masq.

Enfin, vous pouvez trouver des réponses aux questions spécifiques dans les archives des mailing lists IP MASQ et IP MASQ DEV. Reportez vous à la FAQ Masq-List pour de plus amples détails.

7.44 Je veux traduire ce HOWTO dans une autre langue, que dois-je faire ?

Assurez vous que la langue dans laquelle vous voulez traduire n'est pas déjà traitée par quelqu'un d'autre. Mais la plupart des HOWTOs traduits sont VIEUX et ont besoin d'être mis à jour. Une liste des HOWTO traduits est disponible ici : Linux IP Masquerade Resource.

Si une copie de la version en cours de l'IP MASQ HOWTO n'existe pas dans la langue que vous proposez, téléchargez SVP la version la plus récente du code SGML de l'IP-MASQ HOWTO ici : Linux IP Masquerade Resource. De là, continuez votre travail tout en produisant du bon code SGML. Pour plus d'aide sur le SGML, vous pouvez voir www.sgmltools.org

7.45 Ce HOWTO semble périmé, continuez vous à le mettre à jour ? Pouvez vous inclure plus d'information sur ... ? Comptez vous le rendre meilleur ?

Oui, ce HOWTO est toujours mis à jour. Par le passé, j'ai été coupable d'être trop occupé avec deux emplois et ne pas avoir assez de temps pour travailler dessus, mes excuses. A partir de v1.50, David Ranch a commencé à réaménager ce document et le maintenir à jour.

Si vous pensez qu'un sujet devrait être ajouté à ce HOWTO, envoyez SVP un email à ambrose@writeme.com and dranch@trinnet.net. Ca serait encore mieux si vous pouviez fournir ces informations. Nous incluerons alors ces informations dans ce HOWTO si nous les trouvons appropriées et quand nous les aurons testées. Merci beaucoup pour vos contributions !

Nous avons beaucoup de nouvelles idées et de plans pour améliorer ce HOWTO, tels que des études de cas qui vont traiter différentes installations réseaux impliquant de IP Masquerade, plus de sécurité via des jeux de règles IPFWADM/IPCHAINS 'strong', plus d'entrées dans la FAQ, etc. Si vous pensez pouvoir nous aider, SVP faites le ! Merci.

7.46 Je viens de faire marcher IP Masquerade, c'est super ! Je veux vous remercier les gars, que puis-je faire ?

  • Pouvez vous traduire la version la plus récente de ce HOWTO dans une autre langue ?
  • Remerciez les developpeurs et évaluez le temps qu'ils y ont passé et les efforts qu'il ont faits.
  • Joignez vous à la mailing list IP Masquerade et aidez les nouveaux utilisateurs de MASQ.
  • Envoyez nous un email et dites nous à quel point vous êtes heureux.
  • Présentez Linux à d'autres personnes et aidez les quand ils ont des problèmes.


Page suivante - Page précédente - Table des matières