Infrastructure réseau du CNF de Rabat avant son déménagement du 15/06/2009

1. Description générale

Le CNF de Rabat est équipé d'une Liaison Spécialisée (Maroc Telecom) de 256 Kbps et d'une liaison ADSL (Maroc Telecom) de 20 Mbps.

Les réseaux intranet (10.131.1.0/24), Formations/Centre de Ressources (192.168.1.0/24) et Accès Libre/Espace Linux (192.168.2.0/24) sont étanches les uns par rapport aux autres. Seules certaines machines du réseau intranet (10.131.1.0/24) communiquent avec les deux autres réseaux (supervision du Responsable).

2. Plan d'adressage

Le CNF de Rabat dispose d'une plage 194.204.226.64/27 divisée en deux DMZs :

Le Pare-feu assure le lien entre la DMZ 194.204.226.80/28 et la DMZ 194.204.226.64/28

                                                         |P|----(DMZ Services Communs 194.204.226.64/28)
                                                         |A|
                                                         |R|----(LAN Rabat 10.131.1.0/24)
----(ADSL)--[ROUTEUR/MODEM ADSL]---(DMZ 192.168.3.0/30)--|E|----(LAN Formations/Centre de Ressources 192.168.1.0/24)
                                                         |-|----(LAN Accès Libre/Espace Linux 192.168.2.0/24)
----(LS)----[ROUTEUR CISCO]---(DMZ 194.204.226.80/28)----|F|
                                                         |E|----(RPV Paris 10.72.0.0/24)
                                                         |U|----(RPV Montréal 10.36.0.0/24)

Configuration de routage du Routeur 194.204.22.81

Hôtes serveurs

IP

Gateway

Système

Commentaire

n/a

194.204.226.81

n/a

n/a

Routeur Cisco

n/a

192.168.3.2

n/a

n/a

Modem Routeur ADSL

cnf.ma.auf.org

194.204.226.82

194.204.226.81

Debian Etch Linux 2.6.18-6-k7

Pare-feu, SNAT, DHCP, DNS interne, RPV

visio.ma.auf.org

194.204.226.83

194.204.226.81

n/a

Système de Visio Conférence

rabat.ma.auf.org

194.204.226.66

194.204.226.65

Debian Etch Linux 2.6.18-6-k7

DNS, Messagerie, Web, FTP, Listes, VOIP

casablanca.ma.auf

192.168.1.4

192.168.1.1

Debian Etch Linux 2.6.18-6-k7

Web, Samba, CMS, FTP, Moodle, Zope

Clients

Nb

Systèmes d'exploitation

Commentaire

Salle FOAD

17

Dual boot Windows XP / Ubuntu Hardy Heron 8.04

mise en service 2005

Salle formation

17

Ubuntu Hardy Heron 8.04

mise en service 2005

Espace libre accès

10

Dual boot Windows XP Home / Ubuntu Hardy Heron 8.04

mise en service 2005

Espace centre de ressources

8

Ubuntu Hardy Heron 8.04

mise en service 2005

Espace Linux

3

Ubuntu Hardy Heron 8.04

mise en service 2005

Personnels CNF

3

Dual boot Windows XP / Ubuntu Hardy Heron 8.04

mise en service 2005

3. Equilibre des charges

L'objectif est de répartir le trafic Internet sur les deux lignes de manière transparente et automatique.

Les services dirigés vers l'ADSL sont principalement : HTTP, HTTPS, FTP. Les autres sevices seront redirigés vers la LS

Deux tables de routage avec (2 "default route") en sortie du Pare-Feu, l'une sur l'ADSL et l'autre sur la LS.

Prérequis : IPROUTE + IPTABLES

1.Configuration IPROUTE

# reserved values
255     local
254     main
253     default
0       unspec
1       ADSL

ip route show table main | grep -Ev ^default \
 while read ROUTE ; do
 ip route add table 1 $ROUTE
done
ip route add table 1 default via 192.168.3.2

# Controle du routage ADSL 
cnf:/# ip route show table 1
192.168.3.0/30 dev eth5  proto kernel  scope link  src 192.168.3.1 
194.204.226.80/28 dev eth0  proto kernel  scope link  src 194.204.226.82 
194.204.226.64/28 dev eth4  proto kernel  scope link  src 194.204.226.65 
192.168.2.0/24 dev eth3  proto kernel  scope link  src 192.168.2.1 
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.1 
10.131.1.0/24 dev eth1  proto kernel  scope link  src 10.131.1.1 
default via 192.168.3.2 dev eth5

2. Configuration IPTABLES

### HTTP
iptables -A PREROUTING -t mangle -i eth2 -s $LOCALNET2 -p tcp --dport 80 -j MARK --set-mark 1
### HTTPs
iptables -A PREROUTING -t mangle -i eth2 -s $LOCALNET2 -p tcp --dport 443 -j MARK --set-mark 1
### FORWARD
iptables -t nat -A POSTROUTING -o eth5 -s $LOCALNET2 -j SNAT --to-source 192.168.3.1
iptables -A FORWARD -i ! eth5 -o eth5 -s "$LOCALNET3"  -j ACCEPT

Ne pas oublier de lancer un "iptables -t mangle -F" si les règles du pare-feu sont lancées successivement.

3. Application de la règle de marquage

 cnf:/# ip rule add fwmark 1 table 1

cnf:/# ip rule show
0:      from all lookup 255 
32765:  from all fwmark 0x1 lookup ADSL 
32766:  from all lookup main 
32767:  from all lookup default

Les requêtes HTTP; HTTPs et FTP sont par conséquent redirigées vers l'ADSL (<20Mbps). Les autres requêtes circulent par la LS (256Kbps).

4. Un petit script permettant d'activer ou de désactiver la redirection du trafic (demande a être amélioré)

update-rc.d adsl defaults".

cnf:/# /etc/init.d/adsl stop

# Script contenant les règles pour activer la ligne ADSL 

GW="192.168.3.2"

case "$1" in
   start)
###################################
# Controle de l'existence de la table
if grep -q ADSL /etc/iproute2/rt_tables
then
        echo "La table ADSL est deja identifiee."
else
        echo "1 ADSL" >> /etc/iproute2/rt_tables
fi
# fin
####################################
# On s'assure qu'il n'y a pas déjà de route ADSL
 echo  "Flush de la route ADSL"
 ip route flush table ADSL
# On s'assure qu'il n'y a pas déjà de règle ADSL sur le routage
 echo  "Flush de la regle ADSL"
 ip rule del table ADSL
# On créer une route secondaire indentifier par le numéro (ou le nom) de table secondaire
# et dans laquelle on intègre l'ensemble des routes de la table primaire "main".
 ip route show table main | grep -Ev ^default |
 while read ROUTE ; do ip route add table ADSL $ROUTE ; done
# On ajoute la "default route" dans la table ADSL
 ip route add table ADSL default via $GW
#On controle l'existence du routage ADSL 
 echo "Liste des routes de la tables ADSL:"
 ip route show table ADSL

## On ajoute la règle correspondant au marquage d'Iptables
 ip rule add fwmark 0x1 table ADSL
# On controle que la règle est bien appliqué
 echo "Lite des regles appliquees sur le routage :"
 ip rule show
# On vide le traffic en cache
 ip route flush cache

        echo "LA ROUTE ADSL EST ACTIVEE."
        ;;
   stop)
   echo  "On désactive la route et les regles ADSL:"
        #echo -n "Flush de la route ADSL"
        ip route flush table ADSL
        #echo -n "Flush de la regle ADSL"
        ip route flush cache
        ip rule del table ADSL
        echo "LA ROUTE ADSL EST DESACTIVEE."
        ;;
  restart)
        $0 stop
        /bin/sleep 2
        $0 start
        ;;
   *)
 echo "Usage: /etc/init.d/adsl {start|stop|restart}"
        exit 1
        ;;
esac

ZM/RabatAncien (dernière édition le 2012-04-09 02:46:25 par JeanChristopheAndré)