Enfin, il est temps de faire un essai officiel de l'IP Masquerading après ce dur labeur. Si vous n'avez pas encore redémarré votre serveur Linux, faites le pour être sur que la machine démarre bien, exécute les scripts /etc/rc.d/rc.firewall etc. Ensuite, vérifiez que les connexions internes de votre LAN et les connexions de votre serveur Linux avec Internet fonctionnent bien.
Faites ces -10- tests pour être sur que les différents aspects de votre configuration MASQ fonctionnent correctement :
A partir d'un ordinateur MASQué interne, essayez de pinguer sa propre adresse IP locale (i.e. ping 192.168.0.10 ). Ce test va vérifier que TCP/IP fonctionne bien sur la machine locale. Presque tous les systèmes d'exploitation modernes ont une commande ping integrée. Si ce ping ne fonctionne pas, vérifiez que vous avez correctement configuré le PC MASQué comme décrit plus tôt dans la section Configuring-clients de ce HOWTO. L'output devrait ressembler à ça (faire Control-C pour arrêter le ping) :
masq-client# ping 192.168.0.10 PING 192.168.0.10 (192.168.0.10): 56 data bytes 64 bytes from 192.168.0.10: icmp_seq=0 ttl=255 time=0.8 ms 64 bytes from 192.168.0.10: icmp_seq=1 ttl=255 time=0.4 ms 64 bytes from 192.168.0.10: icmp_seq=2 ttl=255 time=0.4 ms 64 bytes from 192.168.0.10: icmp_seq=3 ttl=255 time=0.5 ms --- 192.168.0.10 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.4/0.5/0.8 ms
masq-client# ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes 64 bytes from 192.168.0.1: icmp_seq=0 ttl=255 time=0.8 ms 64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=0.4 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.4 ms 64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.5 ms --- 192.168.0.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.4/0.5/0.8 ms
eth0 Link encap:Ethernet HWaddr 00:08:C7:A4:CC:5B inet addr:12.13.14.15 Bcast:64.220.150.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6108459 errors:0 dropped:0 overruns:0 frame:0 TX packets:5422798 errors:8 dropped:0 overruns:0 carrier:8 collisions:4675 txqueuelen:100 Interrupt:11 Base address:0xfcf0
masq-server# ping 12.13.14.15 PING 12.13.14.15 (12.13.14.15): 56 data bytes 64 bytes from 12.13.14.15: icmp_seq=0 ttl=255 time=0.8 ms 64 bytes from 12.13.14.15: icmp_seq=1 ttl=255 time=0.4 ms 64 bytes from 12.13.14.15: icmp_seq=2 ttl=255 time=0.4 ms 64 bytes from 12.13.14.15: icmp_seq=3 ttl=255 time=0.5 ms --- 12.13.14.15 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.4/0.5/0.8 ms
. . PPP: version 2.3.7 (demand dialling) TCP compression code copyright 1989 Regents of the University of California PPP line discipline registered. 3c59x.c:v0.99H 11/17/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/ vortex.html eth0: 3Com 3c905 Boomerang 100baseTx at 0xfe80, 00:60:08:a7:4e:0e, IRQ 9 8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface. MII transceiver found at address 24, status 786f. Enabling bus-master transmits and whole-frame receives. eth1: 3Com 3c905 Boomerang 100baseTx at 0xfd80, 00:60:97:92:69:f8, IRQ 9 8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface. MII transceiver found at address 24, status 7849. Enabling bus-master transmits and whole-frame receives. Partition check: sda: sda1 sda2 < sda5 sda6 sda7 sda8> sdb: . .
Sur un ordinateur interne MASQué, essayez de pinguer l'adresse IP de la carte Ethernet interne du serveur de Masquerading, (i.e. ping 192.168.0.1). On va ainsi vérifier que le réseau interne et le routage sont corrects. L'outpout devrait ressembler à ça (faire Control-C pour arrêter le ping) :
masq-client# ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes 64 bytes from 192.168.0.1: icmp_seq=0 ttl=255 time=0.8 ms 64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=0.4 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.4 ms 64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.5 ms --- 192.168.0.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.4/0.5/0.8 ms
Si le test échoue, vérifiez les connexions entre les cartes Ethernet sur le serveur MASQ et les ordinateurs MASQués. En général il y a une LED derrière chaque carte Ethernet et il y en aussi sur les hub/switch Ethernet (si vous en utiliser un). Si c'est ça le problème, vérifiez que l'ordinateur MASQué interne est configuré correctement comme indiqué dans la section Configuring-clients . Si le client MASQué est correctement configuré, vérifiez une seconde fois votre cablage réseau et vérifiez que les LED s'allument bien de chaque côté des cables (carte Ethernet des clients et cartes Ethernet INTERNES du serveur Linux).
A partir d'un ordinateur MASQué interne, pinguez l'adresse IP externe du serveur MASQ optenue à l'étape TROIS ci-dessus. Cette adresse est votre adresse PPP, Ethernet, etc. fournie par votre FAI. Ce ping va prouver que le masquerading fonctionne (spécifiquement ICMP Masquerading).
Si ca ne marche pas, vérifiez d'abord que la "Passerelle par Defaut" du PC MASQué pointe vers l'adresse IP du serveur MASQ interne. Vérifiez aussi que le script /etc/rc.d/rc.firewall a fonctionné sans erreurs. Juste pour faire un test, lancer de nouveau le script /etc/rc.d/rc.firewall pour voir si tout se passe bien. Vérifiez aussi, puisque la plupart des noyaux le gérent par defaut, que vous avez activé l'"ICMP Masquerading" dans la configuration noyau et que vous avez aussi activé l'"IP Forwarding" dans votre script /etc/rc.d/rc.firewall.
Si vous ne pouvez toujours pas faire fonctionner tout ça, jetez un coup d'oeil à l'output de cette commande sur votre serveur Linux MASQ :
masq-server# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.0.1 0.0.0.0 255.255.255.255 UH 0 16384 0 eth1 12.13.14.15 0.0.0.0 255.255.255.255 UH 0 16384 0 eth0 12.13.14.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 0 16384 0 lo 0.0.0.0 12.13.14.1 0.0.0.0 UG 0 16384 0 eth0
. . Chain forward (policy REJECT): target prot opt source destination ports MASQ all ------ 192.168.0.0/24 0.0.0.0/0 n/a ACCEPT all ----l- 0.0.0.0/0 0.0.0.0/0 n/a . .
Essayer de pinguer à partir d'un ordinateur MASQué interne une IP static d'Internet (i.e. ping 152.19.254.81 (c'est le - http://metalab.unc.edu - home of MetaLabs' Linux Archive). Si ca ne fonctionne pas, vérifiez de nouveau votre connexion à Internet. Si ca ne marche toujours pas, vérifier que vous utilisez bien les règles naives rc.firewall et que vous avez bien compilé l'ICMP Masquerading dans votre noyau linux. Vérifiez aussi que vos règles qui activent IP MASQ pointent vers la bonne interface EXTERNE.
Maintenant essayez de vous connecter par Telnet à une adresse IP distante (i.e. telnet 152.2.254.81 (metalab.unc.edu - NB : ca peut prendre du temps avant que vous ne voyiez apparaître le prompt de login parce que c'est un serveur TRES chargé). Avez vous reçu le prompt du login après un certain laps de temps ? Si ça a marché, c'est que le TCP Masquerading fonctionne bien. Si ça n'a pas marché, essayez de faire un Telnet vers un autre serveur qui pourrait accepter les TELNET, comme 198.182.196.55 (www.linux.org). Si ca ne fonctionne toujours pas, vérifiez que vous utilisez bien les règles naives rc.firewall. Un exemple de ce que vous devriez voir est donne ici (pressez Control-D pour sortir de TELNET) :
masq-client# telnet 152.2.254.81 Trying 152.2.254.81... Connected to 152.2.254.81. Escape character is '^]'. SunOS 5.7 ******************** Welcome to MetaLab.unc.edu ******************* To login to MetaLab as a user, connect to login.metalab.unc.edu. This machine allows no public telnet logins. login: Connection closed by foreign host.
Maintenant essayez de faire un TELNET vers un HOSTNAME (i.e. "telnet metalab.unc.edu" (152.2.254.81). Si ça marche, c'est que le DNS fonctionne bien aussi. Si ça ne marche pas mais que l'etape SIX fonctionnait, vérifiez que vous avez entré des DNS valides dans votre ordinateur MASQué comme le montre la section Configuring-clients .
Comme dernier test, essayez de surfer sur quelques sites 'INTERNET' WWW à partir des vos machines MASQuées, et regardez si ca fonctionne. Par exemple, accedez au site Linux Documentation Project. Si ça marche, vous pouvez être presque sûr que tout fonctionne BIEN ! Si certains sites ne fonctionnent pas bien la où les autres semblent fonctionner correctement, regardez les étapes suivantes pour essayer de trouvez les causes.
Si vous voyez la page d'accueil de la The Linux Documentation Project, alors, FELICITATIONS ! Ca marche ! Si ce site Web s'affiche correctement, alors tous les autres protocoles réseaux standards tels que PING, TELNET, SSH, et avec leurs modules IP MASQ respectifs chargés : FTP, Real Audio, IRC DCCs, Quake I/II/III, CuSeeme, VDOLive, etc. devraient aussi fonctionner correctement ! Si FTP, IRC, RealAudio, Quake I/II/III, etc. ne fonctionnent pas correctement, ou de manière peu performante, vérifiez que leurs modules Masquerading associés sont chargés en lancant la commande "lsmd" et vérifiez aussi que vous chargez les modules quand les ports ne sont pas les ports par défaut. Si vous ne voyez pas les modules dont vous avez besoin, vérifiez que le script /etc/rc.d/rc.firewall les charge bien (i.e. enlevez les caractères # pour un module IP MASQ donné).
Si votre système a passé avec succès tous les tests mais que quelques trucs genre le surf sur les sites WWW, le FTP, et d'autres types de traffic ne sont pas fiables, je vous recommande de lire l'entrée MTU-issues de la FAQ dans la Section 7. Il peut aussi y avoir d'autres éléments de la FAQ qui puissent vous aider autant que les nombreux utilisateurs qu'ils ont aidés par le passé.