Forwarding iptables

Résolu
Bonjour,

Je me lance dans iptables mais j' ai un problème avec le forwarding, je viens donc solliciter votre aide ou vos conseils.
Je voudrais autoriser les ports 80 et 443 sur ma carte lan.
je suis sur du ubuntu server 18.04.
J'ai un carte coté routeur "ens33" et une carte lan "ens37".
L 'ensemble de mes règles fonctionnent sauf le forwarding quand je met la politique par défaut en DROP. je suis obligé de mettre le FORWARD en ACCEPT pour que cela fonctionne. voila un extrait de ma config ce sera plus clair pour vous.

# 2. Politique par défaut
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP

# 15. Forward HTTP HTTPS ens33 vers ens37 poste 1

iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE

iptables -A PREROUTING -t nat -i ens33 -p tcp --dport 80 -j DNAT --to 192.168.3.2:80
iptables -A FORWARD -i ens33 -p tcp --dport 80 -d 192.168.3.2 -j ACCEPT

iptables -A PREROUTING -t nat -i ens33 -p tcp --dport 443 -j DNAT --to 192.168.3.2:443
iptables -A FORWARD -i ens33 -p tcp --dport 443 -d 192.168.3.2 -j ACCEPT

Cela fonctionne mais je souhaiterai avoir le FORWARD en DROP et la je sèche, je n'ai pas tout compris.

Merci d avance de votre aide.

Configuration: Windows / Chrome 73.0.3683.86

4 réponses

  1. Modérateur
    Hello,

    Je ne suis pas spécialiste d'
    iptables
    , mais si je m'en réfère à ce tutoriel, j'aurais dit
    iptables -A FORWARD -s ... -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
    en indiquant l'option
    -s ...
    l'IP appropriée.

    Bonne chance
    1. Merci,
      Je me replongerai dedans dès mon retour de vacances ????
  2. Modérateur
    Bonjour

    Est-ce que l'IP forwarding est activé dans
    /etc/sysctl.conf
    ?

    # Uncomment the next line to enable packet forwarding for IPv4
    #net.ipv4.ip_forward=1

    # Uncomment the next line to enable packet forwarding for IPv6
    # Enabling this option disables Stateless Address Autoconfiguration
    # based on Router Advertisements for this host
    #net.ipv6.conf.all.forwarding=1


    Bonne chance
    1. Bonjour Mamiemando et merci de ta réponse.

      Oui l' IP Forwarding est activé.
      J'arrive à forwarder le RDP. J 'ai :
      • une carte WAN
        ens33
        (
        192.168.10.100
        ),
      • une carte LAN
        ens37
        (
        192.168.1.2/32
        ),
      • une carte hors WAN
        ens35
        (
        192.168.1.0/26
        ), notée $DC1 dans le script suivant.


      $DC1
      ne communique volontairement pas avec le WAN. Ma carte de sortie vers le routeur est
      ens33
      .

      Je forwarde le RDP de manière à prendre la main sur mon poste qui est hors WAN a partir du poste situé dans le LAN, mais rien à faire pour le forward des ports
      80
      et
      443
      vers le LAN.

      Ci-dessous ma configuration
      iptables
      qui fonctionne (tout en
      DROP
      )

      ## FORWARD du RDP TCP 3389
      iptables -A FORWARD -i $DC1 -p tcp --dport 3389 -j ACCEPT

      # Autorise la création de nouvelles connexions vers le LAN
      iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.2/32 --dport 3389 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

      # Garde les connexions actives vers l'exterieur
      iptables -A FORWARD -s 192.168.1.2/32 -d 192.168.2.0/24 --sport 3389 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT


      Je reprendrai cela à mon retour de vacance le 09/05. Si entre temps quelqu’un a une idée ou une configuration qui fonctionne je le remercie d'avance.

      Cordialement
      1. Bonjour,

        Finalement je m 'en suis sorti avec les commandes suivantes:

        ## Forward HTTP  80
        iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 192.168.30.0/24 --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT
        iptables -A FORWARD -p tcp -s 192.168.30.0/24 -d 0.0.0.0/0 --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
          
        ##  Forward HTTPS  443 
        iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 192.168.30.0/24 --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT
        iptables -A FORWARD -p tcp -s 192.168.30.0/24 -d 0.0.0.0/0 --dport 443 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


        Plus le forward du DNS.

        Un grand merci pour votre aide
        1. Modérateur
          Et merci pour ton retour, ça aidera probablement les gens qui tomberont sur cette discussion. Bonne continuation !