OVH Cloud OVH Cloud

[PF] maintenir une connection, UDP nécesaire entre PC et passerelle, phénomène de déconexion étrange ..

3 réponses
Avatar
Stéphane
Bonjour,

Voici les règles concernées:

iste = "xl0" # Interface reliee au PC de Stephane
ip_ste = "192.168.1.11" # IP du PC de Stephane
ip_iste = "192.168.1.1" # IP Interface reliee au PC de Stephane

pass in quick on $iste inet proto tcp from $ip_ste to any flags S/SA
modulate state
pass in quick on $iste inet proto { udp, icmp } from $ip_ste to any keep
state
pass out quick on tun0 inet proto tcp from any to any flags S/SA modulate
state
pass out quick on tun0 inet proto { udp, icmp } from any to any keep state

tel quel ça fonctionne. (encore heureux).


par contre avec ça ça déconnecte toute les 10 minutes (à la secondes près!)
:

pass in quick on $iste inet proto tcp from $ip_ste to ! $ip_iste flags S/SA
modulate state
pass in quick on $iste inet proto { udp, icmp } from $ip_ste to ! $ip_iste
keep state
pass out quick on tun0 inet proto tcp from any to any flags S/SA modulate
state
pass out quick on tun0 inet proto { udp, icmp } from any to any keep state


Info:
Quand je dis "ça déconnecte", c'est en fait que j'étais sur IRC (c'est un
exemple, ça aurait pu etre autre chose) et la connection au serveur a coupé
et s'est remise. la connection internet en elle-meme (pppoe) n'en est pas
affectée.

Remarques :
1) il est vrai que le nom des macros est limite mal choisi ... $ip_ste ...
$ip_iste ..
2) J'ai tenté de localiser le problème ... Lorsque je mets ! $ip_iste qu'à
la ligne concernant TCP (et "any" sur les autres), aucun problème.
Quand je fait la meme chose que pour ICMP (j'ai séparé les lignes UDP et
ICMP), aucun problème
Mais lorsque je fait la meme chose que pour UDP, là le problème de
déconnexion apparait.

Questions :
1) Pourquoi ça déconnecte ? Quels dialogues y a-t-il entre le PC de Stéphane
(le mien ;-) ) et la passerelle qui soient utiles à un maintient de
connection Internet ?
2) Pourquoi toutes les 10 minutes précises?


Merci pour vos lumières



Stéphane

3 réponses

Avatar
Stéphane
remarque :
Lorsqu'on évite au maximum les "any" dans les règles "pass" on a d'avantage
conscience de ce qu'il se passe (je pense notament au NAT que par abus on y
colle des "any". Mais il y a d'autres exemple .. comme le maintient des
connections :-)
Avatar
Patrick Lamaizière
"Stéphane" wrote in
news:cce4md$18r5$:

1) Pourquoi ça déconnecte ?


Tu fais du filtrage sur état, la règle expire au bout d'un moment et la
connexion (avec un x hein) est coupée.

J'ai pas compris tes règles, mais regarde de ce coté là. Peut-être qu'il
manque aussi un tcp_keepalive="YES" dans ton /etc/rc.conf ?

2) Pourquoi toutes les 10 minutes précises?


C'est la durée d'une règle. Tu peux les régler avec sysctl je crois.

Pour l'udp c'est plus délicat parce qu'il n'y a pas d'état, ça fonctionne
bien sur des requêtes courtes du genre DNS mais pas si tu es connecté
longuement (par exemple à un serveur NFS en UDP -ou j'ai pas réussi-).

Doit y avoir des howto sur pf sinon.

Avatar
Stéphane
1) Pourquoi ça déconnecte ?
Tu fais du filtrage sur état, la règle expire au bout d'un moment et la

connexion (avec un x hein) est coupée.


oups ;-)

J'ai pas compris tes règles, mais regarde de ce coté là. Peut-être qu'il
manque aussi un tcp_keepalive="YES" dans ton /etc/rc.conf ?


effectivement je n'avais pas ça.

Doit y avoir des howto sur pf sinon.
pf c'est pas très compliqué en fait.

Je pourrais coller des "any" à tout va et c'est certains que cela
fonctionne.

Mon but n'est pas seulement que ça fonctionne mais c'est aussi (et surtout!)
de _comprendre_.
..
Et là je ne comprends pas pourquoi il y a un "dialogue" UDP (entre ma
machine et la passerelle) nécessaire pour garder mes connexions en vie


à propos des règles de parefeu (en tout genre)..
Je pense qu'il serait sympa de rendre publique les règles de parefeu
non-critique dans un but d'entre-aide :) .. mais ça reste un peu tabou comme
idée.

Faire un parefeu simple c'est à la portée de n'importe qui. Par contre
lorsqu'on a plusieurs interfaces (5 dans mon cas) et qu'on a des exigences
(je veux que ça fasse ceci comme ça et pas comme ça, ..), ça devient vite le
b***** :-)


Stéphane