OVH Cloud OVH Cloud

[OBSD] Pb redirection pf

2 réponses
Avatar
Fabrice Delambre
Bonjour,

J'ai un probleme avec PF.
Je veux rediriger un port de A(gate) vers une machine de mon reseau
local (B).

root@A /tmp> uname -a
OpenBSD A 3.3 GENERIC#44 i386

J'ai mis des regles vraiment minimales histoire d'identifier le
probleme.

root@A /tmp> pfctl -sr;pfctl -sn
pass in inet all
pass out inet all
rdr inet proto tcp from any to any port = 4999 -> B port 25


root@A /tmp> telnet IP_A 4999

root@B /> tcpdump "tcp port 25"
tcpdump: listening on eth0
16:42:27.866958 IP_A.22973 > IP_B.smtp: S 2170769564:2170769564(0) win
16384 <mss 1452,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 131236260
0> (DF) [tos 0x10]

16:42:27.867105 IP_B.smtp > IP_A.22973: S 2028602291:2028602291(0) ack
2170769565 win 5792 <mss 1460,sackOK,timestamp 10093419
131236260,nop,wscale 0> (DF)

16:42:27.867260 IP_A.22973 > IP_B.smtp: R 2170769565:2170769565(0) win 0
(DF)

On voit donc que A reset le handshake tcp au lieu de le terminer
correctement.

Quelqu'un aurait-il une idee ?


--
Fabrice Delambre
NOfabSPAM@nerim.net

2 réponses

Avatar
mips
On Sun, 14 Sep 2003 16:53:13 +0200
Fabrice Delambre wrote:

Bonjour,

J'ai un probleme avec PF.
Je veux rediriger un port de A(gate) vers une machine de mon reseau
local (B).

/tmp> uname -a
OpenBSD A 3.3 GENERIC#44 i386

J'ai mis des regles vraiment minimales histoire d'identifier le
probleme.

/tmp> pfctl -sr;pfctl -sn
pass in inet all
pass out inet all
rdr inet proto tcp from any to any port = 4999 -> B port 25


Le '=' est en trop.
je conseillerait meme une regle du type :
rdr on $extif inet proto tcp from any to $extif port 4999 -> $host port 25

Avec $extif contenant l'interface externe de la gateway et $host l'ip
de la machine interne ou est redirige le flux.

mips

Avatar
Fabrice Delambre
On Sun, 14 Sep 2003 18:45:51 +0200
mips wrote:

Le '=' est en trop.
je conseillerait meme une regle du type :
rdr on $extif inet proto tcp from any to $extif port 4999 -> $host
port 25


Yep merci mais le = est juste present dans la sortie de `pfctl -sn` et
pas dans mon fichier de conf.

De toute facon, je viens de comprendre
(http://www.openbsd.org/faq/pf/rdr.html#reflect).

Merci quand meme :)

--
Fabrice Delambre