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

5. Tester IP Masquerade

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 :

5.1 Tester les connexions locales

  • Première Etape : Tester les connexions locales entre les PC

    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
    

5.2 Tester les connexions internes du serveur Linux

  • Deuxième Etape : Tester les connexions internes du serveur Linux Sur le serveur MASQ lui-même, pinguez l'adresse IP de l'interface réseau du serveur MASQ (i.e. ping 192.168.0.1). L'outpout devrait ressembler à ça (faire Control-C pour arreter 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
    

5.3 Tester la Connection Externe du serveur Linux

  • Troisième Etape : Tester la Connection Externe du serveur Linux Ensuite pinguez l'adresse IP de l'interface réseau externe (carte réseau connectée à Internet). Cette adresse peut être reçue par PPP, Ethernet, etc. C'est la connexion vers votre FAI. Si vous ne connaissez pas cette adresse IP, executez la commande Linux "/sbin/ifconfig" sur le serveur MASQ Linux. L'output devrait ressembler à ça (nous cherchons l'adresse IP de l'interface eth0) :
    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
    

    Nous pouvons voir dans cet example que l'adresse IP externe est "12.13.14.15". Bon, maintenant que vous avez votre adresse IP après avoir lancé la commande "ifconfig", pinguez votre adresse IP externe. Nous aurons ainsi la confirmation que le serveur MASQ a bien toutes les connexions réseaux. L'outpout devrait ressembler à ça (faire Control-C pour arrêter le ping) :
    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
    

    Si l'un de ces tests ne fonctionne pas, vous devez repartir en arrière et vérifier une seconde fois vos cablages, et vérifier que vos deux NICs du serveur MASQ sont vu dans "dmesg". Un exemple de l'output se trouve vers la fin (END) de la commande "dmesg" :
    .
    .
    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:
    .
    .
    

    N'oubliez pas non plus de vérifier les configurations NIC de votre distrib Linux etc. suivant les recommandations qui se trouvent au début de ce HOWTO.

5.4 Tester les connexions locales des PC vers le serveur Linux

  • Quatrième Etape : Tester les connexions locales des PC vers le serveur Linux

    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).

5.5 Tester le forwarding des paquets internes MASQ ICMP

  • Cinquième Etape : Tester le forwarding des paquets internes MASQ ICMP

    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 :

    • "ifconfig" : Vérifiez que l'interface de votre connexion Internet (ppp0, eth0, etc.) est UP (en route) et que vous avez la bonne adresse IP pour votre connexion à Internet. Un exemple d'output est donne a l'ETAPE TROIS ci-dessus.
    • "netstat -rn" : Vérifiez que la passerelle par defaut (le .1 avec les adresses IP dans la colonne Gateway) est active. Par exemple, l'output devrait ressembler à ca :
      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
      

      Vous avez remarqué que la DERNIERE ligne commençait par 0.0.0.0? Vous avez remarqué qu'il y a une adresse IP dans le champ "Gateway" ? Vous devriez mettre une adresse IP pour votre propre configuration dans ce champ.
    • "cat /proc/sys/net/ipv4/ip_forward" : Vérifiez que vous avez un "1" qui montre que le forwarding sous Linux fonctionne
    • Lancez la commande "/sbin/ipchains -n -L" pour les utilisateurs du 2.2.x ou "/sbin/ipfwadm -F -l" pour les utilisateurs du 2.0.x. Regardez aussi la section sur le FORWARDing pour vérifier que vous avez activé MASQ. Voici un exemple de l'output d'IPCHAINS pour les utilisateurs des règles naives rc.firewall :
      .
      .
      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
      .
      .
      

5.6 Tester le forwarding de paquets MASQ ICMP externes

  • Sixième Etape : Tester le forwarding de paquets MASQ ICMP externes

    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.

5.7 Tester le fonctionnement de MASQ sans DNS

  • Septième Etape : Tester le fonctionnement de MASQ sans DNS

    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.
    

5.8 Tester le fonctionnement de MASQ avec DNS

  • Huitième Etape : Tester le fonctionnement de MASQ avec DNS

    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 .

5.9 Tester plus de fonctionnalités de MASQ avec DNS

  • Neuvième Etape : Tester plus de fonctionnalités de MASQ avec DNS

    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é).

5.10 S'il reste des problèmes de fonctionnement, performances etc.

  • Dixième Etape : S'il reste des problèmes de fonctionnement, performances etc.

    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é.


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