Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Aide sur packet filter et le port forwarding !

6 réponses
Avatar
chipounette5
Bonjour,

Voila maintenant quelques semaine que je cherche mais ne trouve pas !
Certains de #freebsd sur idapnet m'on aidé, mais en vain.

Ma config :

J'ai trois machines :
192.168.1.1 -> mon routeur firewall (FreeBSD 5.2.1 avec PF) (J'utilise
le NAT de PPP et non le NAT de PF, mais je pense pas que ce sois la
cause de mon problème)
voici mes interfaces reseau :
rl0 (c mon ethernet)
tun0 (c mon modem -- IP publique de mon FAI

192.168.1.2 -> Windows XP (Tout ce qu'il y a de plus classique. Cette
machine n'interviens pas dans mon problème, je le dis comme ça tout le
monde sais que j'ai 3 machines :-)) en même temps tout le monde s'en
fou ok :)

192.168.1.4 -> Linux debian kernel 2.4bf18 (aucun firewall sur cette
machine)

Ce que je veux faire :

J'ai installé un serveur web (port 80) sur 192.168.1.4, et je veux
qu'il sois accessible d'internet. C'est donc tout betement une
redirection de traffic, sois port forwarding. Bon jusque la vous me
suivez.

Et c'est ici que ca coince, je pense avoir les bonne règles dans mon
pf.conf mais le port forwarding ne fonctionne pas.
Je vous colle ci-dessous mon pf.conf, en éspérant que quelqu'un puisse
éclairer ma lanterne.

D'avance merci,

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to any port 80 -> 192.168.1.4

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# Je pense que la y a un problème
pass in on $ext_if proto tcp from any to
192.168.1.4 port 80 modulate state
pass out on $ext_if proto tcp from 192.168.1.4 to
any port 80 modulate state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

# EOF

NB : Le firewall est bien chargé, il n'y a donc pas d'erreurs de
syntaxe.

merci,
stark.

6 réponses

Avatar
Yannick
Bonjour,

A mon avis, il te faut 2 choses,
d'abord la redirection :
rdr on $ext_if proto tcp from any to $ext port 80 -> 192.168.1.4 port 80
# pour rediriger les flux http qui arrivent sur ton interface externe

ensuite les regles de firewalls :
pass in quick on $ext_if proto tcp from any to $ext_if port { http,
etc... } flags S/SAFR keep state
# pour laisser rentrer les flux en question depuis internet

pass in quick on $ext_if proto tcp from any to 192.168.1.4 port 80 flags
S/SAFR keep state
# pour que la redirection du http puisse circuler.

Voila, Yannick.





Bonjour,

Voila maintenant quelques semaine que je cherche mais ne trouve pas !
Certains de #freebsd sur idapnet m'on aidé, mais en vain.

Ma config :

J'ai trois machines :
192.168.1.1 -> mon routeur firewall (FreeBSD 5.2.1 avec PF) (J'utilise
le NAT de PPP et non le NAT de PF, mais je pense pas que ce sois la
cause de mon problème)
voici mes interfaces reseau :
rl0 (c mon ethernet)
tun0 (c mon modem -- IP publique de mon FAI

192.168.1.2 -> Windows XP (Tout ce qu'il y a de plus classique. Cette
machine n'interviens pas dans mon problème, je le dis comme ça tout le
monde sais que j'ai 3 machines :-)) en même temps tout le monde s'en
fou ok :)

192.168.1.4 -> Linux debian kernel 2.4bf18 (aucun firewall sur cette
machine)

Ce que je veux faire :

J'ai installé un serveur web (port 80) sur 192.168.1.4, et je veux
qu'il sois accessible d'internet. C'est donc tout betement une
redirection de traffic, sois port forwarding. Bon jusque la vous me
suivez.

Et c'est ici que ca coince, je pense avoir les bonne règles dans mon
pf.conf mais le port forwarding ne fonctionne pas.
Je vous colle ci-dessous mon pf.conf, en éspérant que quelqu'un puisse
éclairer ma lanterne.

D'avance merci,

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to any port 80 -> 192.168.1.4

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# Je pense que la y a un problème
pass in on $ext_if proto tcp from any to
192.168.1.4 port 80 modulate state
pass out on $ext_if proto tcp from 192.168.1.4 to
any port 80 modulate state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

# EOF

NB : Le firewall est bien chargé, il n'y a donc pas d'erreurs de
syntaxe.

merci,
stark.


Avatar
chipounette5
Bonjour,

J'ai essayé les règles que tu m'as proposés, et elles ne fonctionnent
malheureusement pas mieux :(

Voila mon firewall modifié à ta "sauce" :

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to $ext_if port 80 -> 192.168.1.4
port 80

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# laisse passer le traffic
pass in quick on $ext_if proto tcp from any to $ext_if
port 80 flags S/SAFR keep state
pass in quick on $ext_if proto tcp from any to
192.168.1.4 port 80 flags S/SAFR keep state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

Une fois les règles chargés ca nous donne :
#pfctl -sr
scrub in on tun0 all fragment reassemble
block drop out on tun0 all
block drop in on tun0 all
block drop in from no-route to any
pass in quick on tun0 inet proto tcp from any to 83.155.15.11 port http flags S/FSRA keep state
pass in quick on tun0 inet proto tcp from any to 192.168.1.4 port http flags S/FSRA keep state
pass out on tun0 proto udp all keep state
pass in on tun0 proto udp from any to any port = domain keep state
pass out on tun0 proto tcp all modulate state
pass in on tun0 proto tcp from any to any port = 4662

#pfctl -sn
rdr on tun0 inet proto tcp from any to 83.155.15.11 port = http ->
192.168.1.4 port 80

Cependant je m'interroge quand à la compexité de réaliser une
redirection de port avec Packet Filter. Ou alors c'est moi qu'est pas
doué !!! De plus le Handbook OpenBSD n'est pas très bavard non plus
sur ce sujet !

En tout cas, merci pour ta réponse,

starck

Yannick wrote in message news:<cgadv4$g9m$...
Bonjour,

A mon avis, il te faut 2 choses,
d'abord la redirection :
rdr on $ext_if proto tcp from any to $ext port 80 -> 192.168.1.4 port 80
# pour rediriger les flux http qui arrivent sur ton interface externe

ensuite les regles de firewalls :
pass in quick on $ext_if proto tcp from any to $ext_if port { http,
etc... } flags S/SAFR keep state
# pour laisser rentrer les flux en question depuis internet

pass in quick on $ext_if proto tcp from any to 192.168.1.4 port 80 flags
S/SAFR keep state
# pour que la redirection du http puisse circuler.

Voila, Yannick.





Bonjour,

Voila maintenant quelques semaine que je cherche mais ne trouve pas !
Certains de #freebsd sur idapnet m'on aidé, mais en vain.

Ma config :

J'ai trois machines :
192.168.1.1 -> mon routeur firewall (FreeBSD 5.2.1 avec PF) (J'utilise
le NAT de PPP et non le NAT de PF, mais je pense pas que ce sois la
cause de mon problème)
voici mes interfaces reseau :
rl0 (c mon ethernet)
tun0 (c mon modem -- IP publique de mon FAI

192.168.1.2 -> Windows XP (Tout ce qu'il y a de plus classique. Cette
machine n'interviens pas dans mon problème, je le dis comme ça tout le
monde sais que j'ai 3 machines :-)) en même temps tout le monde s'en
fou ok :)

192.168.1.4 -> Linux debian kernel 2.4bf18 (aucun firewall sur cette
machine)

Ce que je veux faire :

J'ai installé un serveur web (port 80) sur 192.168.1.4, et je veux
qu'il sois accessible d'internet. C'est donc tout betement une
redirection de traffic, sois port forwarding. Bon jusque la vous me
suivez.

Et c'est ici que ca coince, je pense avoir les bonne règles dans mon
pf.conf mais le port forwarding ne fonctionne pas.
Je vous colle ci-dessous mon pf.conf, en éspérant que quelqu'un puisse
éclairer ma lanterne.

D'avance merci,

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to any port 80 -> 192.168.1.4

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# Je pense que la y a un problème
pass in on $ext_if proto tcp from any to
192.168.1.4 port 80 modulate state
pass out on $ext_if proto tcp from 192.168.1.4 to
any port 80 modulate state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

# EOF

NB : Le firewall est bien chargé, il n'y a donc pas d'erreurs de
syntaxe.

merci,
stark.




Avatar
Yannick
bonsoir,

je te propose un fichier de conf qui fonctionne (testé) pour la
topologie ci-dessous qui ressemble beaucoup à la tienne, tu n'as qu'a
changer 1 ou 2 @ip ;-)

1 routeur FreeBSD 192.168.0.2
1 machine windows 192.168.0.20, avec serveur web) accessible depuis internet

à noter : le nat est effectué par PF et non ppp.


----------------- CUT HERE -----------------

# positionnons quelques variables
ext=tun0
int=fxp0
lan="192.168.0.0/24"

set fingerprints "/usr/local/etc/pf.os"
set loginterface $ext

scrub in all

# Redirection vers micro pour web
rdr on $ext proto tcp from any to $ext port 80 -> 192.168.0.20 port 80

# Translation d'adresse pour que windows ait accés à internet
nat on $ext from $lan to any -> $ext

# bloquer tout par defaut
block in all

#-------------------------------------------------------------------------
# on laisse tout circuler en interne
pass in quick on $int from $lan to any keep state

#-------------------------------------------------------------------------
# on laisse tout sortir vers internet
pass out quick on $ext from $ext to any keep state

#-------------------------------------------------------------------------
# on laisse passer le loopback
pass in quick on lo0 all keep state
pass out quick on lo0 all keep state

#-------------------------------------------------------------------------
# on laisse rentrer le ssh en tcp sur le routeur
pass in quick on $ext proto tcp from any to $ext port { ssh } flags
S/SAFR keep state
#-------------------------------------------------------------------------
# on laisse rentrer en tcp la redirection pour http
pass in quick on $ext proto tcp from any to $lan port { 80 } flags
S/SAFR keep state

----------------- CUT HERE -----------------
Avatar
chipounette5
Merci,

Je vais tester ça sans plus attendre.
Je vais me résoudre à NATé avec PF et non PPP

Encore merci,

starck

(stark) wrote in message news:...
Bonjour,

J'ai essayé les règles que tu m'as proposés, et elles ne fonctionnent
malheureusement pas mieux :(

Voila mon firewall modifié à ta "sauce" :

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to $ext_if port 80 -> 192.168.1.4
port 80

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# laisse passer le traffic
pass in quick on $ext_if proto tcp from any to $ext_if
port 80 flags S/SAFR keep state
pass in quick on $ext_if proto tcp from any to
192.168.1.4 port 80 flags S/SAFR keep state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

Une fois les règles chargés ca nous donne :
#pfctl -sr
scrub in on tun0 all fragment reassemble
block drop out on tun0 all
block drop in on tun0 all
block drop in from no-route to any
pass in quick on tun0 inet proto tcp from any to 83.155.15.11 port > http flags S/FSRA keep state
pass in quick on tun0 inet proto tcp from any to 192.168.1.4 port > http flags S/FSRA keep state
pass out on tun0 proto udp all keep state
pass in on tun0 proto udp from any to any port = domain keep state
pass out on tun0 proto tcp all modulate state
pass in on tun0 proto tcp from any to any port = 4662

#pfctl -sn
rdr on tun0 inet proto tcp from any to 83.155.15.11 port = http ->
192.168.1.4 port 80

Cependant je m'interroge quand à la compexité de réaliser une
redirection de port avec Packet Filter. Ou alors c'est moi qu'est pas
doué !!! De plus le Handbook OpenBSD n'est pas très bavard non plus
sur ce sujet !

En tout cas, merci pour ta réponse,

starck

Yannick wrote in message news:<cgadv4$g9m$...
Bonjour,

A mon avis, il te faut 2 choses,
d'abord la redirection :
rdr on $ext_if proto tcp from any to $ext port 80 -> 192.168.1.4 port 80
# pour rediriger les flux http qui arrivent sur ton interface externe

ensuite les regles de firewalls :
pass in quick on $ext_if proto tcp from any to $ext_if port { http,
etc... } flags S/SAFR keep state
# pour laisser rentrer les flux en question depuis internet

pass in quick on $ext_if proto tcp from any to 192.168.1.4 port 80 flags
S/SAFR keep state
# pour que la redirection du http puisse circuler.

Voila, Yannick.





Bonjour,

Voila maintenant quelques semaine que je cherche mais ne trouve pas !
Certains de #freebsd sur idapnet m'on aidé, mais en vain.

Ma config :

J'ai trois machines :
192.168.1.1 -> mon routeur firewall (FreeBSD 5.2.1 avec PF) (J'utilise
le NAT de PPP et non le NAT de PF, mais je pense pas que ce sois la
cause de mon problème)
voici mes interfaces reseau :
rl0 (c mon ethernet)
tun0 (c mon modem -- IP publique de mon FAI

192.168.1.2 -> Windows XP (Tout ce qu'il y a de plus classique. Cette
machine n'interviens pas dans mon problème, je le dis comme ça tout le
monde sais que j'ai 3 machines :-)) en même temps tout le monde s'en
fou ok :)

192.168.1.4 -> Linux debian kernel 2.4bf18 (aucun firewall sur cette
machine)

Ce que je veux faire :

J'ai installé un serveur web (port 80) sur 192.168.1.4, et je veux
qu'il sois accessible d'internet. C'est donc tout betement une
redirection de traffic, sois port forwarding. Bon jusque la vous me
suivez.

Et c'est ici que ca coince, je pense avoir les bonne règles dans mon
pf.conf mais le port forwarding ne fonctionne pas.
Je vous colle ci-dessous mon pf.conf, en éspérant que quelqu'un puisse
éclairer ma lanterne.

D'avance merci,

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to any port 80 -> 192.168.1.4

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# Je pense que la y a un problème
pass in on $ext_if proto tcp from any to
192.168.1.4 port 80 modulate state
pass out on $ext_if proto tcp from 192.168.1.4 to
any port 80 modulate state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

# EOF

NB : Le firewall est bien chargé, il n'y a donc pas d'erreurs de
syntaxe.

merci,
stark.






Avatar
chipounette5
Je viens d'essayer, et malheureusement ça ne fonctionne toujours pas !

MAIS, y a du neuf, si je fais un scan de ma machine via le site
check.sdf.fr il me dit que le port 80 est OPEN, ce qui est bon signe,
cependant un http://mon_ip ne fonctionne pas, et ni un telnet mon_ip
80

J'ai remplacé mon firewall par le tien en prenant soin de changer les
ip's, le NAT via PF fonctionne correctement, j'ai desactiver le NAT
via PPP.

Bon voila, je reste un peu sur ma faim, mais encore merci d'avoir
participé au problème.

Bien cordialement,

stark

N.B : Si tu veux t'investir d'avantages dans le problème je t'invite à
m'écrire :
chipounette5 at hotmail point com

(stark) wrote in message news:...
Bonjour,

J'ai essayé les règles que tu m'as proposés, et elles ne fonctionnent
malheureusement pas mieux :(

Voila mon firewall modifié à ta "sauce" :

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to $ext_if port 80 -> 192.168.1.4
port 80

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# laisse passer le traffic
pass in quick on $ext_if proto tcp from any to $ext_if
port 80 flags S/SAFR keep state
pass in quick on $ext_if proto tcp from any to
192.168.1.4 port 80 flags S/SAFR keep state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

Une fois les règles chargés ca nous donne :
#pfctl -sr
scrub in on tun0 all fragment reassemble
block drop out on tun0 all
block drop in on tun0 all
block drop in from no-route to any
pass in quick on tun0 inet proto tcp from any to 83.155.15.11 port > http flags S/FSRA keep state
pass in quick on tun0 inet proto tcp from any to 192.168.1.4 port > http flags S/FSRA keep state
pass out on tun0 proto udp all keep state
pass in on tun0 proto udp from any to any port = domain keep state
pass out on tun0 proto tcp all modulate state
pass in on tun0 proto tcp from any to any port = 4662

#pfctl -sn
rdr on tun0 inet proto tcp from any to 83.155.15.11 port = http ->
192.168.1.4 port 80

Cependant je m'interroge quand à la compexité de réaliser une
redirection de port avec Packet Filter. Ou alors c'est moi qu'est pas
doué !!! De plus le Handbook OpenBSD n'est pas très bavard non plus
sur ce sujet !

En tout cas, merci pour ta réponse,

starck

Yannick wrote in message news:<cgadv4$g9m$...
Bonjour,

A mon avis, il te faut 2 choses,
d'abord la redirection :
rdr on $ext_if proto tcp from any to $ext port 80 -> 192.168.1.4 port 80
# pour rediriger les flux http qui arrivent sur ton interface externe

ensuite les regles de firewalls :
pass in quick on $ext_if proto tcp from any to $ext_if port { http,
etc... } flags S/SAFR keep state
# pour laisser rentrer les flux en question depuis internet

pass in quick on $ext_if proto tcp from any to 192.168.1.4 port 80 flags
S/SAFR keep state
# pour que la redirection du http puisse circuler.

Voila, Yannick.





Bonjour,

Voila maintenant quelques semaine que je cherche mais ne trouve pas !
Certains de #freebsd sur idapnet m'on aidé, mais en vain.

Ma config :

J'ai trois machines :
192.168.1.1 -> mon routeur firewall (FreeBSD 5.2.1 avec PF) (J'utilise
le NAT de PPP et non le NAT de PF, mais je pense pas que ce sois la
cause de mon problème)
voici mes interfaces reseau :
rl0 (c mon ethernet)
tun0 (c mon modem -- IP publique de mon FAI

192.168.1.2 -> Windows XP (Tout ce qu'il y a de plus classique. Cette
machine n'interviens pas dans mon problème, je le dis comme ça tout le
monde sais que j'ai 3 machines :-)) en même temps tout le monde s'en
fou ok :)

192.168.1.4 -> Linux debian kernel 2.4bf18 (aucun firewall sur cette
machine)

Ce que je veux faire :

J'ai installé un serveur web (port 80) sur 192.168.1.4, et je veux
qu'il sois accessible d'internet. C'est donc tout betement une
redirection de traffic, sois port forwarding. Bon jusque la vous me
suivez.

Et c'est ici que ca coince, je pense avoir les bonne règles dans mon
pf.conf mais le port forwarding ne fonctionne pas.
Je vous colle ci-dessous mon pf.conf, en éspérant que quelqu'un puisse
éclairer ma lanterne.

D'avance merci,

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to any port 80 -> 192.168.1.4

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# Je pense que la y a un problème
pass in on $ext_if proto tcp from any to
192.168.1.4 port 80 modulate state
pass out on $ext_if proto tcp from 192.168.1.4 to
any port 80 modulate state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

# EOF

NB : Le firewall est bien chargé, il n'y a donc pas d'erreurs de
syntaxe.

merci,
stark.






Avatar
Yannick
hmmmm , vraiment bizarre .....

je t'avoue que je ne vois pas pourquoi ca ne marche pas.

Au fait,comment vérifies-tu le bon fonctionnement depuis l'extérieur ?
Tu as une seconde machine sur le net depuis laquelle tu fait
un telnet @ip ext de ton routeur ?


Sinon, ce qu'il te reste c'est de sniffer les requettes HTTP
sur les différents interfaces du routeur FreeBSD pour voir ce qu'il se
passe (et meme sur ta machine linux pour voir si les requette y arrive)

sur le routeur :
pftcpdump -i tun0 port 80
pftcpdump -i <int_interne> port 80

Si tu ne vois rien,c'est peut-etre que les requettes sont bloquées par
PF , dans ce cas, change la regle

"block in all" en "block in log all"

pour logger les paquets http filtrés, puis fait un

pftcpdump -r /var/log/pflog port 80

tiens moi au courant, ca m'intrigue cette histoire ;-)

a+ Yannick.


Je viens d'essayer, et malheureusement ça ne fonctionne toujours pas !

MAIS, y a du neuf, si je fais un scan de ma machine via le site
check.sdf.fr il me dit que le port 80 est OPEN, ce qui est bon signe,
cependant un http://mon_ip ne fonctionne pas, et ni un telnet mon_ip
80

J'ai remplacé mon firewall par le tien en prenant soin de changer les
ip's, le NAT via PF fonctionne correctement, j'ai desactiver le NAT
via PPP.

Bon voila, je reste un peu sur ma faim, mais encore merci d'avoir
participé au problème.

Bien cordialement,

stark

N.B : Si tu veux t'investir d'avantages dans le problème je t'invite à
m'écrire :
chipounette5 at hotmail point com

(stark) wrote in message news:...

Bonjour,

J'ai essayé les règles que tu m'as proposés, et elles ne fonctionnent
malheureusement pas mieux :(

Voila mon firewall modifié à ta "sauce" :

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to $ext_if port 80 -> 192.168.1.4
port 80

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# laisse passer le traffic
pass in quick on $ext_if proto tcp from any to $ext_if
port 80 flags S/SAFR keep state
pass in quick on $ext_if proto tcp from any to
192.168.1.4 port 80 flags S/SAFR keep state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

Une fois les règles chargés ca nous donne :
#pfctl -sr
scrub in on tun0 all fragment reassemble
block drop out on tun0 all
block drop in on tun0 all
block drop in from no-route to any
pass in quick on tun0 inet proto tcp from any to 83.155.15.11 port >>http flags S/FSRA keep state
pass in quick on tun0 inet proto tcp from any to 192.168.1.4 port >>http flags S/FSRA keep state
pass out on tun0 proto udp all keep state
pass in on tun0 proto udp from any to any port = domain keep state
pass out on tun0 proto tcp all modulate state
pass in on tun0 proto tcp from any to any port = 4662

#pfctl -sn
rdr on tun0 inet proto tcp from any to 83.155.15.11 port = http ->
192.168.1.4 port 80

Cependant je m'interroge quand à la compexité de réaliser une
redirection de port avec Packet Filter. Ou alors c'est moi qu'est pas
doué !!! De plus le Handbook OpenBSD n'est pas très bavard non plus
sur ce sujet !

En tout cas, merci pour ta réponse,

starck

Yannick wrote in message news:<cgadv4$g9m$...

Bonjour,

A mon avis, il te faut 2 choses,
d'abord la redirection :
rdr on $ext_if proto tcp from any to $ext port 80 -> 192.168.1.4 port 80
# pour rediriger les flux http qui arrivent sur ton interface externe

ensuite les regles de firewalls :
pass in quick on $ext_if proto tcp from any to $ext_if port { http,
etc... } flags S/SAFR keep state
# pour laisser rentrer les flux en question depuis internet

pass in quick on $ext_if proto tcp from any to 192.168.1.4 port 80 flags
S/SAFR keep state
# pour que la redirection du http puisse circuler.

Voila, Yannick.






Bonjour,

Voila maintenant quelques semaine que je cherche mais ne trouve pas !
Certains de #freebsd sur idapnet m'on aidé, mais en vain.

Ma config :

J'ai trois machines :
192.168.1.1 -> mon routeur firewall (FreeBSD 5.2.1 avec PF) (J'utilise
le NAT de PPP et non le NAT de PF, mais je pense pas que ce sois la
cause de mon problème)
voici mes interfaces reseau :
rl0 (c mon ethernet)
tun0 (c mon modem -- IP publique de mon FAI

192.168.1.2 -> Windows XP (Tout ce qu'il y a de plus classique. Cette
machine n'interviens pas dans mon problème, je le dis comme ça tout le
monde sais que j'ai 3 machines :-)) en même temps tout le monde s'en
fou ok :)

192.168.1.4 -> Linux debian kernel 2.4bf18 (aucun firewall sur cette
machine)

Ce que je veux faire :

J'ai installé un serveur web (port 80) sur 192.168.1.4, et je veux
qu'il sois accessible d'internet. C'est donc tout betement une
redirection de traffic, sois port forwarding. Bon jusque la vous me
suivez.

Et c'est ici que ca coince, je pense avoir les bonne règles dans mon
pf.conf mais le port forwarding ne fonctionne pas.
Je vous colle ci-dessous mon pf.conf, en éspérant que quelqu'un puisse
éclairer ma lanterne.

D'avance merci,

# C'est parti
ext_if = "tun0"

# On normalise
scrub in on $ext_if all

# Port forwarding (d'après la doc d'openbsd)
rdr on $ext_if proto tcp from any to any port 80 -> 192.168.1.4

# Block tout par defaut sur l'interface externe
block out on $ext_if all
block in on $ext_if all

# Block tout ce qui vient d'une source qui n'as pas de route
block in from no-route to any

# Je pense que la y a un problème
pass in on $ext_if proto tcp from any to
192.168.1.4 port 80 modulate state
pass out on $ext_if proto tcp from 192.168.1.4 to
any port 80 modulate state

# Laisse sortir le traffic UDP
pass out on $ext_if proto udp all keep state

# Laisse sortir les requete DNS
pass in on $ext_if proto udp from any to any port
= domain keep state

# Laisse sortir le traffic TCP
pass out on $ext_if proto tcp all modulate state

# Traffic xmule (je sais c'est pa bien, non pas bien)
pass in on $ext_if proto tcp from any to any port
4662

# EOF

NB : Le firewall est bien chargé, il n'y a donc pas d'erreurs de
syntaxe.

merci,
stark.