Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Linux.general : iptables & port forwarding

Posté par Lol Zimmerli (Jabber id, page perso, ) le 12 décembre 2006
Hello!



je pédale un peu dans la semoule avec iptables.



Soit une machine avec eth0 sur le WAN (212.74.x.x) et eth1 vers un petit réseau très local (des NAS sur 10.x.x.x). Les NAS sont configurables via le web, mais la machine est un serveur et on ne peut donc pas lancer firefox sur cette machine. Aussi, j'aimerais atteindre l'interface web de mes NAS depuis l'internet, via un port particulier de la machine 212.74.x.x: 10001 pour le NAS un (en 10.2.0.1), port 10002 pour le NAS 2 etc.



Donc, il faut que ma machine forward le port eth0 10001 vers eth1 10.2.0.1:80, le port 10002 vers 10.2.0.2:80, etc.



Après avoir beaucoup lu, je suis arrivé à ça:



iptables -t nat -A PREROUTING -i eth0 -p tcp -d 212.74.x.x --dport 10001 -j DNAT --to 10.2.0.1:80

iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 10.2.0.1 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.2.0.1



Mais cela ne marche pas: un telnet en local sur le port 10001 n'ouvre pas et depuis ma workstation si j'ouvre 212.74.x.x:10001 il n'ouvre pas non plus (évidemment)



Quelqu'un peut-il me dire ce que je fait de faux ou si j'ai oublié une autre commande iptables?



PS: machine:~# cat /proc/sys/net/ipv4/ip_forward

1

> Lire le message (7 commentaires, moyenne: 1,7).  

Vous avez demandé le commentaire #783759.

google et nous ...

Posté par NeoX () le 12/12/2006 à 13:28. (lien). Évalué à 1.

d'apres : http://www.hackorama.com/network/portfwd.shtml


/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d xxx.xxx.xxx.xxx --dport 8888 -j DNAT --to 192.168.0.2:80
/sbin/iptables -A FORWARD -p tcp -i eth0 -d 192.168.0.2 --dport 80 -j ACCEPT


pour faire une redirection de port

en adaptant à ton cas

/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d xxx.xxx.xxx.xxx --dport 10001 -j DNAT --to 10.2.0.1:80
/sbin/iptables -A FORWARD -p tcp -i eth0 -d 10.2.0.1 --dport 80 -j ACCEPT

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
  • [^]Re: google et nous ...

    Posté par Lol Zimmerli (Jabber id, page perso, ) le 12/12/2006 à 16:35. (lien). Évalué à 2.

    Marche pas :(

    telnet 212.74.xx.xx 10001
    Trying 212.74.xx.xx...
    telnet: Unable to connect to remote host: Connection refused

    Dans firefox, si je vais sur 212.74.xx.xx:10001 il me répond

    Firefox ne peut pas établir de connexion avec le serveur à l'adresse 212.74.xx.xx:5000

    Pourquoi il est passé au port 5000? Mystère!

    Le script:

    #!/bin/sh
    EXTIF="eth0"
    EXTIP="212.74.xx.xx"
    INTIF="eth1"

    /sbin/iptables -F
    /sbin/iptables -t nat -A PREROUTING -p tcp -i $EXTIF -d $EXTIP --dport 10001 -j DNAT --to 10.2.0.1:80
    /sbin/iptables -A FORWARD -p tcp -i $EXTIF -d 10.2.0.1 --dport 80 -j ACCEPT

    --
    En fait, Bernardo n'était pas muet; c'est Zorro qui était sourd.
    • [^]Re: google et nous ...

      Posté par NeoX () le 12/12/2006 à 18:21. (lien). Évalué à 1.

      peut-etre parce que le nas fait un renvoi sur le 5000 en https (par exemple)

      ex :
      tu demande http://premier_nas/ il te renvoi sur https://premier_nas:5000/

      si c'est le cas change ton reglage de forwarding en

      pour 10001 -> 5000 et attaque d'office en
      https://adresse_wan:10001/

      --
      Apprendre par les autres, c'est bien.
      Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux