Nom:Numéro:Réseau IP ... SERVERS:2:193.48.57.32/255.255.255.224 STUDENTS:4:172.26.16.0/255.255.240.0 ...
auto lo vlan2 vlan4 iface lo inet loopback iface vlan2 inet dhcp vlan-raw-device eth0 iface vlan4 inet dhcp vlan-raw-device eth0
device vlan4 { nodns nogateway }
Pour définir les sous-interfaces avec des noms de type eth0.xx, il suffit d'utiliser les commandes :vconfig add eth0 2 vconfig add eth0 4Si l'on souhaite avoir des noms de la forme vlanxx, il faut taper la commande ci-dessous avant les vconfig add :vconfig set_name_type VLAN_PLUS_VID_NO_PAD
L'interface doit être configurée en mode trunk :Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#interface gigabitEthernet0/4 Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#exit Switch(config)#
D'après les fichiers fournis, Artois ne semble disposer que d'une interface physique eth0, l'interface lo ne pouvant pas vraiment compter comme interface physique.
Le fichier interfaces indique que les interfaces lo, vlan2 et vlan4 vont recevoir une adresse IP (mot-clef auto). L'adresse IP de lo sera 127.0.0.1. Les adresses de vlan2 et vlan4 ne peuvent pas être données exactement : elles sont obtenues par DHCP. L'adresse de vlan2 sera dans le réseau 193.48.57.32/27 et l'adresse de vlan4 dans le réseau 172.26.16.0/20.
Interface Masque Réseau Diffusion lo 255.0.0.0 127.0.0.0 127.255.255.255 vlan2 255.255.255.224 193.48.57.32 193.48.57.63 vlan4 255.255.240.0 172.26.16.0 172.26.31.255
Le fichier indique que les informations DHCP reçues pour l'interface vlan4 et concernant les serveurs DNS et le routeur par défaut ne doivent pas être prises en compte. Sinon il y aurait, en particulier, deux routes par défaut, dont une ne menant que sur un réseau privé. Suivant les fois la route par défaut pourrait être celle menant vers Internet ou celle menant vers le réseau privé (et dans ce cas Internet ne serait pas joignable d'Artois ce qui est gênant pour un proxy-web et un serveur web).
ip_forward=yes spoofprotect=no syncookies=noRépondez, ensuite, à ces quelques questions au sujet du routage :
Oui le routage est activé car l'option ip_forward=yes du fichier /etc/network/options positionne le drapeau /proc/sys/net/ipv4/ip_forward du noyau à 1 (comportement spécifique à la distribution Debian).
La configuration des interfaces vlan2 et vlan4 par DHCP implique les deux entrées ci-dessous dans la table de routage :
Réseau Masque Passerelle 193.48.57.32 255.255.255.224 0.0.0.0 172.26.16.0 255.255.240.0 0.0.0.0
Ensuite nous savons qu'une seule passerelle par défaut sera ajoutée; celle concernant l'interface vlan2. L'adresse de la passerelle est la première adresse IP libre dans le réseau associé au VLAN SERVERS (principe adopté à Polytech'Lille) :
Réseau Masque Passerelle 0.0.0.0 0.0.0.0 193.48.57.33
La seconde option spoofprotect=no désactive la protection contre le routage abusif. Par routage abusif on entend routage de paquet provenant d'une interface inattendue. La protection est désactivée sur Artois car dans l'exemple de l'utilisation du proxy officiel de l'école à partir des machines de TP, la machine Artois (qui est le proxy web) va voir arriver par l'interface vlan2 un paquet d'une machine du VLAN STUDENTS. Ceci sera indument pris pour une tentative d'usurpation d'adresse IP et le paquet sera détruit (j'avoue la question était difficile, j'ai personnellement mis 6 mois pour trouver le problème).
Cette option (si elle est positionnée à yes) permet d'éviter les inondations de paquets TCP portant la marque SYN. Le but de l'inondation est d'envoyer un maximum de tels paquets (qui sont des paquets de demande d'établissement de connexions TCP) pour saturer la file des connexions en devenir. La parade consiste à ne pas avoir de telle file d'attente et à stocker toutes les informations sur la connexion en devenir dans le numéro de séquence initiale TCP. Cela dit la parade n'est pas parfaite car cette technique laisse le champ libre à des détournements de connexions TCP.
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere artois.escaut.net tcp dpt:2121 to:172.26.16.4:21 DNAT tcp -- anywhere artois.escaut.net tcp dpt:2222 to:172.26.16.4:22 DNAT tcp -- anywhere artois.escaut.net tcp dpt:2323 to:172.26.16.4:23 DNAT tcp -- anywhere artois.escaut.net tcp dpts:50100:50110 to:172.26.16.4 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- hainaut.studserv.deule.net anywhere MASQUERADE tcp -- net-students.deule.net/20 anywhere tcp dpt:ftp MASQUERADE tcp -- net-students.deule.net/20 anywhere tcp dpt:pop3 MASQUERADE tcp -- net-students.deule.net/20 anywhere tcp dpt:nntp Chain OUTPUT (policy ACCEPT) target prot opt source destination
Non : la table de filtrage est vide et les politiques par défaut sont de tout laisser passer. Artois ne fait pas de filtrage de paquets, par contre il agit en tant que mandataire (proxy) puisque la table nat (translation d'adresse) contient un certain nombre de règles.
La première règle dans la chaîne POSTROUTING de la table nat de la machine Artois implante un mécanisme de mascarade total (tous les protocoles IP) au bénéfice de la machine Hainaut. Donc si cette machine a une route par défaut passant par Artois, elle pourra contacter les machines d'Internet bien qu'elle ne possède pas d'adresse IP routée. Par contre Hainaut ne peut pas être contactée en provenance d'Internet.
Oui les règles 2 à 4 dans la chaîne POSTROUTING de la table nat de la machine Artois implante un mécanisme de mascarade pour les ports TCP 21,110 et 119. En clair cela signifie que les machines de TP peuvent accéder aux serveurs FTP, POP et aux serveurs de News d'Internet malgré le fait qu'elles ne possèdent pas d'adresses IP routées.
La règle concernant le port ssh est une redirection de port (avec état). Les paquets arrivant sur le port 2222 de la machine Artois sont redirigés vers le port 22 de la machine Weppes. Il faut bien comprendre que le mécanisme inverse est aussi mis en place : lorsqu'un paquet revient du port 22 de Weppes sur Artois, il est vérifié qu'il s'agit de la réponse à un paquet redirigé et si c'est le cas, le port source et l'adresse IP source de ce paquet sont changés en le port 2222 et en l'adresse IP d'Artois. Ainsi la réponse peut être comprise par la machine d'Internet ayant initié la contact. Lorsqu'Artois reçoit un paquet provenant du port 22 de Weppes, il peut savoir s'il s'agit de la réponse à un paquet redirigé en regardant le port destination qu'il a lui même choisi comme port source lors de la redirection. Pour un non-informaticien il suffit de dire qu'il s'agit d'un service d'accès à la machine Weppes de l'extérieur du campus de Lille 1.
Il s'agit de la première règle de la table nat dans la chaîne PREROUTING. De l'extérieur du campus un utilisateur doit utiliser une commande du type :ftp proxy.polytech-lille.fr 2121Il faut savoir que proxy.polytech-lille.fr est un alias DNS vers artois.escaut.net).
artois# conntrack-viewer.pl -m Active MASQUERADED Connections according to /proc/net/ip_conntrack Proto Source Address Remote Address Service State tcp 172.26.16.4:20 192.94.73.35:52187 ftp-data TIME_WAIT weppes.studserv.deule.net > sdf-eu.org tcp 172.26.16.4:20 192.94.73.35:52181 ftp-data ESTABLISHED weppes.studserv.deule.net > sdf-eu.org
Lorsque le module en question voit passer dans un paquet FTP à rediriger sur Weppes une commande FTP de type PORT, il sait que le client FTP extérieur s'apprête à demander un transfert de données pour lequel Weppes doit se connecter sur la socket TCP dont l'adresse est donnée en argument de la commande PORT. Le module d'Artois s'arrange donc pour que la connexion de Weppes vers le client puisse s'effectuer (mise en place d'une mascarade pour cette connexion précise).
# This host is behind a firewall passive address 172.26.16.4 193.48.57.32/27 passive address 172.26.16.4 193.48.64.0/24 passive address 172.26.16.4 172.26.32.0/20 passive address 193.48.57.37 0.0.0.0/0 passive ports 193.48.57.32/27 1024 50000 passive ports 193.48.64.0/24 1024 50000 passive ports 172.26.32.0/20 1024 50000 passive ports 0.0.0.0/0 50100 50110
Le serveur Artois se trouve comme toute machine du campus de Lille 1 derrière un pare-feu. Il faut demander explicitement à ouvrir des ports pour autoriser un service. Dans le cas de transferts FTP passifs c'est assez difficile car le transfert se fait à partir d'un port TCP quelconque du serveur FTP. Le fichier de configuration du serveur FTP Weppes fixe les numéros de ports pour les transferts passifs (du moins ceux à destinations de l'Internet) entre 50100 et 50110 (ce qui a le désagréable effet de bord de limiter le nombre de transferts passifs simultanés). Il est ensuite assez simple de demander l'ouverture de ces ports pour Artois puis de les rediriger par DNAT sur Weppes (dernière règle de PREROUTING de la table nat).