Si vous avez des suggestions a faire, envoyez les à ambrose@writeme.com et dranch@trinnet.net (NdT : en anglais). S'il vous plait, poser clairement la question et la réponse appropriée. Merci !
Si votre distribution de Linux ne supporte pas l'IP MASQ a la base, ne vous inquiétez pas. Tout ce que vous aurez a faire est de recompiler votre noyau comme il l'est expliqué plus haut dans ce HOWTO a la section Kernel-Compile .
NOTE : Si vous pouvez nous aider a remplir cette table, envoyez un email à ambrose@writeme.com ou dranch@trinnet.net (NdT : en anglais).
Caldera < v1.2 : NON - ? Caldera v1.3 : OUI - basé sur un 2.0.35 Caldera v2.2 : OUI - basé sur un 2.2.5 Debian v1.3 : NON - ? Debian v2.0 : NON - ? Debian v2.1 : NON - basé sur un 2.2.1 DLX Linux v? : ? - ? DOS Linux v? : ? - ? Hal91 Linux v? : ? - ? Linux Mandrake v5.3 : OUI - ? Linux Mandrake v6.0 : OUI - basé sur un 2.2.5 Linux PPC vR4 : NON - ? Linux Pro v? : ? - ? LinuxWare v? : ? - ? MkLinux v? : ? - ? MuLinux v3rl : OUI - ? Redhat < v4.x : NON - ? Redhat v5.0 : OUI - ? Redhat v5.1 : OUI - ? Redhat v5.2 : OUI - basé sur un 2.0.36 Redhat v6.0 : OUI - basé sur un 2.2.5 Slackware v3.0 : ? - ? Slackware v3.1 : ? - basé sur un 2.0.29 Slackware v3.2 : ? - ? Slackware v3.3 : ? - basé sur un 2.0.34 Slackware v3.4 : ? - ? Slackware v3.5 : ? - ? Slackware v3.6 : ? - ? Slackware v3.9 : ? - basé sur un 2.0.37pre10 Slackware v4.0 : ? - ? Stampede Linux v? : ? - ? SuSE v5.2 : OUI - ? SuSE v5.3 : OUI - ? SuSE v6.0 : OUI - ? SuSE v6.1 : OUI - basé sur un 2.2.5 Tomsrbt Linux v? : ? - ? TriLinux v? : ? - ? TurboLinux v? : ? - ? Yggdrasil Linux v? : ? - ?
Un 486/66 avec 16 Mo de RAM, étais largement suffisant pour masquerader les 1.54 Mo/s d'une T1 ! Le MASQ est aussi connu pour marcher très bien sur un 386SX-16s avec 8 Mo de RAM. Bon, il faut aussi savoir que l'IP Masq commence a déconner a partir de 500 connexions MASQ.
La seule application qui est connue pour bloquer temporairement une machine Linux est GameSpy. Pourquoi ? Quand il raffraichis ses listes, il crée 10000 petites connexions dans très peu de temps. Jusqu'à ce que les sessions timeout, la table des connexion MASQ est pleine. Allez visiter la section No-Free-Ports pour plus de détails.
Tant qu'on y est :
Il y a une limite en dur dans le noyau à 4096 connexions TCP ou UDP. Cette
limite peut être changée en changeant les valeurs dans
/usr/src/linux/net/ipv4/ip_masq.h
. Jusqu'à 32000, ça doit être bon. Si
vous voulez changer cette limite, vous aurez besoin de changer les valeurs de
PORT_MASQ_BEGIN & PORT_MASQ_END pour avoir un espace suffisant au dessus
de 32K et en dessous de 64K.
ps aux | grep -e routed -e gated"
"
Il y a deux moyens de s'inscrire aux deux listes IP MASQ. La première est d'envoyer un email à masq-request@indyramp.com. Pour vous inscrire a la liste IP MASQ developers, envoyez un email à masq-dev-request@indyramp.com. Voyez ci dessous pour plus de détails.
subscribe
" soit dans le sujet
soit dans le corps du message. Si vous voulez juste vous inscrire à la liste
en mode digest (tous les emails vous sont envoyés chaque semaine en une seule
fois dans un gros message), mettez les mots "subscribe digest
" dans le
sujet ou le corps.La deuxième méthode est de passer via un navigateur web et de s'inscrire depuis le formulaire http://www.indyramp.com/masq-list/ pour la liste principale ou sur http://www.indyramp.com/masq-dev-list/ pour la liste developers.
Une fois inscrit, vous recevrez les mails des listes ou vous vous êtes inscrits. Notez aussi qu'il n'est pas nécessaire d'être inscrit pour consulter les archives des deux listes. Pour ce faire, allez visiter les adresses ci dessus.
Enfin, notez que vous ne pouvez poster des messages que depuis des adresses depuis lesquelles vous êtes inscrits.
Si vous avez un quelconque problème en rapport avec les listes de diffusions, contactez Robert Novak.
Proxy: Serveurs proxy sont disponibles pour : Win95, NT, Linux, Solaris, etc. Pour : + (1) adresse IP ; économique + Possibilité de cache pour de meilleurs performances (WWW, etc.) Contre : - Toutes les applications utilisées derrière le proxy doivent supporter les services SOCKS et être configurés pour utiliser les services du Proxy. - Explose les statistiques et compteurs Web Un serveur proxy utilise seulement une adresse IP, comme IP MASQ, et sert de passerelle entre les clients sur le réseau privé (navigateur Web, etc.). Ce proxy reçoit des requêtes comme TELNET, FTP, WWW, etc. du réseau interne sur une interface. Il initie a son tour une requête comme si quelqu'un sur le proxy faisait la requête. Une fois que le serveur distant a répondu, il transfert les adresses TCP/IP au client MASQ interne et envoie la requête a la machine interne. C'est pour cela que ça s'appelle un serveur PROXY. Note : Toutes les applications que vous voudrez utiliser sur le réseau interne doivent supporter un serveur proxy comme Netscape et quelques bons clients TELNET et FTP. Ceux qui ne supportent pas un serveur proxy ne fonctionneront pas. Une autre chose sympa a propos des serveurs proxy est que certains d'entre eux cachent aussi leurs données (Squid pour le WWW). Donc, imaginons que vous avez 50 clients qui lancent Netscape en même temps, si ils ont toujours la page par défaut de configurée, vous auriez 50 copies de la même page chargée 50 fois via la connexion internet. Avec un proxy cache, seule une copie de la page serais téléchargée via la connexion internet et elle serais ensuite distribuée a la demande aux machines internes. Non seulement ca sauvegarde la bande passante de la connexion internet mais en plus, les machines internes ont un acces beaucoup plus rapide au net. MASQ: Le masquerading est disponible sous Linux, et certains routeurs RNIS tels OU les Zytel Prestige128, Cisco 770, NetGear ISDN routers, etc. 1:+ NAT Pour : + Seule une adresse IP est necessaire (économique) + Ne requiert pas de support dans les applications. + Utilise des logiciels de firewall, ce qui permet de rendre votre réseau plus sur. Contre : - Requiert une machine Linux ou un routeur RNIS dédié (d'autres produits peuvent l'avoir toutefois...) - Le trafic entrant ne peut pas accéder a votre réseau interne, a moins que votre LAN n'initie le trafic, ou qu'un logiciel de redirection de ports soit installé. Beaucoup de serveurs NAT ne savent pas le faire. - Certains protocoles doivent être pris en charge uniquement via des redirecteurs de firewall, etc. Linux supporte tout cela (FTP, IRC, etc.) mais beaucoup de routeurs ne le font PAS (NetGear le fait). MASQ ou 1:+ NAT est similaire a un serveur proxy dans le sens que le serveur fera de la translation d'adresse IP pour tromper les serveurs distants (WWW par exemple) comme si le serveur MASQ avait fait la requête et non pas une machine interne. La différence majeure entre le MASQ et un PROXY est que le serveur MASQ n'a pas besoin de changer la configuration des machines clientes. Configurez les juste pour utiliser la machine Linux comme étant leur passerelle par défaut et tout marchera sans problemes. Vous aurez besoin d'installer des modules Linux spéciaux sur le serveur pour certains services (RealAudio, FTP, etc. pour que cela marche) ! Beaucoup de gens utilisent un serveur MASQ pour faire du TELNET, du FTP, etc. *ET* mettent aussi en place un serveur proxy cache pour le trafic WWW pour augmenter les performances. NAT: Des serveurs NAT sont disponibles pour Windows 95/98/NT/2000, Linux, Solaris, et certains bons routeurs RNIS (pas les Ascend). Pour : + Très configurable + Pas de logiciels vraiment nécessaires. Contre : - Requiert un sous réseau de votre FAI (cher) Le NAT (translation d'adresses réseau) est le nom d'une machine ayant a sa disposition un certain nombre d'adresses IP valides qu'il peut utiliser. Lorsqu'une connexion vers l'extérieur est requise par un utilisateur interne, cette machine associe une adresse IP valide disponible a l'IP privée qui requiert la connexion. Apres ca, tout le traffic est réécrit de l'adresse IP NAT publique pour l'adresse IP NAT privée. Lorsqu'une adresse NAT publique reste sans être utilisée pendant un certain laps de temps, l'adresse IP publique retourne dans le groupe des IP publiques disponibles. Le problème principal du NAT est qu'une fois que toutes les adresses IP publiques sont utilisées, ceux qui veulent obtenir une connexion ensuite ne le pourront pas tant qu'une adresse ne se libère pas.
Oui ! Il y a un peu de tout. Mais la majorité est faite pour marcher avec IPFWADM. Voici une courte liste des outils disponibles par ordre alphabétique. Si vous n'en connaissez pas d'autres, ou que vous avez des remarques (bonnes/mauvaise/méchantes) sur ceux qui sont ici, envoyez un email a Ambrose ou David.
Oui, bien sur que cela marche avec une adresse IP dynamique assignée par votre FAI, d'habitude, via un serveur DHCP. Aussi longtemps que vous avez une adresse Internet valide, cela devrait marcher. Bien entendu, les IP statiques conviennent aussi.
Bien sûr, tant que Linux supporte l'interface réseau, cela marchera.
Bien sur ! IP MASQ est totalement transparent à DialD ou PPP. La seule chose qui peut poser problème si vous avez des règles de firewall méchantes et que vous avez une adresse dynamique. Référez vous a l'item de la FAQ "Est-ce que IP Masquerade marche avec une IP dynamique ?" ci dessus pour plus de détails.
Il est très difficile d'avoir une liste exhaustive des "programmes qui marchent". Toutefois, la majorité des applications internet sont supportées, telles que surfer sur Internet (Netscape, MSIE, etc.), ftp (comme WS_FTP), Real Audio, telnet, SSH, POP3 (courrier entrant - pine, Outlook), SMTP (courrier sortant), etc.
Les programmes qui impliquent des protocoles plus compliqués ou des méthodes de connexion spéciales necessitent des outils d'aide spéciaux.
Pour plus de détails, référez vous à cette page : programmes qui marchent avec le Linux IP masquerading par Lee Nevo.
La distribution de Linux que vous avez, les procédures pour mettre en place l'IP masquerading mentionnées dans ce HOWTO devraient suffire. Certaines distributions auront peut être des programmes graphiques ou des fichiers de configuration spéciaux pour rendre les réglages plus simples. Nous faisons en sorte de rendre ce HowTo aussi simple que possible.
Par défaut, IP MASQ à un time out de connexion pour les sessions TCP, les TCP
FIN et le traffic UDP qui est a 15 minutes. Il est recommendé d'utiliser les
valeurs suivantes (comme elles le sont dans le fichier
/etc/rc.d/rc.firewall
décrit dans ce HOWTO) :
Linux 2.0.x avec IPFWADM:
# Durée de vie des connexion MASQuées # # 2 hrs pour une session TCP # 10 sec apres qu'un paquet "FIN" soit passé # 160 sec pour le traffic UDP (Important pour les utilisateurs d'ICQ) # /sbin/ipfwadm -M -s 7200 10 160
Linux 2.2.x avec IPCHAINS:
# Durée de vie des connexion MASQuées # # 2 hrs pour une session TCP # 10 sec apres qu'un paquet "FIN" soit passé # 60 sec pour le traffic UDP (Les utilisateurs d'ICQ doivent configurer leur ICQ avec # un timeout de firewall de 30 secondes) # ipchains -M -S 7200 10 60
La raison est que vous utilisez une adresse dynamique et que lorsque votre
connexion internet arrive, IP Masquerade ne connaît pas son adresse IP. Il
existe une solution. Dans votre jeu de règles /etc/rc.d/rc.firewall
,
ajoutez la ligne suivante ;
# Utilisateurs d'IP dynamiques : # # Si vous avez une adresse IP dynamique via SLIP, PPP ou DHCP, décommentez l'option # suivante. Elle permet d'utiliser une bidouille dans l'IP MASQ qui sert pour les IP # dynamiques, ce qui rends la vie avec DialD, PPPd et les programmes similaires bien # plus facile. # echo "1" > /proc/sys/net/ipv4/ip_dynaddr
Il y a deux raisons possibles à cela. La première est très commune, le deuxième, très peu.
/sbin/ifconfig
". Maintenant, regardez les lignes
correspondant a votre connexion Internet et regardez le MTU. Il doit être a
1500. Pour l'Ethernet, c'est la valeur par défaut, mais sur un lien PPP, la
valeur par défaut est de 576.
/etc/ppp/options
et mettez y les lignes "mtu 1500
" et "mru
1500
". Sauvez et relancez votre lien PPP. Comme ci dessus, vérifiez que
votre lien PPP à bien les valeurs correctes pour MTU et MRU.
/dev/cua*
ou un /dev/ttyS*
? Il doit se
connecter sur un port /dev/ttyS*
. Les vieux cua font se comporter les
connexions de manières bizarres.
Il peut y avoir quelques raisons a cela :
dmesg | less
" pour vérifier.
/etc/rc.d/rc.local
ou /etc/rc.d/rc.serial
,
lancez les commandes suivantes si votre modem se trouve sur le COM2 :
setserial /dev/ttyS1 spd_vhi
Il y a probablement deux choses normales que vous allez voire :
-vj
" a votre /etc/ppp/options
et redémarrez PPPd.
Dans les règles suivantes, les lignes ayant soit DENY soit REJECT ont aussi un "-o" pour dire au firewall d'envoyer les messages au SYSLOG. Tout cela est stocké soit dans : Redhat: /var/log Slackware: /var/adm Si vous regardez a vos logs de firewall, vous verrez des choses comme cela~: --------------------------------------------------------------------- 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=6 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 sur ces lignes. Découpons donc tout cela pour que vous puissiez comprendre ce qui s'est passé sur votre machine. Notez que cet exemple explique pour IPFWADM, bien qu'il soit compréhensible aux utilisateurs d'IPCHAINS. -------------- - Ce "hit" du firewall est arrivé le "Feb 23 07:37:01". - Sur l'ordinateur "RoadRunner". - Il est arrivé sur le protocole IP ou TCP/IP. - Il est arrivé dans ("fw-in") le firewall * d'autres logs pourraient dire "fw-out" pour la sortie ou "fw-fwd" pour le forwarding - Ensuite, le hit a été "rejETÉ". * d'autres logs pourraient dire "deny" ou "accept" - Ce hit du firewall est arrivé sur l'interface "eth0" (lien Internet). - C'était un paquet "TCP". - Ce hit est arrivé de l'adresse IP "12.75.147.174" avec comme port de retour "1633". - Ce hit étais adressé a l'IP "100.200.0.212" sur le port "23" ou TELNET. * Si vous ne saviez pas que le port 23 correspondait au TELNET, allez jeter un coup d'oeil au fichier /etc/services. - Ce paquet faisait "44" octets de long. - Ce paquet n'avais aucun TOS (type de service) --Ne vous inquiétez pas si vous ne comprenez pas ce que cela signifie... vous n'avez pas envie de savoir. * pour IPCHAINS, il faut diviser ce nombre par 4. - Ce paquet avec comme "IP ID" "18". --Ne vous inquiétez pas si vous ne comprenez pas ce que cela signifie... vous n'avez pas envie de savoir. - Ce paquet avec avais un fragment de décalage de 16 bits incluant tout paquet TCP/IP avec comme drapeau "0x0000". --Ne vous inquiétez pas si vous ne comprenez pas ce que cela signifie... vous n'avez pas envie de savoir. * Une valeur commençant par "0x2..." ou "0x3..." aurais signifié que le drapeau "Autres Fragments" était positionné et que d'autres morceaux de paquets étaient a venir pour compléter cet ÉNORME paquet. * Une valeur de "Ox4..." et "Ox5..." signifie que le drapeau "Ne pas fragmenter" est positionné. * Toutes les autres valeurs est le décalage du fragment (divisé par 8) pour être réassemblé plus tard. - Ce paquet avais un TTL de 20. * Chaque saut au travers d'Internet soustrait 1 de ce nombre. En général, les paquets commencent leur vie avec un TTL de 255 et si jamais ce nombre arrive a zéro, cela signifie que ce paquet a été perdu et qu'il sera supprimé.
Bien sur ! avec IPPORTFW, vous pouvez autoriser TOUT ou juste certaines machines sur Internet a contacter toutes vos machines masquées. Ce sujet est développé dans la section Forwarders de ce HOWTO.
L'une de vos machines internes crée un nombre anormalement haut de paquets a destination d'Internet. Comme l'IP MASQ construit une table et transmet ces paquets sur Internet, la table se remplis vite. Une fois cette table pleine, vous aurez droit à cette erreur.
La seule application que je connaisse et qui crée cette situation temporairement est un programme de jeu appelé "GameSpy". Pourquoi ? Car il récupère une liste de serveurs et ensuite, ping chaque serveur de la liste (environ 1000 serveurs). En créant tous ces pings, il crée une dizaine de milliers de connexions dans un très court laps de temps. Jusqu'à ce que les sessions expirent grâce aux timeout de l'IP MASQ, la table MASQ est pleine.
Que faire alors ? Franchement, n'utilisez pas de programme comme cela. Si vous avez cette erreur dans vos logs, trouvez le programme, et stoppez le. Si vous aimez beaucoup GameSpy, ne rafraîchissez pas la liste des serveurs trop souvent. Une fois que vous arrêtez ce genre de programmes, l'erreur MASQ s'en ira quand les connexions commenceront a expirer.
Si vous obtenez ce message d'erreur, alors que vous venez d'installer un nouveau noyau, assurez vous de bien avoir copié le noyau et de bien avoir relancé LILO.
Référez vous à la fin de la section Forwarders pour plus de détails.
Pour supporter convenablement le protocole SMB, un module IP MASQ aurais besoin d'être écrit, mais il y a trois façons de contourner ce problème. Allez lire cet article de la base de connaissances de Microsoft.
La première façon est de configurer IPPORTFW et de rediriger les ports TCP 137, 138 et 139 vers la machine masquée. Bien que cette solution marche, elle ne permet d'accéder qu'a UNE seule machine interne.
La deuxieme solution est d'installer et configurer Samba sur le serveur MASQ. Avec Samba, vous pouvez mapper vos partages internes sur le serveur et les exporter aux clients externes. La configuration de Samba est entièrement décrite dans le SMB HOWTO et dans TrinityOS.
La troisième solution est de configurer un VPN (réseau privé virtuel) entre les deux machines ou entre les deux réseaux. Cela peut être fait soit avec PPTP, soit avec IPSEC. Il y a un patch PPTP pour Linux et aussi une implémentation complete d'IPSEC pour les noyaux 2.0 et 2.2. Cette solution est probablement la plus sure des trois solutions.
Toutes ces solutions ne sont pas décrites dans ce HOWTO. Je vous recommande d'aller lire TrinityOS pour de l'aide sur IPSEC et la page de John Hardin's sur PPTP pour plus d'informations.
S'IL VOUS PLAÎT, comprenez bien que le protocole SMB de Microsoft n'est PAS sur du TOUT. A cause de cela, faire transiter des fichiers, impressions et ouvertures de sessions SMB via Internet n'est PAS une bonne idée.
La raison la plus probable est que la majorité des distributions Linux ont un serveur IDENT qui n'arrive pas a prendre en charge les liens MASQ. Ne vous inquiétez pas, il y a des IDENT de par le monde qui fonctionnent.
L'installation de ces logiciels est hors de propos dans ce HOWTO, mais chacun a sa propre documentation. Voici quelques adresses :
Notez que certains serveurs IRC n'autoriseront pas de multiples connexions d'une machine, même si les ident sont différents et que les utilisateurs le sont aussi. Plaignez vous a l'administrateur du serveur IRC. :-)
C'est un problème de configuration de votre copie de mIRC. Pour réparer cela, déconnectez vous du serveur IRC. Maintenant, dans mIRC, allez dans fichier/options/Connect, cliquez sur Edit et vérifiez que vous vous connectez bien sur le port 6667. Si vous avez besoin d'accéder via d'autres ports, allez voir plus bas. Ensuite, allez dans Fichier/options/Local Info et effacez le nom de machine ainsi que l'adresse IP, ensuite, sélectionnez "local host" et "ip adress" (ip adress sera peut être coché mais désactivé). Ensuite, dans "Lookup Method", configurez le pour "normal". Cela ne marchera PAS si vous avez coché "server". Voilà. Reconnectez vous au serveur irc.
Si vous avez besoin de vous connecter a des serveurs irc sur un autre port que
6667 (par exemple 6969), vous allez avoir besoin d'éditer le fichier
/etc/rc.d/rc.firewall
a l'endroit ou vous chargez les modules IP
MASQ. Éditez la ligne "modprobe ip_masq_irc" et ajoutez
"ports=6667,6969". Vous pouvez ajouter autant de ports que vous voulez tant
qu'ils sont séparés par des virgules.
Ensuite, déconnectez tous les clients IRC de toutes les machines masquées et rechargez le module IP MASQ IRC :
/sbin/rmmod ip_masq_irc /etc/rc.d/rc.firewall
Oui et non. La fonctionnalité "IP Alias" du noyau sert a mettre en place plusieurs interfaces comme eth0:0, eth0:1, etc mais il n'est pas recommandé d'utiliser des interfaces aliasées pour faire de l'IP Masquerading. Pourquoi ? Réaliser un firewall sécurisé devient plus dur avec une seule interface réseau. De plus, vous allez rencontrer un nombre anormalement élevé d'erreurs car les paquets reçus seront quasiment réenvoyés au même moment. A cause de cela, et aussi vu qu'une carte réseau coûte moins de 100 F, je recommande grandement d'acheter une deuxième carte réseau.
Vous devriez aussi comprendre que l'IP MASQ ne marchera en sortie que sur une interface physique comme ppp0, eth0, etc... Masquer une interface aliasée comme eth0:0, eth1:2, etc ne marchera PAS. En d'autres termes, cela NE MARCHERA PAS :
Si vous êtes toujours intéressés par le fait d'utiliser des interfaces aliasées, vous allez avoir à autoriser la fonctionnalité "IP Alias" du noyau. Recompilez et redémarrez. Une fois que vous avez votre nouveau noyau, vous allez devoir configurer Linux pour utiliser la nouvelle interface (eth0:0, etc). Après cela, vous pourrez la traiter comme n'importe quelle interface avec quelques restrictions comme celle ci dessus.
Il y a un problème dans le programme netstat. Après avoir rebooté linux,
lancer un netstat -M
fonctionne, mais après qu'un ordinateur MASQué ai
fait un peu de trafic ICMP comme un ping ou un traceroute, etc. Vous verrez
peut être la chose suivante :
masq_info.c: Internal Error `ip_masquerade unknown type'.
Pour contourner ce problème, utilisez la commande "/sbin/ipfwadm -M
-l
". Vous noterez aussi qu'une fois que les entrées ICMP masquées expirent,
netstat remarche.
C'EST possible. Toutefois, c'est légèrement hors de propos ici. Allez consulter la page PPTP Masq de John Hardin pour plus de détails.
Tout d'abord, allez faire un tour sur Lee Nevo's MASQ Applications page. Si la solution a votre probleme ne s'y trouve pas, essayez de patcher votre noyau avec le patch LooseUDP qui est décrit dans la section LooseUDP . Allez aussi faire un tour sur la NAT Page de Dan Kegel pour plus d'informations.
Si vous en avez le courage et les capacités, utilisez "tcpdump
" pour
écouter votre réseau. Essayez de découvrir quels protocoles et ports votre jeu
XYZ utilise. Avec ces informations en main, inscrivez vous a la liste
IP Masq email list et envoyez les résultats pour de l'aide.
Je parie que vous utilisez IPAUTOFW et/ou que vous l'avez compilé dans votre noyau, non ? C'est un problème bien connu d'IPAUTOFW. Il est recommandé de ne même pas configurer IPAUTOFW dans le noyau et d'utiliser IPPORTFW à la place. Tout cela est couvert dans la section Forwarders .
Bien que cela ne soit pas un problème de masquerading, mais que cela arrive a pas mal de gens, ce problème mérite d'être mentionné.
SMTP : Le problème est que vous utilisez certainement une machine Linux comme serveur de mail et vous avez l'erreur suivante :
"error from mail server: we do not relay"
Les dernières version de Sendmail et d'autres MTA (mail transfer agents) désactivent le relayage par défaut (c'est une bonne chose). Donc, faites les chose suivante :
/etc/sendmail.cw
et ajoutez le nom de la machine et
le nom du domaine de votre machine masquée. Vous devriez aussi vérifier que
l'IP et le nom complet de la machine en question se trouvent dans le fichier
/etc/hosts
. Une fois que cela a été fait, vous aurez a redémarrer
Sendmail pour qu'il relise son fichier de configuration. Tout cela est
expliqué dans
TrinityOS - Section 25
POP-3 : Certains utilisateurs configurent leurs ordinateurs masqués pour aller
récupérer leurs emails sur des serveurs POP-3 externes. Cela ne devrais pas
poser de problèmes, mais certains serveurs essayent de faire des requêtes
IDENT sur le port 113. La majorité des systèmes de part le monde ont comme
police par défaut mise a DENY. Ce n'est pas bien du tout. Réglez la a REJECT
et relancez votre rc.firewall
.
Disons que vous avez le problème suivant :
LAN ----------> IP officielle
192.168.1.x --> 123.123.123.11
192.168.2.x -->123.123.123.12
Tout d'abord, vous devez comprendre que IPFWADM et IPCHAINS entrent en jeu apres que le système de routage aie décidé ou envoyer le paquet. Cela devrais être écrit en grosses lettres rouges dans toutes les documentations IPFWADM/IPCHAINS/IPMASQ. Vous aurez donc tout d'abord a bien faire votre routage et ensuite, ajouter IPFWADM/IPCHAINS, et/ou MASQ.
Dans le cas précédent, Vous allez devoir persuader le système de routage de diriger les paquets de 192.168.1.x vers 123.123.123.11 et les paquets de 192.168.2.x vers 123.123.123.12. C'est la partie la plus ardue. Ajouter du MASQ par dessus un routage correct est assez aisé.
Pour faire de routage bizarre, vous allez utiliser IPROUTE2.
Le site FTP principal est :
Des RPM sont disponibles sur :
NOTE : Les instructions suivantes sont données uniquement car il n'y a que peu d'informations disponibles sur IPROUTE2. Allez lire http://www.compendium.com.ar/policy-routing.txt pour avoir le début d'un HOWTO sur d'IPROUTE2.
Les commandes "iprules
" et "iproute
" sont les mêmes que "ip
rules
" et "ip route
" (Je préfère les premières car elles sont plus
facile a retrouver). Toute les commandes ci dessous n'ont pas été testées, si
elles ne marchent pas, contactez l'auteur d'IPROUTE2... Pas David Ranch,
Ambrose Au, ou qui que ce soit sur la liste Masq, car cela n'a rien a voir
avec l'IP Masquerading.
Les premières commandes sont à exécuter une fois au boot, disons dans
/etc/rc.d/rc.local
.
# Autoriser les deux LAN a communiquer, sans masq.
/sbin/iprule add from 192.168.0.0/16 to 192.168.0.0/16 table main pref 100
# Tout le trafic restant de 192.168.1.x va sortir, on le prends en charge via la table 101.
/sbin/iprule add from 192.168.1.0/24 to 0/0 table 101 pref 102
# Tout le trafic restant de 192.168.2.x va sortir, on le prends en charge via la table 102.
/sbin/iprule add from 192.168.2.0/24 to 0/0 table 102 pref 102
Ces commandes doivent être lancées lorsque eth0 est configurée, par exemple,
dans /etc/sysconfig/network-scripts/ifup-post
(pour les
RedHat). Assurez vous les lancer a la main pour être sur qu'elles marchent.
# La table 101 force tous les paquets y arrivant à être envoyés via 123.123.123.11
/sbin/iproute add table 101 via 62123.123.123.11
# La table 102 force tous les paquets y arrivant à être envoyés via 123.123.123.12
/sbin/iproute add table 102 via 62123.123.123.12
A cette étape, vous devriez voir les paquets venant de 192.168.1.x a destination du monde extérieur sont routés via 123.123.123.11, et que les paquets de 192.168.2.x le sont via 123.123.123.12.
Une fois que le routage est correct, vous pouvez ajouter vos règles d'IPFWADM ou d'IPCHAINS. Pour IPCHAINS, on pourrais mettre :
/sbin/ipchains -A forward -i ppp+ -j MASQ
Si tout s'est bien passé, le code MASQ devrais voir les paquets routés sur 123.123.123.11 et 123.123.123.12, et utiliser ces adresses comme adresses source de MASQ.
IPCHAINS inclu plus de fonctionnalités qu'IPFWADM, dont :
Il y a plusieurs raisons qui peuvent faire que cela ne marche plus, en supposant que vous avez une bonne connection à Internet et à votre LAN :
/usr/src/linux/Documentation/Changes
et assurez vous que
vous avez les bonnes versions des outils réseau installés.
echo
"1" > /proc/sys/net/ipv4/ip_forwarding
.
Il y a plusieurs chose que vous devriez vérifier, en supposant que vous avez une bonne connection à Internet et à votre LAN :
/usr/src/linux/Documentation/Changes
que vous avez bien
mis a jour le minimum pour survivre.
echo "1" >
/proc/sys/net/ipv4/ip_forward
.
L'EQL n'a rien a voir avec l'IP MASQ bien qu'ils soient souvent utilisés ensembles sur des machines Linux. A cause de cela, je vous recommenderais d'aller récupérer la derniere version de l' EQL HOWTO de Robert Novak qui devrais répondre a toutes vos questions.
Ok, c'est vous qui l'avez voulu. Si vous voulez une solution Windows NAT/proxy, voici une liste décente. Je n'ai aucune préférence entre ces différents utilitaires, vu que je n'en ai utilisé aucun. (NdT : j'utilise souvent Winroute et il est très bien).
Mais ne dites pas que c'est moi qui vous y envoie !
Pour s'inscrire à la liste IP Masquerading envoyez un mail à masq-subscribe@indyramp.com.
Le sujet et le corps de ce message sont ignorés. Ceci vous permet de recevoir tous les messages de la liste alors qu'ils arrivent. Vous avez la possibilité de recevoir les messages sous cette forme, mais si vous pouviez plutot vous abonner au condensé (digest), choisissez le plutôt. Le digest charge moins les machines qui servent les listes. Notez aussi qu'il n'est possible de poster qu'à partir de l'adresse où vous êtes enregistrés.
Pour plus de commandes, envoyez un email à masq-help@tori.indyramp.com.
Abonnez vous à la liste de développement de l'IP Masquerading, et contactez les grands développeurs là-bas, en envoyant un email à masq-dev-subscribe@tori.indyramp.com (ou pour le digest masq-dev-digest-subscribe@tori.indyramp.com).
NE posez pas de questions n'ayant pas de rapport avec le développement sur cette liste !!
Vous pouvez trouver plus d'informations sur l'IP Masquerading à Linux IP Masquerade Resource que David et moi maintenons. référez vous a la section 6.2 pour la disponibilité.
Vous pouvez aussi trouver plus d'informations à The Semi-Original Linux IP Masquerading Web Site maintenu par Indyramp Consulting, qui fournissent aussi les listes ipmasq.
Assurez vous que le langage dans lequel vous voulez traduire n'est pas déjà couvert par quelqu'un d'autre; une liste des traductions faites est disponible sur Linux IP Masquerade Resource.
Envoyez un email à ambrose@writeme.com et je vous enverrais la derniere version du SGML de ce HOWTO.
Oui, ce HOWTO est toujours maintenu. Il fut un temps ou j'étais coupable d'être trop occupé à travailler sur deux boulots et je n'ai pas beaucoup de temps pour travailler dessus, toutes mes excuses. Toutefois, avec l'arrivée de David Ranch et tant que mainteneur aux alentours de la version 1.5, les choses ont pas mal bougées.
Si vous pensez à un sujet qui devrais être inclus dans ce HOWTO, envoyez nous un email à ambrose@writeme.com et dranch@trinnet.net. Cela serais encore mieux si vous pouviez nous fournir cette information. David et moi inclurons cette information dans le HOWTO si elle nous semble appropriée. Et merci pour votre contribution.
Nous avons beaucoup de nouvelles idées et de plans pour mettre à jour ce HOWTO, comme des études de cas, qui couvreraient differentes configurations réseau mettant en jeu l'IP Masquerading, plus de choses sur la sécurité, l'utilisation d'ipchains, des exemples sur ipfwadm/ipchains, plus de FAQ, plus de choses sur les utilitaires de forwarding de port et de protocoles tels masqasmin, etc. Si vous pensez que vous pouvez aider, faites le. Merci.