[PF] maintenir une connection, UDP nécesaire entre PC et passerelle, phénomène de déconexion étrange ..
3 réponses
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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 :-)
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 :-)
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 :-)
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.
"Stéphane" <grmlbl@gaston.com> wrote in
news:cce4md$18r5$1@biggoron.nerim.net:
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-).
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.
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
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***** :-)
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***** :-)