J'ai un meme serveur qui gère iptables et squid!
donc toute les requètes HTTP sont finalement réalisée par squid.
j'ai une règle iptables qui remap tout ce qui arrive sur le port 81 vers une
autre machine sur le port 80.
donc quand moi, derrier mon proxy, je fait une requète sur le port 81,
c'est envoyé vers squid qui execute cette requete.
comme on est en local sur le serveur qui gère les règle de firewall, on ne
passe pas par ma règle PREROUTING et donc on remape pas
Il faut donc une règle du OUTPUT, mais voila, il est spécifié dans la doc
d'iptable que
OUTPUT + DNAT = pas marcher encore si DNAT != localhost
donc comment puis-je faire pour palier a ce problème
en gros la question revient a dire:
depuis le serveur A qui contient iptables
comment faire un :
TELNET www.site.com 81
ou:
www.site.com pointe sur A
mais est en fait hébergé sur un serveur B.
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
You
Etienne SOBOLE wrote:
J'ai un meme serveur qui gère iptables et squid! donc toute les requètes HTTP sont finalement réalisée par squid.
j'ai une règle iptables qui remap tout ce qui arrive sur le port 81 vers une autre machine sur le port 80.
donc quand moi, derrier mon proxy, je fait une requète sur le port 81, c'est envoyé vers squid qui execute cette requete. comme on est en local sur le serveur qui gère les règle de firewall, on ne passe pas par ma règle PREROUTING et donc on remape pas Il faut donc une règle du OUTPUT, mais voila, il est spécifié dans la doc d'iptable que OUTPUT + DNAT = pas marcher encore si DNAT != localhost
donc comment puis-je faire pour palier a ce problème
en gros la question revient a dire: depuis le serveur A qui contient iptables comment faire un : TELNET www.site.com 81
ou: www.site.com pointe sur A mais est en fait hébergé sur un serveur B.
Salut, je suis pour le moment dans la doc de netfilter et je me suis souvenu de ta question... Je débute visiblement beaucoup plus que toi, donc je ne suis pas sûr de répondre exactement à ta question... Mais bon, je ne vois pas d'autre réponses et puis, si ça peut t'avancer ?
http://www.netfilter.org/documentation/FAQ/fr/netfilter-faq-3.html La FAQ NetFilter dit:
3.12 Comment construire un proxy transparent avec squid et iptables ?
D'abord, bien sûr, vous avez besoin d'une règle DNAT ou REDIRECT qui fonctionne. Utilisez REDIRECT seulement si squid tourne sur la même machine que la machine qui fait NAT. Exemple :
Après ça, vous devez configurer squid correctement. Nous ne pouvons donner que des exemples courts ici, allez voir la doc de squid pour plus d'infos.
Le fichier squid.conf pour squid 2.3 a besoin de quelque chose comme ça :
http_port 3128 httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
Squid 2.4 a besoin d'une ligne additionnelle :
httpd_accel_single_host off
Etienne SOBOLE wrote:
J'ai un meme serveur qui gère iptables et squid!
donc toute les requètes HTTP sont finalement réalisée par squid.
j'ai une règle iptables qui remap tout ce qui arrive sur le port 81 vers une
autre machine sur le port 80.
donc quand moi, derrier mon proxy, je fait une requète sur le port 81,
c'est envoyé vers squid qui execute cette requete.
comme on est en local sur le serveur qui gère les règle de firewall, on ne
passe pas par ma règle PREROUTING et donc on remape pas
Il faut donc une règle du OUTPUT, mais voila, il est spécifié dans la doc
d'iptable que
OUTPUT + DNAT = pas marcher encore si DNAT != localhost
donc comment puis-je faire pour palier a ce problème
en gros la question revient a dire:
depuis le serveur A qui contient iptables
comment faire un :
TELNET www.site.com 81
ou:
www.site.com pointe sur A
mais est en fait hébergé sur un serveur B.
Salut, je suis pour le moment dans la doc de netfilter et je me suis
souvenu de ta question... Je débute visiblement beaucoup plus que toi,
donc je ne suis pas sûr de répondre exactement à ta question... Mais
bon, je ne vois pas d'autre réponses et puis, si ça peut t'avancer ?
http://www.netfilter.org/documentation/FAQ/fr/netfilter-faq-3.html
La FAQ NetFilter dit:
3.12 Comment construire un proxy transparent avec squid et iptables ?
D'abord, bien sûr, vous avez besoin d'une règle DNAT ou REDIRECT qui
fonctionne. Utilisez REDIRECT seulement si squid tourne sur la même
machine que la machine qui fait NAT. Exemple :
J'ai un meme serveur qui gère iptables et squid! donc toute les requètes HTTP sont finalement réalisée par squid.
j'ai une règle iptables qui remap tout ce qui arrive sur le port 81 vers une autre machine sur le port 80.
donc quand moi, derrier mon proxy, je fait une requète sur le port 81, c'est envoyé vers squid qui execute cette requete. comme on est en local sur le serveur qui gère les règle de firewall, on ne passe pas par ma règle PREROUTING et donc on remape pas Il faut donc une règle du OUTPUT, mais voila, il est spécifié dans la doc d'iptable que OUTPUT + DNAT = pas marcher encore si DNAT != localhost
donc comment puis-je faire pour palier a ce problème
en gros la question revient a dire: depuis le serveur A qui contient iptables comment faire un : TELNET www.site.com 81
ou: www.site.com pointe sur A mais est en fait hébergé sur un serveur B.
Salut, je suis pour le moment dans la doc de netfilter et je me suis souvenu de ta question... Je débute visiblement beaucoup plus que toi, donc je ne suis pas sûr de répondre exactement à ta question... Mais bon, je ne vois pas d'autre réponses et puis, si ça peut t'avancer ?
http://www.netfilter.org/documentation/FAQ/fr/netfilter-faq-3.html La FAQ NetFilter dit:
3.12 Comment construire un proxy transparent avec squid et iptables ?
D'abord, bien sûr, vous avez besoin d'une règle DNAT ou REDIRECT qui fonctionne. Utilisez REDIRECT seulement si squid tourne sur la même machine que la machine qui fait NAT. Exemple :
Après ça, vous devez configurer squid correctement. Nous ne pouvons donner que des exemples courts ici, allez voir la doc de squid pour plus d'infos.
Le fichier squid.conf pour squid 2.3 a besoin de quelque chose comme ça :
http_port 3128 httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
Squid 2.4 a besoin d'une ligne additionnelle :
httpd_accel_single_host off
Etienne SOBOLE
"You" a écrit dans le message de news: bmugqs$qirer$
Salut, je suis pour le moment dans la doc de netfilter et je me suis souvenu de ta question... Je débute visiblement beaucoup plus que toi, donc je ne suis pas sûr de répondre exactement à ta question... Mais bon, je ne vois pas d'autre réponses et puis, si ça peut t'avancer ?
Mais ce n'est pas ce que je souhaite faire. Cette configuration force tout le monde a passer par le proxy! il est nécessaire dans mon cas que cela reste un choix.
Etienne
"You" <reply-me@skynet.be> a écrit dans le message de news:
bmugqs$qirer$1@ID-197627.news.uni-berlin.de...
Salut, je suis pour le moment dans la doc de netfilter et je me suis
souvenu de ta question... Je débute visiblement beaucoup plus que toi,
donc je ne suis pas sûr de répondre exactement à ta question... Mais
bon, je ne vois pas d'autre réponses et puis, si ça peut t'avancer ?
Mais ce n'est pas ce que je souhaite faire.
Cette configuration force tout le monde a passer par le proxy!
il est nécessaire dans mon cas que cela reste un choix.
"You" a écrit dans le message de news: bmugqs$qirer$
Salut, je suis pour le moment dans la doc de netfilter et je me suis souvenu de ta question... Je débute visiblement beaucoup plus que toi, donc je ne suis pas sûr de répondre exactement à ta question... Mais bon, je ne vois pas d'autre réponses et puis, si ça peut t'avancer ?
Mais ce n'est pas ce que je souhaite faire. Cette configuration force tout le monde a passer par le proxy! il est nécessaire dans mon cas que cela reste un choix.
Mais ce n'est pas ce que je souhaite faire. Cette configuration force tout le monde a passer par le proxy! il est nécessaire dans mon cas que cela reste un choix.
Etienne À part segmenter ton réseau, je ne vois pas comment tu peux "en
faire un choix". Soit le routeur "dnate" les paquets sortant vers le port 80, soit il ne le fait pas. Tu pourrais segmenter ton réseau, avec un segment qui aurait ce proxying transparent, et l'autre sur lequel les utilisateurs pourront, soit utiliser le proxy (en le stipulant dans les confs), soit se connecter directement (nat -> masquerade).
Tu peux aussi faire du proxying transparant en intégrant une règle iptables par machine, au lieu du routeur, ce qui pourrait également régler ton pbl.
-- °°°°°°°°°----------------°°°°°°°°° Pierre BETOUIN
Mais ce n'est pas ce que je souhaite faire. Cette configuration force tout
le monde a passer par le proxy! il est nécessaire dans mon cas que cela
reste un choix.
Etienne
À part segmenter ton réseau, je ne vois pas comment tu peux "en
faire un choix".
Soit le routeur "dnate" les paquets sortant vers le port 80, soit il ne le
fait pas.
Tu pourrais segmenter ton réseau, avec un segment qui aurait ce proxying
transparent, et l'autre sur lequel les utilisateurs pourront, soit
utiliser le proxy (en le stipulant dans les confs), soit se connecter
directement (nat -> masquerade).
Tu peux aussi faire du proxying transparant en intégrant une règle
iptables par machine, au lieu du routeur, ce qui pourrait également
régler ton pbl.
--
°°°°°°°°°----------------°°°°°°°°°
Pierre BETOUIN
soulrider@unsigned.ath.cx
°°°°°°°°°----------------°°°°°°°°°
Mais ce n'est pas ce que je souhaite faire. Cette configuration force tout le monde a passer par le proxy! il est nécessaire dans mon cas que cela reste un choix.
Etienne À part segmenter ton réseau, je ne vois pas comment tu peux "en
faire un choix". Soit le routeur "dnate" les paquets sortant vers le port 80, soit il ne le fait pas. Tu pourrais segmenter ton réseau, avec un segment qui aurait ce proxying transparent, et l'autre sur lequel les utilisateurs pourront, soit utiliser le proxy (en le stipulant dans les confs), soit se connecter directement (nat -> masquerade).
Tu peux aussi faire du proxying transparant en intégrant une règle iptables par machine, au lieu du routeur, ce qui pourrait également régler ton pbl.
-- °°°°°°°°°----------------°°°°°°°°° Pierre BETOUIN
°°°°°°°°°----------------°°°°°°°°°
Etienne SOBOLE
"Pierre BETOUIN" a écrit dans le message de news:
À part segmenter ton réseau, je ne vois pas comment tu peux "en faire un choix". Soit le routeur "dnate" les paquets sortant vers le port 80, soit il ne le fait pas.
en l'occurence, je souhaite qu'il DNAT comme tu dis le port 81 sur le port 80. et c'est justement ce qu'il ne fait pas !!!
le proxy transparent n'est pas une solution Car s'il est transparent comment depuis ta configuration de navigateur du lui indiquera de ne pas l'utiliser si tel est le souhait de l'utilisateur.
Tu pourrais segmenter ton réseau, avec un segment qui aurait ce proxying transparent, et l'autre sur lequel les utilisateurs pourront, soit utiliser le proxy (en le stipulant dans les confs), soit se connecter directement (nat -> masquerade).
Hum... ca c'est encore moins possible..
Tu peux aussi faire du proxying transparant en intégrant une règle iptables par machine, au lieu du routeur, ce qui pourrait également régler ton pbl.
le plus simple pour règler mon problème est finalement de mettre squid et les routeurs sur deux machines différentes. mais malheureusement cela n'est pas non plus possible... dure vie :)
pourquoi ai je tant que contrainte : 1 : Il est hors de question pour moi de toutcher au serveur HTTP sur lequel je reroute tous ce qui arrive par le port 81 2 : Les règles iptables doivent etre faite une fois pour toutes. je ne pourrais pas y revenir une fois installée
Pour l'instant j'explore une piste qui reviendrai a configurer une deuxième IP sur le routeur et faire appeler cette deuxième IP par SQUID. ce qui aura pour résultat j'espère de faire passer le paquet par le PREROUTING du firewall. Mais j'avoue que c'est pas terrible comme idée... surtout qu'il pourrait bien y avoir plusieurs serveur HTTP derriere le routeur (et donc sur des ports différents)...
Etienne
"Pierre BETOUIN" <soulrider@unsigned.ath.cx> a écrit dans le message de
news: pan.2003.10.20.13.52.14.16266@unsigned.ath.cx...
À part segmenter ton réseau, je ne vois pas comment tu peux "en
faire un choix".
Soit le routeur "dnate" les paquets sortant vers le port 80, soit il ne le
fait pas.
en l'occurence,
je souhaite qu'il DNAT comme tu dis le port 81 sur le port 80.
et c'est justement ce qu'il ne fait pas !!!
le proxy transparent n'est pas une solution Car s'il est transparent comment
depuis ta configuration de navigateur du lui indiquera de ne pas l'utiliser
si tel est le souhait de l'utilisateur.
Tu pourrais segmenter ton réseau, avec un segment qui aurait ce proxying
transparent, et l'autre sur lequel les utilisateurs pourront, soit
utiliser le proxy (en le stipulant dans les confs), soit se connecter
directement (nat -> masquerade).
Hum... ca c'est encore moins possible..
Tu peux aussi faire du proxying transparant en intégrant une règle
iptables par machine, au lieu du routeur, ce qui pourrait également
régler ton pbl.
le plus simple pour règler mon problème est finalement de mettre squid et
les routeurs sur deux machines différentes.
mais malheureusement cela n'est pas non plus possible... dure vie :)
pourquoi ai je tant que contrainte :
1 : Il est hors de question pour moi de toutcher au serveur HTTP sur lequel
je reroute tous ce qui arrive par le port 81
2 : Les règles iptables doivent etre faite une fois pour toutes. je ne
pourrais pas y revenir une fois installée
Pour l'instant j'explore une piste qui reviendrai a configurer une deuxième
IP sur le routeur et faire appeler cette deuxième IP par SQUID. ce qui aura
pour résultat j'espère de faire passer le paquet par le PREROUTING du
firewall. Mais j'avoue que c'est pas terrible comme idée... surtout qu'il
pourrait bien y avoir plusieurs serveur HTTP derriere le routeur (et donc
sur des ports différents)...
À part segmenter ton réseau, je ne vois pas comment tu peux "en faire un choix". Soit le routeur "dnate" les paquets sortant vers le port 80, soit il ne le fait pas.
en l'occurence, je souhaite qu'il DNAT comme tu dis le port 81 sur le port 80. et c'est justement ce qu'il ne fait pas !!!
le proxy transparent n'est pas une solution Car s'il est transparent comment depuis ta configuration de navigateur du lui indiquera de ne pas l'utiliser si tel est le souhait de l'utilisateur.
Tu pourrais segmenter ton réseau, avec un segment qui aurait ce proxying transparent, et l'autre sur lequel les utilisateurs pourront, soit utiliser le proxy (en le stipulant dans les confs), soit se connecter directement (nat -> masquerade).
Hum... ca c'est encore moins possible..
Tu peux aussi faire du proxying transparant en intégrant une règle iptables par machine, au lieu du routeur, ce qui pourrait également régler ton pbl.
le plus simple pour règler mon problème est finalement de mettre squid et les routeurs sur deux machines différentes. mais malheureusement cela n'est pas non plus possible... dure vie :)
pourquoi ai je tant que contrainte : 1 : Il est hors de question pour moi de toutcher au serveur HTTP sur lequel je reroute tous ce qui arrive par le port 81 2 : Les règles iptables doivent etre faite une fois pour toutes. je ne pourrais pas y revenir une fois installée
Pour l'instant j'explore une piste qui reviendrai a configurer une deuxième IP sur le routeur et faire appeler cette deuxième IP par SQUID. ce qui aura pour résultat j'espère de faire passer le paquet par le PREROUTING du firewall. Mais j'avoue que c'est pas terrible comme idée... surtout qu'il pourrait bien y avoir plusieurs serveur HTTP derriere le routeur (et donc sur des ports différents)...