« Utiliser 2 accès ADSL » : différence entre les versions

De wikilivois
Aller à la navigationAller à la recherche
 
m (1 version)
 
(Aucune différence)

Version actuelle datée du 28 mai 2012 à 20:31

Objectif et contexte

Objectif

Utiliser 2 accès ADSL pour :

  • assurer la disponibilité de l'accès internet
  • fiabiliser l'hébergement d'un serveur web/mail

Schéma réseau

  • 2 arrivées ADSL par 2 FAI différents (Free et Tele2)
  • 1 serveur avec 3 cartes réseaux:
    • eth0 (Free),
    • eth1 (Réseau local - LAN),
    • eth2 (Tele2)


                                                                  ________
                                          +-------------+        /
                                          |             |       |
                            +-------------+  FreeBox    +-------
        __                  |             |             |      /
    ___/  \_         +------+-------+     +-------------+     |
  _/        \__      | if0 = eth0   |                        /
 /             \     | 82.226.44.52 |                       |
|               \    |              |                       |
| Local network -----+ Linux router |                       |     Internet 
 \_           __/    |              |                       |
   \__     __/       |  if2 = eth2  |                       |     (DNS, SMTP)
     \     /         | 192.168.1.64 |                        \
      \___/          +------+-------+     +-------------+     |
                            |             |             |      \
                            +-------------+  Tele2Box   +-------
                                          |192.168.1.254|       |       
                                          +-------------+        \________

L'adresse IP sur la patte Free est publique et fixe.

L'adresse IP sur la patte Tele2 est privée. L'adresse publique est sur la patte internet de la Tele2Box. Cette adresse est dynamique.

Configuration réseau du routeur linux

http://lartc.org/howto/lartc.rpdb.multiple-links.html

http://linux-net.osdl.org/index.php/Iproute2

http://www.policyrouting.org/iproute2.doc.html

Configuration

ip route add 82.226.44.0/24 dev eth0 src 82.226.44.52 table 1
ip route add default via 82.226.44.254 dev eth0 table 1

ip route add 192.168.1./24 dev eth2 src 192.168.1.64 table 2
ip route add default via 192.168.1.254 dev eth2 table 2

ip rule add from 82.226.44.52 table 1 prio 200
ip rule add from 192.168.1.64 table 2 prio 200

ip route add 192.168.10.0/24  dev eth1 table 1
ip route add 192.168.1.0/24  dev eth2 table 1
ip route add 127.0.0.0/8      dev lo   table 1
ip route add 192.168.10.0/24  dev eth1 table 2
ip route add 82.226.44.0/24   dev eth0 table 2
ip route add 127.0.0.0/8      dev lo   table 2


ip route add default scope global nexthop via 82.226.44.254 dev eth0 weight 1 \ 
                                  nexthop via 192.168.1.254 dev eth2 weight 1


#ip route show
212.247.156.12 via 192.168.1.254 dev eth2  src 192.168.1.64
212.27.48.4 via 82.226.44.254 dev eth0  src 82.226.44.52
82.226.44.0/24 dev eth0  proto kernel  scope link  src 82.226.44.52
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.64
192.168.10.0/24 dev eth1  proto kernel  scope link  src 192.168.10.1
127.0.0.0/8 dev lo  scope link
default
       nexthop via 82.226.44.254  dev eth0 weight 1
       nexthop via 192.168.1.254  dev eth2 weight 1

Test

ping -I eth0 www.google.fr
ping -I eth2 www.google.fr

Il est aussi important de réaliser un test physique (cad éteindre les box).

Assurer l'accès au DNS et aux serveurs smtp pour les 2 accès

Une problématique est d'assurer la présence d'accès au DNS et d'un relai smtp lorsqu'un des liens tombe.

permanence d'un accès DNS

Je vois trois solutions. Un serveur DNS doit être installé sur le serveur/routeur/firewall frontal. Il peut être paramétré de 3 façons différentes.

Utiliser des serveurs DNS ouverts

Utiliser par exemple opendns qui est accessible à tous. Je pense que c'est la solution la plus performante.

<licode file=/etc/bind/named.conf> options {

       directory "/var/bind";
       forward only; //recherhe via forwarders uniquement
       //forward first; //recherche via root si forwarders ne trouvent pas
       forwarders {
                 208.67.222.222;
                 208.67.220.220;
                   };

}; </licode>

Utiliser les serveurs DNS des 2 FAI

<licode file=/etc/bind/named.conf> options {

       directory "/var/bind";
       forward only; //recherhe via forwarders uniquement
       //forward first; //recherche via root si forwarders ne trouvent pas
       forwarders {
                 ip_fai1_1;
                 ip_fai2_1;
                 ip_fai1_2;
                 ip_fai2_2;
                  };

}; </licode>

Accéder directement aux serveurs root

Ne pas indiquer de forwarders dans les options mais définir la zone "." <licode file=/etc/bind/named.conf> zone "." IN {

       type hint;
       file "named.ca";

}; </licode>

relai smtp

Avec des accès ADSL, il est rapidemnt préférable d'utiliser des relais smtp car :

  • certains serveurs smtp refusent les mails qui viennent d'accès ADSL de particuliers
  • certains FAI (ex: Tele2) ont fermé le port 25 en sortie de leur réseau

Utiliser les serveurs smtp des FAI

  • Configurer les routes vers les serveurs SMTP

Il faut se connecter sur chaque serveur SMTP à partir de la patte du FAI associé. Les adresses des serveurs smtp sont listées sur Internet, par exemple sur next-adsl.com

Les serveurs smtp de Free et Tele2 sont respectivement :

  • smtp.free.fr (212.27.48.4)
  • smtp.tele2.fr (212.247.156.12)

La configuration des routes se fait via la commande ip route:

ip route add 212.27.48.4 via 82.226.44.254 dev eth0 src 82.226.44.52 
ip route add 212.247.156.12 via 192.168.1.254 dev eth2  src 192.168.1.64

Pour configurer les routes au redémarrage du serveur, il faut écrire les routes dans un script de démarrage.

  • Configuration Postfix

Configurer un serveur principal et un serveur de backup. Postfix va d'abord se connecter au serveur principal. Si l'accès est tombé, postfix se connectera alors au serveur secondaire (fallback).

<licode file=/etc/postfix/master.cf> relay unix - - n - - smtp

       -o fallback_relay=

</licode>

<licode file=/etc/postfix/main.cf> relayhost = [smtp.free.fr] smtp_fallback_relay = [smtp.tele2.fr]:submission </licode>

Remarque : Le FAI tele2 n'autorise qu'une connexion sur le port submission (587) avec login/mdp. Il faut donc configurer postfix en conséquence (smtp_sasl).cf http://www.postfix.org/SASL_README.html#client_sasl

<licode file=/etc/postfix/main.cf> smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/saslpass smtp_sasl_security_options = noanonymous </licode>

Remarque : L'option smtp_sasl_security_options est noanonymous, noplaintext par défaut. Cependant, il faut envoyer le mdp en texte clair pour tele2, d'où l'importance de cette option.

<licode file=/etc/postfix/saslpass>

  1. remotehost user:password

[smtp.tele2.fr]:submission user:password </licode>

#postmap /etc/postfix/saslpass

Utiliser des serveurs smtp ouverts

Une autre solution est d'utiliser un serveur smtp qui ne dépend d'aucun FAI. Il n'y a alors plus qu'un seul relai smtp à configurer.

Je n'en ai pas trouvé de gratuit.

Dans la catégorie payante, il existe:

  • rollernet qui autorise l'envoi de 150 e-mails/jour pour 35€/an

Hébergement web et mail - configurer le DNS externe

Tele2 n'attribue pas d'IP fixe. Il faut donc configurer le dyndns pour que le serveur web/mail soit accessible de l'extérieur.

DNS pour le web

<licode> www 3600 IN CNAME livois.homelinux.org. </licode> Il n'est pas possible de configurer de round robin DNS avec bind 9 si l'on ne dispose pas de 2 ip fixes.

DNS pour le mail

Pour le mail, il est très facile de définir un accès prioritaire. Les serveurs mails se connectent de préférence au serveur de poids le plus faible (mail.livois.com ici).

<licode> mail 28800 IN A 82.226.44.52 @ 28800 IN MX 10 mail.livois.com. @ 28800 IN MX 15 livois.homelinux.org. </licode>

Divers liens

Copyright

© 2009 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.