Passerelle IPTABLES

Salut
Alors voila j'ai un serveur que j'aimerai mettre en tant que passerrelle. J'ai une carte réseau(eth0) connecté à internet et une carte réseau(eth1) connecté au réseau local.
Alors voila j'aimerai que le réseau local puisse accéder à internet en passant pas le serveur qui fera office de passerelle.
Alors si vous pourriez m'aider a configurer mon serveur avec iptables ca serait sympa merci.
Configuration: Windows Vista
Internet Explorer 7.0

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Tu n'as pas préciser si tu as un ip fix.
    Si c'est un IP dynamique il faut utiliser la cible MASQUERADE au lieu de SNAT

    Tu peux t'inspirer en utilisant ce cas.
                         web
                           |
                        freebox
                           |
              routeur Netgear:10.0.0.254
                           |
                        debian
              (passerelle défaut: 10.0.0.254)
                    DNS1:212.27.32.xxx
                    DNS2:212.27.32.yyy
               |                           |
     eth0:10.0.0.2/24 (wan)  eth1:192.168.1.1/24 (LAN)
                                       |
                                     WinXP
                                       |
                                Lan:192.168.1.2 
                         (passerelle défaut: 192.168.1.1)
                               DNS1:212.27.32.xxx
                               DNS2:212.27.32.yyy

    Le firewall sur le serveur (donc win va sur net via debian) - à adapter dans ton cas
    #! /bin/sh
    #
    # Description: configuration de firewall netfilter/iptables
    #
    # Initialization de la table FILTER
    #
    iptables -F
    iptables -X
    iptables -P INPUT   DROP 
    iptables -P OUTPUT  DROP
    iptables -P FORWARD DROP # les 3 cmd presque la debranchement des cables
    # Initialization de la table NAT
    #
    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -P PREROUTING    ACCEPT
    iptables -t nat -P POSTROUTING   ACCEPT
    iptables -t nat -P OUTPUT        ACCEPT
    #
    # Initialisation de la table MANGLE
    #
    iptables -t mangle -F
    iptables -t mangle -X
    iptables -t mangle -P PREROUTING    ACCEPT
    iptables -t mangle -P INPUT         ACCEPT
    iptables -t mangle -P OUTPUT        ACCEPT
    iptables -t mangle -P FORWARD       ACCEPT
    iptables -t mangle -P POSTROUTING   ACCEPT
    # interface lo
    iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
    iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
    #                            table FILTER
    # chaine INPUT
    iptables -A INPUT -i eth0 -d 10.0.0.2 -m state --state ESTABLISHED,RELATED -j ACCEPT
    # chaine FORWARD
    iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.2 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.2 -d 10.0.0.0/0 -m state --state ! INVALID -j ACCEPT
    # chaine OUTPUT
    iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
    iptables -A OUTPUT -o eth1 -m state --state ! INVALID -j ACCEPT
    #                        table NAT
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.2 -j SNAT --to-source 10.0.0.2

    Configurer le forwarding(3 variantes - je préfére la 3ème) :
    1. echo 1 > /proc/sys/net/ipv4/ip_forward tu as 2 posibilités :
    2. écrire cette ligne dans /etc/init.d/rc.local
    3. ajouter dans le fichier /etc/sysctl.conf la ligne
    net.ipv4.ip_forward=1
    1. Oui c'est tout du debian je suis en stage, c'est pas moi qui décide lol(c'est pas grave ca me fait la main)^^
      1. Ah oui mince, dans ma précipitation je n'ai pas dis l'esentiel, je suis sur Linux(debian exactement) et mon serveur est directement sur le net(il ne passe pas par un routeur).
        Voila.
        1. Modérateur
          Salut

          tu passes par un routeur ou ton server et lié directement sur net?
          ton pc en local c'est un linux ou un windows?