J'ai un réseau sans NAT, avec un serveur qui reçoit d'internet des requêtes
http et apache qui s'en charge.
Je voudrais configurer le pf de ce serveur pour établir une redirection
vers un autre serveur, de sorte à soulager le serveur d'entrée.
J'ai écris ça en vain:
rdr on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur
mais je ne parviens pas à comprendre si je dois utiliser du nat pour que ça
marche ?
Puis-je simplement mettre en place une redirection de port, sans nat ?
Si oui, pf se chargera-t-il de transmettre la réponse aux requêtes, ou
dois-je rajouter des règles ?
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
Bruno Rohee
On 2005-04-28, Nicolas Ecarnot wrote:
Bonjour,
J'ai un réseau sans NAT, avec un serveur qui reçoit d'internet des requêtes http et apache qui s'en charge. Je voudrais configurer le pf de ce serveur pour établir une redirection vers un autre serveur, de sorte à soulager le serveur d'entrée.
J'ai écris ça en vain: rdr on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur
Question con, si to serveur d'entree fait du filtrage il faut autoriser le traffic que tu vient de definir, genre
rdr pass on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur ^
Ou une vrai regle pass si tu veux quelque chose de plus fin...
mais je ne parviens pas à comprendre si je dois utiliser du nat pour que ça marche ? Puis-je simplement mettre en place une redirection de port, sans nat ?
Oui. Au sens que le paquet devrait bien être redirigé. Tu peux verifier en sniffant sur le serveur interne que tu recoit bien les paquets
Si oui, pf se chargera-t-il de transmettre la réponse aux requêtes, ou dois-je rajouter des règles ?
Le serveur interne a bien le serveur faisant le filtrage comme route par defaut?
Pour debugger ce genre de probleme tu commence par mettre "log" sur toute tes regles block au cas ou tu te sois plante a ce niveau...
Ensuite tu sniffes sur chaque interface des deux machines (simplement sur l'interieure et l'exterieure du firewall est generalement suffisant..)
On 2005-04-28, Nicolas Ecarnot <nicolas.ecarnot@alussinan.org> wrote:
Bonjour,
J'ai un réseau sans NAT, avec un serveur qui reçoit d'internet des requêtes
http et apache qui s'en charge.
Je voudrais configurer le pf de ce serveur pour établir une redirection
vers un autre serveur, de sorte à soulager le serveur d'entrée.
J'ai écris ça en vain:
rdr on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur
Question con, si to serveur d'entree fait du filtrage il faut autoriser
le traffic que tu vient de definir, genre
rdr pass on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur
^
Ou une vrai regle pass si tu veux quelque chose de plus fin...
mais je ne parviens pas à comprendre si je dois utiliser du nat pour que ça
marche ?
Puis-je simplement mettre en place une redirection de port, sans nat ?
Oui. Au sens que le paquet devrait bien être redirigé. Tu peux verifier
en sniffant sur le serveur interne que tu recoit bien les paquets
Si oui, pf se chargera-t-il de transmettre la réponse aux requêtes, ou
dois-je rajouter des règles ?
Le serveur interne a bien le serveur faisant le filtrage comme route
par defaut?
Pour debugger ce genre de probleme tu commence par mettre "log" sur
toute tes regles block au cas ou tu te sois plante a ce niveau...
Ensuite tu sniffes sur chaque interface des deux machines (simplement
sur l'interieure et l'exterieure du firewall est generalement suffisant..)
J'ai un réseau sans NAT, avec un serveur qui reçoit d'internet des requêtes http et apache qui s'en charge. Je voudrais configurer le pf de ce serveur pour établir une redirection vers un autre serveur, de sorte à soulager le serveur d'entrée.
J'ai écris ça en vain: rdr on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur
Question con, si to serveur d'entree fait du filtrage il faut autoriser le traffic que tu vient de definir, genre
rdr pass on $ext_if proto tcp from any to any port 80 -> $ip_autre_serveur ^
Ou une vrai regle pass si tu veux quelque chose de plus fin...
mais je ne parviens pas à comprendre si je dois utiliser du nat pour que ça marche ? Puis-je simplement mettre en place une redirection de port, sans nat ?
Oui. Au sens que le paquet devrait bien être redirigé. Tu peux verifier en sniffant sur le serveur interne que tu recoit bien les paquets
Si oui, pf se chargera-t-il de transmettre la réponse aux requêtes, ou dois-je rajouter des règles ?
Le serveur interne a bien le serveur faisant le filtrage comme route par defaut?
Pour debugger ce genre de probleme tu commence par mettre "log" sur toute tes regles block au cas ou tu te sois plante a ce niveau...
Ensuite tu sniffes sur chaque interface des deux machines (simplement sur l'interieure et l'exterieure du firewall est generalement suffisant..)
Nicolas Ecarnot
Sur fr.comp.os.bsd, vous écriviez :
On 2005-04-28, Nicolas Ecarnot wrote: Le serveur interne a bien le serveur faisant le filtrage comme route par defaut?
C'est là que toute la connerie de ma démarche s'exprime clairement :
- j'ai une freebox paramétrée en routeur avec un switch branché dessus - sur ce switch, j'ai deux serveurs : petitServeur et grosServeur - sur chaque serveur, je n'ai qu'une seule carte réseau (je dis ça pour bien faire comprendre que petitServeur n'est pas un firewall au sens NAT, et ne pourra donc pas faire une vraie DMZ) - sur petitServeur, j'ai un serveur httpd qui rame. Forcément, petitServeur est petit. - Ce que je voudrais faire, c'est que quand petitServeur détecte que grosServeur est alive, il active une règle dans PaquetFilter pour que le traffic http soit redirigé sur grosServeur.
Donc je m'étais dis qu'une simple règle suffirait du style :
rdr pass on $ext_if proto tcp from any to $petitServeur port 80 -> $grosServeur
Un tcpdump sur petitServeur me montre bien les paquets arrivant joyeusement. Hélas, mon incompétence fait que je n'ai pas encore de tcpdump sur grosServeur pour accueillir les éventuels paquets... Toujours est-il que le httpd de grosServeur ne frémit pas. Je ne sais donc même pas encore si les paquets sont transmis à grosServeur.
Mon idée vous semble-t-elle réalisable ?
-- Nicolas Ecarnot
Sur fr.comp.os.bsd, vous écriviez :
On 2005-04-28, Nicolas Ecarnot <nicolas.ecarnot@alussinan.org> wrote:
Le serveur interne a bien le serveur faisant le filtrage comme route
par defaut?
C'est là que toute la connerie de ma démarche s'exprime clairement :
- j'ai une freebox paramétrée en routeur avec un switch branché dessus
- sur ce switch, j'ai deux serveurs : petitServeur et grosServeur
- sur chaque serveur, je n'ai qu'une seule carte réseau (je dis ça pour
bien faire comprendre que petitServeur n'est pas un firewall au sens
NAT, et ne pourra donc pas faire une vraie DMZ)
- sur petitServeur, j'ai un serveur httpd qui rame. Forcément,
petitServeur est petit.
- Ce que je voudrais faire, c'est que quand petitServeur détecte que
grosServeur est alive, il active une règle dans PaquetFilter pour que
le traffic http soit redirigé sur grosServeur.
Donc je m'étais dis qu'une simple règle suffirait du style :
rdr pass on $ext_if proto tcp from any to $petitServeur
port 80 -> $grosServeur
Un tcpdump sur petitServeur me montre bien les paquets arrivant
joyeusement.
Hélas, mon incompétence fait que je n'ai pas encore de tcpdump sur
grosServeur pour accueillir les éventuels paquets...
Toujours est-il que le httpd de grosServeur ne frémit pas.
Je ne sais donc même pas encore si les paquets sont transmis à
grosServeur.
On 2005-04-28, Nicolas Ecarnot wrote: Le serveur interne a bien le serveur faisant le filtrage comme route par defaut?
C'est là que toute la connerie de ma démarche s'exprime clairement :
- j'ai une freebox paramétrée en routeur avec un switch branché dessus - sur ce switch, j'ai deux serveurs : petitServeur et grosServeur - sur chaque serveur, je n'ai qu'une seule carte réseau (je dis ça pour bien faire comprendre que petitServeur n'est pas un firewall au sens NAT, et ne pourra donc pas faire une vraie DMZ) - sur petitServeur, j'ai un serveur httpd qui rame. Forcément, petitServeur est petit. - Ce que je voudrais faire, c'est que quand petitServeur détecte que grosServeur est alive, il active une règle dans PaquetFilter pour que le traffic http soit redirigé sur grosServeur.
Donc je m'étais dis qu'une simple règle suffirait du style :
rdr pass on $ext_if proto tcp from any to $petitServeur port 80 -> $grosServeur
Un tcpdump sur petitServeur me montre bien les paquets arrivant joyeusement. Hélas, mon incompétence fait que je n'ai pas encore de tcpdump sur grosServeur pour accueillir les éventuels paquets... Toujours est-il que le httpd de grosServeur ne frémit pas. Je ne sais donc même pas encore si les paquets sont transmis à grosServeur.
Mon idée vous semble-t-elle réalisable ?
-- Nicolas Ecarnot
Eric Lalitte
"Nicolas Ecarnot" wrote in message news:
Un tcpdump sur petitServeur me montre bien les paquets arrivant joyeusement.
Il devrait aussi pouvoir te dire s'ils ressortent de petitServeur. S'ils ressortent, ils vont arriver vers grosServeur (ce n'est que de la commutation alors on considère que ça marche) Et là tu peux voir les logs de apache pour voir ce qui est fait des requêtes.
S'ils ne ressortent pas, il faut voir les logs du firewall :-) Un pfctl -ss doit pouvoir aider dans un premier temps, mais pour y voir plus clair log les paquets qui t'intéressent.
-- Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
"Nicolas Ecarnot" <nicolas.ecarnot@alussinan.org> wrote in message
news:Xns965164DAFD6FAnicolasecarnotalussi@212.27.42.79
Un tcpdump sur petitServeur me montre bien les paquets arrivant
joyeusement.
Il devrait aussi pouvoir te dire s'ils ressortent de petitServeur.
S'ils ressortent, ils vont arriver vers grosServeur (ce n'est que de la
commutation alors on considère que ça marche)
Et là tu peux voir les logs de apache pour voir ce qui est fait des
requêtes.
S'ils ne ressortent pas, il faut voir les logs du firewall :-)
Un pfctl -ss doit pouvoir aider dans un premier temps, mais pour y voir
plus clair log les paquets qui t'intéressent.
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Un tcpdump sur petitServeur me montre bien les paquets arrivant joyeusement.
Il devrait aussi pouvoir te dire s'ils ressortent de petitServeur. S'ils ressortent, ils vont arriver vers grosServeur (ce n'est que de la commutation alors on considère que ça marche) Et là tu peux voir les logs de apache pour voir ce qui est fait des requêtes.
S'ils ne ressortent pas, il faut voir les logs du firewall :-) Un pfctl -ss doit pouvoir aider dans un premier temps, mais pour y voir plus clair log les paquets qui t'intéressent.
-- Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Nicolas Ecarnot
Nicolas Ecarnot wrote in news::
Mon idée vous semble-t-elle réalisable ?
Je me réponds à moi-même, avec l'espoir qu'un connaisseur de PF confirme ce que j'ai trouvé :
Dans le man de pf.conf, au sujet de rdr, je lis :
|Redirections cannot reflect packets back through the interface they arrive |on, they can only be redirected to hosts connected to different interfaces |or to the firewall itself.
Or ça semble exactement ce que je cherche à faire : - du traffic entre sur la seule carte réseau de mon petitServeur - je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
-- Nicolas Ecarnot
Nicolas Ecarnot <nicolas.ecarnot@alussinan.org> wrote in
news:Xns965164DAFD6FAnicolasecarnotalussi@212.27.42.79:
Mon idée vous semble-t-elle réalisable ?
Je me réponds à moi-même, avec l'espoir qu'un connaisseur de PF confirme ce
que j'ai trouvé :
Dans le man de pf.conf, au sujet de rdr, je lis :
|Redirections cannot reflect packets back through the interface they arrive
|on, they can only be redirected to hosts connected to different interfaces
|or to the firewall itself.
Or ça semble exactement ce que je cherche à faire :
- du traffic entre sur la seule carte réseau de mon petitServeur
- je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Je me réponds à moi-même, avec l'espoir qu'un connaisseur de PF confirme ce que j'ai trouvé :
Dans le man de pf.conf, au sujet de rdr, je lis :
|Redirections cannot reflect packets back through the interface they arrive |on, they can only be redirected to hosts connected to different interfaces |or to the firewall itself.
Or ça semble exactement ce que je cherche à faire : - du traffic entre sur la seule carte réseau de mon petitServeur - je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
-- Nicolas Ecarnot
talon
Nicolas Ecarnot wrote:
|Redirections cannot reflect packets back through the interface they arrive |on, they can only be redirected to hosts connected to different interfaces |or to the firewall itself.
Or ça semble exactement ce que je cherche à faire : - du traffic entre sur la seule carte réseau de mon petitServeur - je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Oui, et ça ne marche pas, ni avec pf ni avec ipnat.
--
Michel TALON
Nicolas Ecarnot <nicolas.ecarnot@alussinan.org> wrote:
|Redirections cannot reflect packets back through the interface they arrive
|on, they can only be redirected to hosts connected to different interfaces
|or to the firewall itself.
Or ça semble exactement ce que je cherche à faire :
- du traffic entre sur la seule carte réseau de mon petitServeur
- je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Oui, et ça ne marche pas, ni avec pf ni avec ipnat.
|Redirections cannot reflect packets back through the interface they arrive |on, they can only be redirected to hosts connected to different interfaces |or to the firewall itself.
Or ça semble exactement ce que je cherche à faire : - du traffic entre sur la seule carte réseau de mon petitServeur - je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Oui, et ça ne marche pas, ni avec pf ni avec ipnat.
--
Michel TALON
James
On 2005-05-10, Nicolas Ecarnot wrote:
|Redirections cannot reflect packets back through the interface they arrive |on, they can only be redirected to hosts connected to different interfaces |or to the firewall itself.
Or ça semble exactement ce que je cherche à faire : - du traffic entre sur la seule carte réseau de mon petitServeur - je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Contrairement à ce que pent laisser penser cette page, il est tout à fait possible de faire ce que tu vuex avec ou sans le NAT.
Exemple avec ET sans le NAT :
-------- 8< --- coupure --------- 8< ---------------- IP_IN="192.168.0.1" table <IP_WAS> persist { 192.168.0.4, 192.168.0.5 } table <IP_SQL> persist { 192.168.0.9 } ... #--- sans NAT rdr on $IF_IN proto tcp from any to $IP_IN port http -> <IP_WAS> port 80 round-robin
#--- avec NAT rdr on $IF_IN proto tcp from any to $IP_IN port $PORT_SQL1 -> <IP_SQL> nat on $IF_IN proto tcp from any to <IP_SQL> port $PORT_SQL1 -> $IP_IN -------- 8< --- fin coupure --------- 8< ------------
Et ajouter ceci sur les machines de IP_WAS : route add default 192.168.0.1
L'exemple est tiré d'un open 3.7, mais le même principe fonctionnait déjà sur 3.5 à l'époque.
HTH
On 2005-05-10, Nicolas Ecarnot <nicolas.ecarnot@alussinan.org> wrote:
|Redirections cannot reflect packets back through the interface they arrive
|on, they can only be redirected to hosts connected to different interfaces
|or to the firewall itself.
Or ça semble exactement ce que je cherche à faire :
- du traffic entre sur la seule carte réseau de mon petitServeur
- je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Contrairement à ce que pent laisser penser cette page, il est tout à
fait possible de faire ce que tu vuex avec ou sans le NAT.
Exemple avec ET sans le NAT :
-------- 8< --- coupure --------- 8< ----------------
IP_IN="192.168.0.1"
table <IP_WAS> persist { 192.168.0.4, 192.168.0.5 }
table <IP_SQL> persist { 192.168.0.9 }
...
#--- sans NAT
rdr on $IF_IN proto tcp from any to $IP_IN port http -> <IP_WAS> port 80
round-robin
#--- avec NAT
rdr on $IF_IN proto tcp from any to $IP_IN port $PORT_SQL1 -> <IP_SQL>
nat on $IF_IN proto tcp from any to <IP_SQL> port $PORT_SQL1 -> $IP_IN
-------- 8< --- fin coupure --------- 8< ------------
Et ajouter ceci sur les machines de IP_WAS :
route add default 192.168.0.1
L'exemple est tiré d'un open 3.7, mais le même principe fonctionnait déjà
sur 3.5 à l'époque.
|Redirections cannot reflect packets back through the interface they arrive |on, they can only be redirected to hosts connected to different interfaces |or to the firewall itself.
Or ça semble exactement ce que je cherche à faire : - du traffic entre sur la seule carte réseau de mon petitServeur - je voulais le rediriger vers un autre host, via la même carte réseau
Je suppose que c'est bien la traduction de 'reflect'.
Contrairement à ce que pent laisser penser cette page, il est tout à fait possible de faire ce que tu vuex avec ou sans le NAT.
Exemple avec ET sans le NAT :
-------- 8< --- coupure --------- 8< ---------------- IP_IN="192.168.0.1" table <IP_WAS> persist { 192.168.0.4, 192.168.0.5 } table <IP_SQL> persist { 192.168.0.9 } ... #--- sans NAT rdr on $IF_IN proto tcp from any to $IP_IN port http -> <IP_WAS> port 80 round-robin
#--- avec NAT rdr on $IF_IN proto tcp from any to $IP_IN port $PORT_SQL1 -> <IP_SQL> nat on $IF_IN proto tcp from any to <IP_SQL> port $PORT_SQL1 -> $IP_IN -------- 8< --- fin coupure --------- 8< ------------
Et ajouter ceci sur les machines de IP_WAS : route add default 192.168.0.1
L'exemple est tiré d'un open 3.7, mais le même principe fonctionnait déjà sur 3.5 à l'époque.
HTH
Nicolas Ecarnot
Le 13-05-2005, James écrivait :
Contrairement à ce que pent laisser penser cette page, il est tout à fait possible de faire ce que tu vuex avec ou sans le NAT.
Exemple avec ET sans le NAT :
-------- 8< --- coupure --------- 8< ---------------- IP_IN="192.168.0.1" table <IP_WAS> persist { 192.168.0.4, 192.168.0.5 } table <IP_SQL> persist { 192.168.0.9 } ... #--- sans NAT rdr on $IF_IN proto tcp from any to $IP_IN port http -> <IP_WAS> port 80 round-robin Et ajouter ceci sur les machines de IP_WAS : route add default 192.168.0.1
L'exemple est tiré d'un open 3.7, mais le même principe fonctionnait déjà sur 3.5 à l'époque.
Merci pour ta réponse, mais je viens de faire un paquet de tests, j'ai désormais un tcpdump sur grosServeur qui me permet de voir les paquets entrants, et hélas çane fonctionne toujours pas. Tout d'abord, mon firewall est un OpenBSD 3.6. Pour ces tests, je désactive même toute règle de filtrage. Je log tout et je ne vois rien sortir de mon interface de petitServeur. Je n'ai donc peu de chance de voir quoi que ce soit entrer dans grosServeur.
Puis-je te demander de vérifier que tu es bien dans le même cas que moi (décris en début de ce thread), à savoir un firewall avec UNE SEULE carte réseau ?
-- Nicolas Ecarnot
Le 13-05-2005, James <james@localdomain.invalid> écrivait :
Contrairement à ce que pent laisser penser cette page, il est tout à
fait possible de faire ce que tu vuex avec ou sans le NAT.
Exemple avec ET sans le NAT :
-------- 8< --- coupure --------- 8< ----------------
IP_IN="192.168.0.1"
table <IP_WAS> persist { 192.168.0.4, 192.168.0.5 }
table <IP_SQL> persist { 192.168.0.9 }
...
#--- sans NAT
rdr on $IF_IN proto tcp from any to $IP_IN port http -> <IP_WAS> port 80
round-robin
Et ajouter ceci sur les machines de IP_WAS :
route add default 192.168.0.1
L'exemple est tiré d'un open 3.7, mais le même principe fonctionnait déjà
sur 3.5 à l'époque.
Merci pour ta réponse, mais je viens de faire un paquet de tests, j'ai
désormais un tcpdump sur grosServeur qui me permet de voir les paquets
entrants, et hélas çane fonctionne toujours pas.
Tout d'abord, mon firewall est un OpenBSD 3.6.
Pour ces tests, je désactive même toute règle de filtrage.
Je log tout et je ne vois rien sortir de mon interface de petitServeur.
Je n'ai donc peu de chance de voir quoi que ce soit entrer dans
grosServeur.
Puis-je te demander de vérifier que tu es bien dans le même cas que moi
(décris en début de ce thread), à savoir un firewall avec UNE SEULE
carte réseau ?
Contrairement à ce que pent laisser penser cette page, il est tout à fait possible de faire ce que tu vuex avec ou sans le NAT.
Exemple avec ET sans le NAT :
-------- 8< --- coupure --------- 8< ---------------- IP_IN="192.168.0.1" table <IP_WAS> persist { 192.168.0.4, 192.168.0.5 } table <IP_SQL> persist { 192.168.0.9 } ... #--- sans NAT rdr on $IF_IN proto tcp from any to $IP_IN port http -> <IP_WAS> port 80 round-robin Et ajouter ceci sur les machines de IP_WAS : route add default 192.168.0.1
L'exemple est tiré d'un open 3.7, mais le même principe fonctionnait déjà sur 3.5 à l'époque.
Merci pour ta réponse, mais je viens de faire un paquet de tests, j'ai désormais un tcpdump sur grosServeur qui me permet de voir les paquets entrants, et hélas çane fonctionne toujours pas. Tout d'abord, mon firewall est un OpenBSD 3.6. Pour ces tests, je désactive même toute règle de filtrage. Je log tout et je ne vois rien sortir de mon interface de petitServeur. Je n'ai donc peu de chance de voir quoi que ce soit entrer dans grosServeur.
Puis-je te demander de vérifier que tu es bien dans le même cas que moi (décris en début de ce thread), à savoir un firewall avec UNE SEULE carte réseau ?
-- Nicolas Ecarnot
James
On 2005-05-18, Nicolas Ecarnot wrote:
Puis-je te demander de vérifier que tu es bien dans le même cas que moi (décris en début de ce thread), à savoir un firewall avec UNE SEULE carte réseau ?
Oui.
Donc t'as une freebox en routeur avec un switch ou hub au cul.
Supposons que l'IP de ta freebox soit IPx en externe (publique) et IPf en interne, ton "petit serveur" ait IPa et ton "gros serveur" IPb et t'as fait les redirection de port comme il le faut :
Quand on fait "telnet IPx 80" depuis chez moi IPc :
I. Sur la freebox : IPc->IPx port 80 IPc->IPa port 80
II. sur le "petit serveur" : IPc->IPa port 80 : rdr from any to any port 80 -> IPb port 80
III. sur le "gros serveur" : IPc->IPb port 80 Réponse : IPb port 80->IPc C'est quoi la route pour IPc sur "gros serveur" ? IPf IPb port 80->IPc (via IPf)
IV. Réponse rejetée.
Si tu change la route sur "gros serveur", ça va donner ça :
III. IPc->IPb port 80 Réponse IPb->IPc C'est quoi la route pour IPc : IPa IPb port 80->IPc via IPa
IV. sur IPa IPb port 80->IPc (ça match une règle de NAT/RDR) IPa port 80->IPc
V. sur freebox, avec un NAT en mode routeur: IPa port 80->IPc IPx port 80->IPc
La boucle est bouclée.
L'exemple est un poil trop compliqué, prends toi une feuille A4 et un beau stylo, fais toi un beau chemin, ça passe sans problème.
On 2005-05-18, Nicolas Ecarnot <nicolas.ecarnot@allussinan.org> wrote:
Puis-je te demander de vérifier que tu es bien dans le même cas que moi
(décris en début de ce thread), à savoir un firewall avec UNE SEULE
carte réseau ?
Oui.
Donc t'as une freebox en routeur avec un switch ou hub au cul.
Supposons que l'IP de ta freebox soit IPx en externe (publique) et IPf
en interne, ton "petit serveur" ait IPa et ton "gros serveur" IPb et
t'as fait les redirection de port comme il le faut :
Quand on fait "telnet IPx 80" depuis chez moi IPc :
I. Sur la freebox :
IPc->IPx port 80
IPc->IPa port 80
II. sur le "petit serveur" :
IPc->IPa port 80 : rdr from any to any port 80 -> IPb port 80
III. sur le "gros serveur" :
IPc->IPb port 80
Réponse : IPb port 80->IPc
C'est quoi la route pour IPc sur "gros serveur" ? IPf
IPb port 80->IPc (via IPf)
IV. Réponse rejetée.
Si tu change la route sur "gros serveur", ça va donner ça :
III.
IPc->IPb port 80
Réponse IPb->IPc
C'est quoi la route pour IPc : IPa
IPb port 80->IPc via IPa
IV. sur IPa
IPb port 80->IPc (ça match une règle de NAT/RDR)
IPa port 80->IPc
V. sur freebox, avec un NAT en mode routeur:
IPa port 80->IPc
IPx port 80->IPc
La boucle est bouclée.
L'exemple est un poil trop compliqué, prends toi une feuille A4 et un
beau stylo, fais toi un beau chemin, ça passe sans problème.
Puis-je te demander de vérifier que tu es bien dans le même cas que moi (décris en début de ce thread), à savoir un firewall avec UNE SEULE carte réseau ?
Oui.
Donc t'as une freebox en routeur avec un switch ou hub au cul.
Supposons que l'IP de ta freebox soit IPx en externe (publique) et IPf en interne, ton "petit serveur" ait IPa et ton "gros serveur" IPb et t'as fait les redirection de port comme il le faut :
Quand on fait "telnet IPx 80" depuis chez moi IPc :
I. Sur la freebox : IPc->IPx port 80 IPc->IPa port 80
II. sur le "petit serveur" : IPc->IPa port 80 : rdr from any to any port 80 -> IPb port 80
III. sur le "gros serveur" : IPc->IPb port 80 Réponse : IPb port 80->IPc C'est quoi la route pour IPc sur "gros serveur" ? IPf IPb port 80->IPc (via IPf)
IV. Réponse rejetée.
Si tu change la route sur "gros serveur", ça va donner ça :
III. IPc->IPb port 80 Réponse IPb->IPc C'est quoi la route pour IPc : IPa IPb port 80->IPc via IPa
IV. sur IPa IPb port 80->IPc (ça match une règle de NAT/RDR) IPa port 80->IPc
V. sur freebox, avec un NAT en mode routeur: IPa port 80->IPc IPx port 80->IPc
La boucle est bouclée.
L'exemple est un poil trop compliqué, prends toi une feuille A4 et un beau stylo, fais toi un beau chemin, ça passe sans problème.