Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  1 2 Page suivante
Page: 1 sur 2
squid ne me laisse plus naviguer.
Envoyé par: mali44

Bonjour,

J'ai installé squid sur ma mandrake depuis pas mal de tps, jusqu'à présent je me contentais de passer au travers de squid configuré en proxy via firefox.
Mais comme cette option est facile à "défaire" et que j'utilise squid avec squidguard pour mes enfants je me suis décidé à passer squid en proxy transparent avec ajout au fichier de config de squid des lignes qui vont bien.

# activation de la transparence
 httpd_accel_with_proxy on
 httpd_accel_uses_host_header on
 httpd_accel_host virtual
 httpd_accel_port 80


Je fonctionne avec une seule machine, sans réseau local et suis sous shorewall pour configurer iptable.
mon fichier de règles de shorewall:

#ACTION  SOURCE		DEST      	PROTO	DEST    SOURCE	   ORIGINAL	RATE		USER/
#                       	        	PORT    PORT(S)    DEST		LIMIT		GROUP
 REDIRECT fw	3128      tcp	80	 -

pour rediriger les accès de ma machine (zone fw) au port 80 vers 3128 (port d'écoute de squid)

Mais voilà, avec cette config j'ai le message suivant:

 Access control configuration prevents your request from being allowed at this time

pourtant aucun problème avec qd il configuré directement en proxy sur firefox.

résultat du fichier log de squid avec le proxy transparent:
1128069541.914 0 82.251.xxx.xxx TCP_DENIED/403 1387 GET [lea-linux.org] - NONE/- text/html

et en direct ds firefox
1128070180.447 0 82.251.xxx.xxx TCP_IMS_HIT/304 236 GET [lea-linux.org] - NONE/- application/x-javascript

les adresses IP sont identiques donc à priori pas de pb d'ACL et même pour en avoir le coeur net j'ai permis de 82.0.0.0-255.255.255.255 et bien ça bloque tout de même.

j'ai arpenté le net sans succès et là je vois pas.

merci


Poste le Friday 30 September 2005 11:16:23
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Peux-tu pour m'aider me donner le resultat de la commande:
iptables -L -n -t nat (car je travail toujours directement en ligne de commande

Je ne comprends pas trop comment tu as eu des logs dans squid quand tu fais firefow en direct. En direct vers quoi ?

Peux-tu nous donner un peu plus sur ta config squid ?

Poste le Friday 30 September 2005 11:34:43
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

[root@ordiyo lionel]# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 3128

"Je ne comprends pas trop comment tu as eu des logs dans squid quand tu fais firefow en direct. En direct vers quoi ?"

qd je dis en direct, je veux dire squid directement configuré ds firefox en proxy

et enfin

# Le fichier de configuration fourni par défaut sous Debian
# est très long et contient énormément de commentaires.
# -> Cette version est épurée de tous les commentaires
 
# Pas d'infos sur ces lignes
 hierarchy_stoplist cgi-bin ?
 acl QUERY urlpath_regex cgi-bin \?
 no_cache deny QUERY
 
# Taille maximum de mémoire vive utilisée pour stocker du cache
 cache_mem 16 MB
# Taille maximum des objets stockés dans le cache
 maximum_object_size 15 MB
 
# Paramétrage du cache N°1 sur le premier disque
# - Type de stockage
# - Emplacement du cache
# - Taille totale du cache en MB
# - Nombre de répertoires de niveau 1 et de niveau 2
 cache_dir ufs /var/spool/squid 2000 16 256
 
# Paramétrage du cache N°2 sur le deuxième disque
 cache_dir ufs /squid 3000 16 256
 
# Format des logs :
# -> Avec off, squid utilise son propre format de logs, 
#    mais la date et l'heure ne sont pas lisible.
# -> Avec on, squid utilise le format standard CLF
 emulate_httpd_log off
 
# Ces deux lignes permettent d'intégrer le plugin SquidGuard 
# redirect_program /usr/bin/squidGuard
 redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
 redirect_children 4
 
# Pas d'infos sur ces lignes
 refresh_pattern ^ftp:                1440        20%        10080
 refresh_pattern ^gopher:        1440        0%        1440
 refresh_pattern .                0        20%        4320
 
# **********************************************************
# ** Définition des restrictions pour l'accès au cache    **
# **********************************************************
 
# Liste des acl par défaut -> A conserver
 acl all src 0.0.0.0/0.0.0.0
 acl manager proto cache_object
 acl localhost src 127.0.0.1/255.255.255.255
# acl to_localhost dst 127.0.0.0/8
 acl SSL_ports port 443 563  10000      # https, snews
# acl SSL_ports port 873                # rsync
 acl Safe_ports port 80                # http
 acl Safe_ports port 21                # ftp
 acl Safe_ports port 443 563        # https, snews
 acl Safe_ports port 70                # gopher
 acl Safe_ports port 210                # wais
 acl Safe_ports port 1025-65535        # unregistered ports
 acl Safe_ports port 280                # http-mgmt
 acl Safe_ports port 488                # gss-http
 acl Safe_ports port 591                # filemaker
 acl Safe_ports port 777                # multiling http
# acl Safe_ports port 631                # cups
 acl Safe_ports port 901                # SWAT
 acl purge method PURGE
 acl CONNECT method CONNECT
 
# ACL qui définit le réseau utilisant le cache
 acl MonReseau src 82.0.0.0-82.255.255.255 
 
# Accès par défaut -> A conserver
 http_access allow manager localhost
 http_access deny manager
 http_access allow purge localhost
 http_access deny purge
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports
 http_access allow localhost

# Donne accès au cache au réseau
 http_access allow MonReseau
 
# Interdit tout le reste
 http_access deny all
 
# Autorise les réponses pour tout le monde (par défaut)
 http_reply_access allow all
# Autorise le protocole icp pour tout le monde (par défaut)
 icp_access allow all
 
 coredump_dir /var/spool/squid
 
# navigation anonyme
# activation de la transparence

 httpd_accel_with_proxy on
 httpd_accel_uses_host_header on
 httpd_accel_host virtual
 httpd_accel_port 80

voilà, j'espere que tu pourras m'aider

merci

Poste le Friday 30 September 2005 13:48:51
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

+
REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 3128

pourquoi 0.0.0.0/0 0.0.0.0/0

je suis allé voir ds lefichier de cobfig des zones de shorewall et j'ai:


#ZONE	DISPLAY		COMMENTS
net	Net	Internet zone
loc	Local	Local
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

pas de trace de fw? c'est peut-être normal?

pourtant si c'est squid qui bloque mon accès internet c'est sans doute que ma redirection est effective, non?

et enfin pour info, ma machine est relié à internet via eth0, mais j'ai un eth1 de configuré parce que j'ai rajouté une carte PCI firewire qui a été vu ainsi, et ds différent fichier de conf je vois cette eth1 comme local, ça n'a peut-être aucune incidence mais bon.

Poste le Friday 30 September 2005 14:17:33
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

J'ai un doute, comment ca fonctionne.
Ton client local fait une requete sur le port 80, donc inite une session, iptables le convertit vers le 3128, la SQUID le prend et il re-initie une nouvelle session sur le port 80, et la (a mon avis) rebelotte l'iptables te refais une conversion vers le 3128 et la evidement tu recois une TCP_DENIED.

Essaye de mettre ta rules dans le PREROUTING au lieu de l'OUTPUT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Poste le Friday 30 September 2005 14:40:35
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

"Essaye de mettre ta rules dans le PREROUTING au lieu de l'OUTPUT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128"

je crois que tu as entièrement raison, mais voilà, je ne sais rentrer cette requête avec shorewall, et je ne connais pas la suceptibilité de shorewall si je passe directement une cde iptables, un dernier souhait O:-)

avec la synthaxe de shorewall, à ton avis comment rentrer ça:

ACTION  SOURCE	DEST      PROTO	DEST    SOURCE	ORIGINAL
#	#                               PORT    PORT(S) DEST
#	
REDIRECT fw	3128      tcp	80	 -

voilà la synthaxe de MON ERREUR, à ton avis? j'ai fait plusieurs tentative, mais le résultat de iptables -L -n -t nat n'est pas ds PREROUTING ????


Poste le Friday 30 September 2005 18:10:54
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Et bien franchement je n'en sais rien, c'est bien pour ce genre de trucs que je tapes toujours mes commande iptables a la main, au moins je peux faire ce que je veux.

Maintenant pourquoi conserves-tu shorewall ? Tu peux toujours faire un iptables-save vers un fichier, modifier la rule, et utiliser un simple iptables-restore pour re-implementer les regles. Et donc te passer a partir de maintenant de shorewall.

Poste le Friday 30 September 2005 23:54:29
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Un doute m'assaille, tout tourne bien sur la meme machine ? Si non alors le plus simple est de mettre une exclusion dans l'adresse source, donc un !l_adresse_du_pc en lieu et place de la source.


Poste le Friday 30 September 2005 23:58:51
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

Tout tourne effectivement sur la même machine. Ce que tu expliques? c'est d'exclure ma machine pour le port 80?, c'est ça? le problème c'est que j'ai une ip dynamique attribué via DHCP.
Pour iptable j'ai lu pas mal de doc, mais ne suis pas tres familié des réseaux donc je suppose que c'est qque chose de tres puissant, mais qui reste encore assez obscure pour moi.

juste pour info
est-ce que le résultat attendu de iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

est:

[root@ordiyo lionel]# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
loc_dnat   all  --  0.0.0.0/0            0.0.0.0/0

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain loc_dnat (1 references)
target     prot opt source               destination
REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 3128

si c'est le cas, ça consiste à changer la zone source "fw" en "loc" et rien n'est filtré au niveau des navigateur.

merci encore pour ton aide, une idée?

Poste le Saturday 1 October 2005 10:56:29
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Dommage que tu travailles sur la meme machine sinon ca aurai ete plus simple.

Perso je ne fais que de l'iptables en lignes de commande, on moins on sait ce qu'on fait. (sinon j'aurais pris une machine Windows :-) )

Ne peux-tu pas pour faire un essai, supprimer la ligne de redirect dans ton shorewall et ensuite ajouter manuellement la ligfne que je t'ai donne en iptables ? Et voir si ca marche. Car ton cas est repris sur le site de netfilter, mais evidement pas avec un shorewall.

Si j'ai bien compris shorewall genere les commandes iptables pour toi, donc ca ne devrais pas pose de probleme de compatibilite (pas propre, mais bon on test)

Poste le Saturday 1 October 2005 15:52:04
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

ok, pour tester, mais stp donne moi la cde qui permet de retirer cette règle,parce que si cette règle ne me donne plus accès au web je vais vraiment etre ds la m....

a+

Poste le Saturday 1 October 2005 16:54:20
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Pour la mettre :
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Pour l'enlever
iptables -t nat -D PREROUTING 1

Sinon un simple reboot et tout reviens en ordre. Le fait de faire une commande iptables, ca ne conserve rien en dur.

Mais n'oublie pas d'enlever le redirect de l'autre systeme, sinon ca va poser surement des problemes.

Poste le Saturday 1 October 2005 18:22:31
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

[root@ordiyo lionel]# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
[root@ordiyo lionel]# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 3128

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

résultat, les sites qui sont ds ma blacklist s'affichent sans filtrage :-( est-ce que tout ça est fait pour tourner sur la même machine ?

la ligne de cde de shorewall qui est censé passé squid en proxy transparent ne fonctionne pas, ta cde iptable que j'avais déjà vu sur des squid traitant de squid ne fonctionne pas non plus?

Poste le Saturday 1 October 2005 19:24:19
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

En fait je suis pas sur qu'effectivement tu puisses faire tout ca sur la meme machine.
Mais maintenant as-tu encore un TCP_DENIED dans SQUID ?

Poste le Sunday 2 October 2005 07:37:26
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

non, non, rien tout se passe comme si aucun filtrage n'intervenait???

pour info, sans doute sans aucun importance, mais le message n'était pas TCP_DENIED, mais ACCES DENIED.

Par contre si tu as encore qques instants à me consacrer,

Citation
auteur
Ton client local fait une requete sur le port 80, donc inite une session, iptables le convertit vers le 3128, la SQUID le prend et il re-initie une nouvelle session sur le port 80, et la (a mon avis) rebelotte l'iptables te refais une conversion vers le 3128 et la evidement tu recois une TCP_DENIED.

si j'avais un autre micro ds un reseaun ça changerait quoi, j'initierais tjs une requête qui serait traité par shorewall et qui serait redirigé vers squid non? et ds ce cas squid doit tourner sur quelle machine? le client ou le firewall, toute ces questions parce que je viens d'acheter un autre micro, et que j'ai commandé les cartes wifi pour les mettre en reseau.

a+

Poste le Sunday 2 October 2005 09:01:55
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

En fait si tu avais une autre machine tu pourrais appliquer un filtre plus selectif dans ta regle et dire que les paquets venant de la station2 seulement sont rediriges.

Exemple

pc1 : Workstation juste pour le surfing, windows ou pas (pas d'importance), seul point important sa default gateway est la machine linux.

pc2 : Machines linux. Sur cette machine tourne squid, iptables.

De cette maniere dans ta regle d'iptables tu peux faire la difference entre la requete du PC1 ou du PC2.

Sinon je viens de voir autre chose. Va voir l'url suivante, il y aurait peut-etre une solution pour toi.
[www.ibiblio.org]

Poste le Sunday 2 October 2005 09:51:12
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

merci, je me suis dépêché à survolé ce doc, et à priori c'est pour mon cas, tout tourne sur la meme machine
la formule magique serait:

Citation
auteur
Pour mettre en place les règles, vous devez connaître deux
choses : l'interface par laquelle arrivent les requêtes des
clients devant être transmises au serveur mandataire (j'utiliserai
eth0 dans l'exemple) et le port sur lequel Squid attend (à titre
d'exemple, j'utiliserai la valeur par défaut 3128).

Maintenant, voici les mots magiques de la mise en place d'un
mandataire transparent :

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
-j REDIRECT --to-port 3128

juste une interrogation:

Citation
auteur
l'interface par laquelle arrivent les requêtes des
clients devant être transmises au serveur mandataire (j'utiliserai
eth0 dans l'exemple)

moi je suis connecté à internet par eth0, ou plutôt eth0 me relie à ma freebox, donc je n'ai pas l'impression que ma requete arrive par eth0, elle aurait plutot tendance à vouloir sortir par là apres etre passé par shorewall???

parce que malheureusement cette cde iptable n'a aucune influence sur ma navigation :-( y a un truc qui cloche sur ma machine!!!

Poste le Sunday 2 October 2005 10:35:19
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Dans ton cas les requetes rentrent et sortent sur l'interface eth0

Poste le Sunday 2 October 2005 11:25:57
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: mali44

ok merci, mais cette cde iptable ne donne rien :-(

je suis en train de regarder la doc ethereal pour voir si je peux suivre une requête de ma machine sur une destination quelconque pour voir comment transite ma requête, mais je suis pas sur qu'il puisse me renseigner sur ce type de résultat.

Poste le Sunday 2 October 2005 11:44:31
Répondre     Citer    
Re: squid ne me laisse plus naviguer.
Envoyé par: chromosome

Perso je prefere tcpdump mais bon. Je vois pas comment tu vas faire une analyse avec ce genre d'outil.
Tout ce passe sur la meme carte, avec la meme source et la meme destination. Donc comment faire la difference entre les paquets squid et les tiens ?


tcpdump -n -i eth0 port 80 or port 3128

tu peux aussi mettre un LOG sur ton iptables

iptables -t nat -I PREROUTING 1 -i eth0 -p tcp --dport 80 -j LOG --log-prefix 'REDIRECT'

Quoique je n'ai jamais mis de log sur un PREROUTING, mais ca devrait fonctionner.
Je t'ai aussi mis un -I xxx 1 afin que cette regle soit mise avant le redirect. Donc il te faut dans un premier temps LOG puis REDIRECT.

Maintenant les LOG ca depend un peu de ta distrib et de sa version, souvent dans /var/log, parfois sur la console.

Poste le Sunday 2 October 2005 13:03:55
Répondre     Citer    
Aller à la page:  1 2 Page suivante
Page: 1 sur 2

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
squid ne me laisse plus naviguer.
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons