ADeLLA.org , ADeLLA.org
Accueil du site > Documentation > Réseau > Configurer une passerelle Internet sous Linux Mandriva

Configurer une passerelle Internet sous Linux Mandriva

lundi 10 avril 2006, par daniel


Objectif :

Configurer une passerelle Internet avec Linux/Webmin sous Mandriva. Nous n’utiliserons pas, dans un soucis pédagogique, l’outil graphique de Mandriva (MCC/Réseau/partager la connexion internet).

Prérequis :

- Savoir installer une Mandriva.
- Utiliser Webmin
- Configurer Iptables


Etude de cas :

Nous allons imaginer la configuration suivante :

- Notre réseau local à protéger du monde extérieur.
- Une connexion internet à partager car, dans notre cas de figure, il s’agit d’un modem (et non d’un routeur), notre FAI (Fournisseur Accès Internet) nous attribue donc qu’une adresse IP.

- le LAN (réseau local) sera raccordé sur eth0
- le WAN (Internet) sera raccordé sur eth1


Configurer vos interfaces :

A l’aide de Webmin : Réseau/Configuration Réseau/Interfaces réseau

Configurer l’interface côté LAN (eth0) :
- Static : 192.168.3.254
- Masque de sous-réseau : 255.255.255.0
- Adresse de diffusion : 192.168.3.255

Configurer l’interface côté WAN (eth1) :
- Par dhcp

Attention : Certains FAI utilisent pppoE (PPP over Ethernet), votre configuration est dans ce cas différente de cet exemple. Utilisez alors l’assistant de connexion à internet propre à Mandriva.

Démarrer les interfaces : service network restart

Vous pouvez vérifier votre configuration :
ifconfig (pour voir la configuration des interfaces)
route (pour voir la route par défaut, il s’agit de la passerelle de votre FAI)


Activer le Forwarding :

Pour qu’un paquet puisse transiter d’une interface à l’autre, vous devez activer le forwarding. Ajouter (s’il n’y est pas déjà) dans le fichier /etc/sysconfig/network : FORWARD_IPV4=true

Pour l’activer sans redémarrer : echo 1 > /proc/sys/net/ipv4/ip_forward

A partir de là, les paquets peuvent transiter librement car votre PC agit comme un routeur.


Installer un serveur d’adresses IP (DHCP) :

urpmi dhcp-server

Ce serveur va fournir automatiquement au client :
- Son adresse IP
- Le masque du réseau (subnet-mask)
- La passerelle par défaut (default gateway)
- Le serveur DNS

Contenu de /etc/dhcpd.conf :


ddns-update-style none;
subnet 192.168.3.0 netmask 255.255.255.0 {
        # default gateway
        option routers 192.168.3.254;
        option subnet-mask 255.255.255.0;

        option domain-name-servers 192.168.3.254;
        range dynamic-bootp 192.168.3.100 192.168.3.150;
        default-lease-time 86400;
        max-lease-time 28800;
}

Démarrer le service : service dhcpd restart


Installer un serveur cache DNS (caching-nameserver et ses dépendances) :

urpmi caching-nameserver

Un serveur cache DNS permet, comme son nom l’indique de mettre en cache les requêtes DNS. Il est nécessaire de l’installer car les clients de notre réseau local ont besoin d’accéder à un serveur DNS. L’adresse du serveur de noms est fournie au client par notre serveur DHCP. Comme notre FAI est susceptible de modifier sans préavis l’adresse de ses serveurs DNS, il nous faut un moyen de s’affranchir des serveurs de noms de notre hôte.

Voilà pourquoi un serveur cache DNS est nécessaire sur notre passerelle.

Démarrer le service : service named restart


Installer le paquetage iptables (pare-feu/NAT) :

urpmi iptables

Iptables permet de configurer des règles de pare-feu (voir Iptables) ainsi que d’activer le Masquerading.

Le masquerading permet de "cacher" toutes les adresses de notre réseau local. Les paquets partent sur internet avec comme adresse source l’adresse de la passerelle. Notre réseau local est invisible sur internet (rappelez-vous que nous n’avons qu’une adresse IP attribuée par notre FAI et qu’il faut la partager).

Webmin/Réseau/Linux Firewall

Aller dans la table NAT :

Ajouter une règle dans POSTROUTING : Masquerade - Si l’interface de sortie est eth1
Enregistrer et Appliquer la configuration.
service iptables restart

ou bien :
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables-save


Ce tutoriel ne se veut pas exhaustif mais peut vous aider à comprendre le fonctionnement d’une passerelle/Pare-feu Internet sous Linux. Les configurations pouvant changer en fonction de ce que vous voulez faire et de votre raccordement internet.

Il est possible aussi d’installer un serveur proxy (squid) sur notre passerelle (fonction de cache, contrôle parental,...).

Il se peut que vous ayez des problèmes notamment avec Wanadoo lors de l’envoi de courrier (smtp). Wanadoo considère que si l’on n’utilise pas son serveur DNS lors de la requête vers smtp.wanadoo.fr, nous sommes des spammeurs :-( .

La solution consiste à installer un serveur smtp (postfix) sur notre passerelle et de faire du relaying de smtp.
ajouter dans le fichier /etc/postfix/main.cf :
relayhost = smtp.wanadoo.fr
et modifier la configuration de vos clients pour qu’ils utilisent le smtp de votre paserelle (192.168.3.254) au lieu de celui de wanadoo.


Debug :

Vous pouvez utiliser les commandes suivantes dans une console (en tant que root)
- tail -f /var/log/messages pour visualiser les "logs" au fil de l’eau
- ping adresse_ip envoi une demande d’echo
- route connaitre les routes disponibles
- traceroute adresse_ip voir le cheminement des paquets
- nslookup nom_de_domaine réaliser une résolution de nom


09/04/2006

Répondre à cet article

4 Messages de forum

  • Pour ce qui est des DNS je propose une autre solution : mettre les DNS en dur dans le fichier /etc/resolv.conf sur les machines du réseau local :


    nameserver 193.51.24.1 # université de versailles
    nameserver 193.55.10.102 #université Paris Sud
    nameserver 83.217.93.246 #openic Belgique (pour les .geek et autres domaines alternatifs)
    nameserver 217.115.138.24 #openic Allemagne
    nameserver 193.55.10.101 #université Paris Sud

    Si au départ j’ai cherché des DNS alternatifs c’est suite à un mécontentement avec les DNS de wanadoo qui pratique le DNSHijack (cf archives de l a liste pour les détails)

    Répondre à ce message

    • Effectivement, c’est une solution. Par contre elle complique la configuration des postes clients (il peut y avoir beaucoup de machines avec des OS différents).

      L’avantage d’installer un serveur cache DNS est :
      - la simplicité (un paquet sur mesure à installer - sous Mandriva)
      - s’affranchir des DNS de notre FAI

      Répondre à ce message

  • Configurer une passerelle Internet sous Linux Mandriva

    11 octobre 2006 23:01, par bckiwi94

    Bonjour,

    Tout d’abord merci de votre tutorial. J’ai tenté la manip...retour d’expérience

    Freebox PC Celeron D 331 Mandriva 2007 Routeur Wifi D Link Réseau hétérogène Mac PC

    J’ai du ajouter la derniere ligne dans dhcpd.conf suite à un rapport d’echec.

    Je suis passé en mode bavard grace à /usr/sbin/dhcpd pour debugger http://tldp.org/HOWTO/DHCP/x369.html#AEN403

    ddns-update-style none ; subnet 192.168.1.0 netmask 255.255.255.0 # default gateway option routers 192.168.1.254 ; option subnet-mask 255.255.255.0 ; option broadcast-address 192.168.1.255 ;

    # Seting up an ip address is better here

    range dynamic-bootp 192.168.1.111 192.168.1.150 ; default-lease-time 86400 ; max-lease-time 28800 ; subnet mon.adresse.ip.0 netmask 255.255.255.0

    La table de routage est la suivante :

    Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth3 mon.adr.ip.0 * 255.255.255.0 U 0 0 0 eth1 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default mon.adr.ip.254 0.0.0.0 UG 0 0 0 eth1

    Je n’ai pas identifié la ligne 169.254.....J’aimerais bien savoir car le Mac commence par reconnaitre une adresse de ce sous réseau.Si je demande à renouveler le bail DHCP par la Mac celui-ci se connecte bien au serveur DHCP et se voit bien attribuer une adresse dynamique par le serveur sous Mandriva.

    Je n’ai pas pu recuperer les paquetages caching-nameserver. Ils sont bien sur les distro 2006 mais pas sur la 2007. Sans cela le mac ne se connecte pas sur Internet. J’ai bien essayé de récupérer nameserver sur une distro 2006—> erreur à l’installation.

    Enfin, je suis passé en mode graphique et la config m’amène au même constat d’echec.

    Avez-vous des conseils ?

    PS j’ai configuré les interfaces réseau "manuellement" car Webmin me donne le message d’erreur suivant dans network interfaces :

    Error - Perl execution failed

    Undefined subroutine &main ::active_interfaces called at /usr/share/webmin/net/list_ifcs.cgi line 12.

    Mon Pb viendrait-il de là ?

    Bruno

    Répondre à ce message


Suivre la vie du site | Valid HTML 4.01! | Valid CSS! | Plan du site | Espace privé | SPIP