Proxy transparent SQUID

Suis entrains de me pauser la question.
Pour faire un proxy transparent, il me faut quelle configuration ???

La configuration A ou la B ??
Et cette ligne magique, je dois la rajouter ou sur mon fichier config ???

[quote]acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl votreDomaine src 192.168.3.0/255.255.255.0
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
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
http_access allow votreDomaine
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|?) 0 0% 0
refresh_pattern (Release|Package(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
error_directory /usr/share/squid/errors/French
hosts_file /etc/hosts
coredump_dir /var/spool/squid
redirect_program /usr/bin/squidGuard
redirect_children 10[/quote]

Le proxy fonctionne, et j’aimerais bien le rendre transparent.
Que par exemple, l’utilisateur passe par le proxy sans le savoir, et sans le configurer ???

LOL m’avez dit un jours

[quote]Salut,
Quelque chose comme ça :

Dans squid3.conf :

Squid normally listens to port 3128

http_port 192.168.0.1:3128 transparent
#http_port 3128 accel

Et la règle IPtables :

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128

Tu devrais aller voir ça : beronono.com/wiki-debian/index.p … e_efficace

Une recherche Google : "squid + transparent"
Idem pour le forum… [/quote]

j’ais chercher , mais j’ai besoins de conseilles

un petit coups de pouce :023

Prends le schéma B.
Sur le serveur squid, trouve la ligne suivante:

Et ton squid sera activé en transparent.

De plus, n’oublie pas les règles firewall
Tu dois faire du DNAT comme tu le suggère plus haut mais tu dois également accepter le passage en Forward

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128

[quote=“7irelide00”]echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128[/quote]

Ils et vrais que pour openVPN je tape cette ligne pour pinguer les machines ce trouvant derrière mon serveur

Donc Juste ces deux lignes ???

IP de mon serveur : 192.168.3.3
Passerelle : 192.168.3.254

Je tourne sur ETH0 donc je dois taper cette ligne ???

Echo 1 > /proc/sys/net/ipv4/ip_forward
Donc la, j’autorise à établir des règle IPTABLE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.3:3128

Moi c’est le port 80 qui me perturbent

sur quelle interface je doit etablir mes regles ???

à l’arrivé d’internet sur mon serveur ???
ou à la sortie du serveur vers le client ???

Aucun des deux.
Sur l’interface LAN de ton serveur, c’est à dire à l’entrée de tes postes clients sur le serveur proxy.

Donc ci j’ais bien compris.

eth0 =>> arrivé d’internet
eth1 ==> distribution d’internet sur mes clients via mon proxy

Donc j’établie mes règles iptables sur eth1 ???

Cette ligne active l'ip_forwarding au niveau du noyau.
Pour que ce soit permanent, tu dois noter une règle dans /etc/sysctl.conf sinon, au redémarrage de ta machine, ça ne marchera plus.

Décommente cette ligne:
[code]net.ipv4.ip_forward=1[/code]


[b]Petite explication:[/b]
Tout ce qui se trouve dans le répertoire /proc sont des informations pour interagir avec le noyau. Dans /proc/sys/net/ipv4, tu peux modifier des options noyaux au niveau du network.
Pour que les options soient permanentes, tu dois les définir dans le fichier /etc/sysctl.conf. Toutes ses options sont "chrooter" dans /proc/sys. Tu n'as plus qu'à noter le reste du chemin du fichier en remplaçant les "/" par des "." et sa valeur.
[code]# echo 1 > /proc/sys/net/ipv4/ip_forward
net.ipv4.ip_forward=1[/code]

Plus de facilité:
[code]# sysctl -A[/code]
Cette commande liste toutes les options noyaux. Exemple pour l'ip_forward:
[code]# sysctl -A 2> /dev/null | grep ip_forward
net.ipv4.ip_forward = 0[/code]
Tu as déjà la synthaxe. Plus qu'à faire une petite redirection ">>" vers /etc/sysctl et changer la valeur. Tu dois plus te casser la tête.  :smiley: 


Pour ta règle iptables, fais un DNAT sur l'interface internet.

Cette ligne active l’ip_forwarding au niveau du noyau.
Pour que ce soit permanent, tu dois noter une règle dans /etc/sysctl.conf sinon, au redémarrage de ta machine, ça ne marchera plus.

Décommente cette ligne:

Petite explication:
Tout ce qui se trouve dans le répertoire /proc sont des informations pour interagir avec le noyau. Dans /proc/sys/net/ipv4, tu peux modifier des options noyaux au niveau du network.
Pour que les options soient permanentes, tu dois les définir dans le fichier /etc/sysctl.conf. Toutes ses options sont “chrooter” dans /proc/sys. Tu n’as plus qu’à noter le reste du chemin du fichier en remplaçant les “/” par des “.” et sa valeur.

# echo 1 > /proc/sys/net/ipv4/ip_forward net.ipv4.ip_forward=1

Plus de facilité:

Cette commande liste toutes les options noyaux. Exemple pour l’ip_forward:

# sysctl -A 2> /dev/null | grep ip_forward net.ipv4.ip_forward = 0
Tu as déjà la synthaxe. Plus qu’à faire une petite redirection “>>” vers /etc/sysctl et changer la valeur. Tu dois plus te casser la tête. :smiley:

Pour ta règle iptables, fais un DNAT sur l’interface internet.

Ok, merci, NIKEL

Mes interfaces réseaux sont :
Eth0 : 192.168.3.3  réseaux freebox, arrive internet
Eth1 : 192.168.3.10 distributions d’internet sur mes clients via mon proxy

Donc au niveau de l’IP forward, c’est OK , tu ma bien aider .
Le souci reste que mes client on pas internet. Sauf , ci je tape le proxy manuellement
Donc ci je récapitule, j’ais rajouter dans mon squid .conf cette ligne
http_port 3128 transparent
En suite, j’ai rajouté cette règle iptables
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.10:3128

et ca fonctionne pas internet

[quote=“fabdunet1313”]Ok, merci, NIKEL

Mes interfaces réseaux sont :
Eth0 : 192.168.3.3  réseaux freebox, arrive internet
Eth1 : 192.168.3.10 distributions d’internet sur mes clients via mon proxy

Donc au niveau de l’IP forward, c’est OK , tu ma bien aider .
Le souci reste que mes client on pas internet. Sauf , ci je tape le proxy manuellement
Donc ci je récapitule, j’ais rajouter dans mon squid .conf cette ligne
http_port 3128 transparent
En suite, j’ai rajouté cette règle iptables
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.10:3128

et ca fonctionne pas internet[/quote]

eth1 est la connexion qui est reliée à internet ?
Ta règle iptables doit être faite sur l’interface du serveur qui reçoit les données d’internet.

[quote]Mes interfaces réseaux sont :
Eth0 : 192.168.3.3  réseaux freebox, arrive internet
Eth1 : 192.168.3.10 distributions d’internet sur mes clients via mon proxy
J’ais re tester aussi, et ca fonctionne pas internet. [/quote]
Donc j’ais re tester

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.3:3128
Cella as pas fonctionné, donc j’ais redémarrer, et j’ais tester celle-ci

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.3:3128

pareilles , ca fonctionne pas .
moi ce qui m’intrigue, c’est ce port 80 .
Qu’esse que c’est ??
Faut peut être faire un iptables sur le port 80 ???

Sans que le squid ne soit démarré, ton pc client sait aller sur internet ?

non .
par contre ci je met le proxy dans internet explorer avec le port , ca fonctionne .

je suis aubliger de renseigner le proxy en fait pour que cella fonctionne .

j’avez poser une question un jours sur le forum "Dit moi, ce que je ne pourrais pas faire sous linux que je pourrais faire sous Windows ??? "
viewtopic.php?f=1&t=27461

Et on ma répondu
[b]- Balancer ton serveur par la fenêtre après t’être énervé sur ISA Server ou Exchange.

  • Payer une licence d’accès client à chaque fois que tu voudras y connecter une nouvelle machine.[/b]

Et la je dirais que c’est faux, car je n’arrive pas autant a faire fonctionner mon proxy transparent sur un system d’exploitation linux .
ca reste trés compliquer linux

[quote=“fabdunet1313”]j’avez poser une question un jours sur le forum "Dit moi, ce que je ne pourrais pas faire sous linux que je pourrais faire sous Windows ??? "
viewtopic.php?f=1&t=27461

Et on ma répondu

[quote]-Balancer ton serveur par la fenêtre après t’être énervé sur ISA Server ou Exchange.

  • Payer une licence d’accès client à chaque fois que tu voudras y connecter une nouvelle machine.[/quote]

Et la je dirais que c’est faux, car je n’arrive pas autant a faire fonctionner mon proxy transparent sur un system d’exploitation linux .
ca reste trés compliquer linux[/quote]

[quote=“fabdunet1313”]j’avez poser une question un jours sur le forum "Dit moi, ce que je ne pourrais pas faire sous linux que je pourrais faire sous Windows ??? "
viewtopic.php?f=1&t=27461

Et on ma répondu
[b]- Balancer ton serveur par la fenêtre après t’être énervé sur ISA Server ou Exchange.

  • Payer une licence d’accès client à chaque fois que tu voudras y connecter une nouvelle machine.[/b]

Et la je dirais que c’est faux, car je n’arrive pas autant a faire fonctionner mon proxy transparent sur un system d’exploitation linux .
ca reste trés compliquer linux[/quote]

Manque d’habitude et d’expérience sans doute :mrgreen:

Moi je dirais qu’effectivement seul des solutions payantes peuvent freiné le passage à linux d’une entreprise, en vrac :

_ les produits ADOBE :078
_ des solutions de gestion commerciales tel que CIEL, EBP
_ des prologiciels particulier ( quoique cela peut être coder pour linux, mais fallait le prévoir dès le départ )
_ les serveurs exchanges et tous les produits cro$oft
_ les suites de dessins assisté par ordinateur ou de musique assistée par ordinateur

Bref que des trucs qui peuvent trouver leur penchant en tous aussi compétent mais pas forcement très pratique de migrer quand on regarde au habitude des utilisateurs ( un ami graphiste avoue que Gimp est vraiment surprenant mais il préfère rester sur toshop car il ne cherche pas une heure ces outils et connais sur le bout des doights sa suite logiciel, quoi que depuis quelques années Adobe prends un malin plaisir à changer différentes choses pas toujours pour le meilleur ).

Comme ma dit mon patron, au début, tu va te casser les dents, mais une fois que tu maitriseras la chausses, tu t’en passeras plu
donc j’en suis la .

[quote]Mes interfaces réseaux sont :
Eth0 : 192.168.3.3  réseaux freebox, arrive internet
Eth1 : 192.168.3.10 distributions d’internet sur mes clients via mon proxy
J’ais re tester aussi, et ca fonctionne pas internet. [/quote]
Donc j’ais re tester

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.3:3128
Cella as pas fonctionné, donc j’ais redémarrer, et j’ais tester celle-ci

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.3:3128

pareilles , ca fonctionne pas .
moi ce qui m’intrigue, c’est ce port 80 .
Qu’esse que c’est ??
Faut peut être faire un iptables sur le port 80 ???

Non.
Par contre ci je mets le proxy dans internet explorer avec le port, ca fonctionne.

ca doit provenir au niveau de mes règles iptable que je ne connais pas du tout.
Je suis entrains de me documenter

Ports 80 : tcp www-http - World Wide Web HTTP

http://fr.wikipedia.org/wiki/Liste_des_ports_logiciels

Sinon as-tu fouiller un peut ça : [url]http://forum.debian-fr.org/viewtopic.php?f=8&t=11658[url]