[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: regles forward iptable



jlevy@aravis.homeunix.org (jlevy@aravis.homeunix.org) wrote:
> Selon Alexandre DECORNY <alde@groupe-cac.com>:
> 
> >Bonjour à tous,
> >
> >Je vous expose la situation :
> >
> >J'ai un serveur qui fait passerelle web. Derriere cette passerelle ce 
> >trouve
> >une machine avec un serveur web sur un certain port. Ce que j'aimerai c'est
> >forwarder les requetes du port en question vers cette machine. Mais rien a
> >faire aucunes commandes iptable ne passe :( J'en viens a me demander si il
> >n'y a pas un module a activer...
> >
> >Je precise que le serveur web est accessible en local (appel avec son ip
> >locale).
> >
> >Voici les regles que j'ai mis en place. Pour moi tout est correct... :(
> >
> >iptables -A FORWARD -p tcp --dport 23000
> >iptables -A FORWARD -p tcp --sport 23000 -j ACCEPT
> Hum Ok ton port http est le 23000,
> >iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4700 -j DNAT --to
> >192.168.0.4:23000
> La si tu veux faire du NAT en transfert de port en entrée. Pas de problème
> seulement, accept dans ton FORWARD le port 4700...  ;)
> Essais ca par exemple :
> iptables -A FORWARD -p tcp --dport 4700 -j ACCEPT
> iptables -A FORWARD -p tcp --sport 4700 -j ACCEPT
> Oui peux etre que de Nater tes paquets d'un port à l'autre (meme si c'est en
> prés routing ) necessite d'accepter de FORWARD.
> Dernière chose mais c'est certain que tu l'as fait :
> echo "1" > /proc/sys/net/ipv4/ip_forward

Tu peux essayer un truc du genre :
iptables -t filter -A FORWARD -i ppp0 -o eth0 -s 0.0.0.0/0 -d $target -p tcp
--dport $target_port -m state --state ! INVALID -j LOG_ACCEPT
iptables -t filter -A FORWARD -i eth0 -o ppp0 -s $target/$target_network -d 0.0.0.0/0 -p
tcp --sport $target_port -m state --state RELATED,ESTABLISHED -j LOG_ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -s 0.0.0.0/0 -d $ip_ppp -p tcp
--dport $target_port -m state --state ! INVALID -j DNAT --to-destination
$target:$target_port
iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -d $target -p tcp --dport
$target_port -m state --state ! INVALID -j SNAT --to-source 192.168.0.18

Où:
target=ip ton serveur HTTP
target_port=80
target_network=normalement 24, chez moi différent, mais on s'en fiche.
ip_ppp=l'adresse ip du lien ppp

A toi de faire les modifications qui conviennent. Chez moi cela marche
très bien.

Bon samedi à tous.
-- 
Christophe



Reply to: