Configuration proxy transparent Squid3

Salut,

Donc l’UID est “proxy” si j’ai bien compris, on progresse :slight_smile:

Par contre pour ce qui est de :

Cela donne ceci :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::217:31ff:fecd:44ec/64 scope link
valid_lft forever preferred_lft forever

Donc il semble bien que j’ai une connectivité IPv6 ? J’imagine que ça change la règle ou bien faut il juste remplacer iptables par ip6tables dans la règle plus haut avec “proxy” comme UID ?

Pas de connectivité IPv6 globale puisqu’aucune adresse IPv6 ne porte la mention “scope global”.
Les seules addresses IPv6 présentes sont ::1 qui est l’adresse de loopback interne (équivalent de 127.0.0.1, “scope host”) et une adresse link local en fe80 dont la portée est limitée au lien local (“scope link”, qui n’a pas vraiment d’équivalent en IPv4).

Merci pour l’explication je comprends mieux, j’ai cru effectivement que fe80::217:31ff:fecd:44ec/64 prouvait que j’avais de l’IPv6 mais il faut la mention “scope global”. Si bien que pour la règle iptables ça donne : [quote=“PascalHambourg, post:9, topic:69227”]
`iptables -t nat - A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner squid -j REDIRECT --to-ports 3128
[/quote]

Mis à part que je remplace “squid” par “proxy”, j’ai bon chef ?

Oui, je pense.

PS : c’est de l’IPv6, mais qui ne permet pas de communiquer sur l’internet public.

Bonsoir,

Je reviens aux nouvelles du front mais malheureusement elles ne sont pas bonnes, mais peut être que ce n’est pas trop grave docteur.

J’ai donc tapé dans mon terminal en root la règle suivante :

`iptables -t nat - A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner proxy -j REDIRECT --to-ports 3128

Cela revient à la ligne avec le sigle " >"
Jusque là je ne sais pas si c’est normal, comme je le disais je suis vraiment débutant en iptables.

Ensuite je vais sur iceweasel et là rien à faire, si l’IP et le port 3128 sont cochés dans “configuration manuelle du proxy”, Squid bloque bien les domaines de la liste mais si je décoche, il ne bloque plus rien.

Est-ce que j’ai fait une erreur ?

Je suis vraiment désolé de te prendre autant de temps. Merci en tout cas.

Salut,

[quote=“asno, post:25, topic:69227”]
Cela revient à la ligne avec le sigle " >" Jusque là je ne sais pas si c’est normal, comme je le disais je suis vraiment débutant en iptables.
[/quote]Non, ce n’est pas bon…

Tu as un espace en trop entre - et A
Essaye ça:
iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner proxy -j REDIRECT --to-ports 3128

Salut !!!

Merci !!! Enorme merci à PascalHambourg et à toi aussi lol ! ça fonctionne !!! Trop fort les gars.
Maintenant je ne sais pas si ça résiste au reboot ? Je vais voir comment sauvegarder une règle pour qu’elle se lance à chaque démarrage.

[quote=“asno, post:27, topic:69227”]
Maintenant je ne sais pas si ça résiste au reboot ? Je vais voir comment sauvegarder une règle pour qu’elle se lance à chaque démarrage.
[/quote]Effectivement ça ne tient pas le boot.

Regarde du côté de if-up: https://www.debian-administration.org/article/445/Getting_IPTables_to_survive_a_reboot

Et il y avait une autre erreur dans mon message pourtant déjà corrigé : l’apostrophe manquante à la fin de la commande pour marquer le texte comme code préformaté, ce qui faisait apparaître l’apostrophe au début qui causait l’affichage du signe > car pour le shell il manquait l’apostrophe fermante.

La faute au navigateur que j’ai utilisé à ce moment qui s’obstine à faire des corrections automatiques stupides que je dois annuler quand je les vois…

Pas grave pour les fautes, l’essentiel c’est le résultat. Merci encore à tous les deux et bravo pour votre patience. Je vais aller voir du côté du lien pour finaliser tout ça j’espère :

Salut les pros,

Je suis allé sur ton lien lol “Getting IPTables to survive a reboot”. J’ai suivi la procédure mais je ne sais pas pourquoi ça n’a pas fonctionné.
Du coup j’ai procédé de la manière suivante :

1/ J’ai installé le package iptables-persistent

apt-get install iptables-persistent

Pendant l’installation il demande si il veut que l’on sauvegarde les règles iptables en cours, j’ai répondu non.
A l’installation 2 fichiers de configurations sont générés :
/etc/iptables/rules.v4
/etc/iptables/rules.v6

2/ Une fois l’installation terminée j’ai donc tapé toujours en root, la règle iptables de notre ami PascalHambourg

3/ puis j’ai tapé iptables-save > /etc/iptables/rules.v4

4/ enfin j’ai fait dpkg-reconfigure iptables-persistent, cette fois-ci j’ai répondu oui à la question qui me demande de sauvegarder les règles puis j’ai rebooté

Et là bonne :grinning: et mauvaise nouvelle :cry:

La règle a bien résisté au boot, squid est bien en transparent…jusque là tout va bien sauf qu’il me bloque désormais absolument tout mis à par le “https”

J’ai ceci qui s’affiche sur iceweasel généré par squid3 dès que le site est en http :

ERROR
The requested URL could not be retrieved

The following error was encountered while trying to retrieve the URL: /sports/football/football-mamadou-sakho-ecarte-apres-un-controle-antidopage-positif-23-04-2016-5739663.php

Invalid URL

Some aspect of the requested URL is incorrect.

Some possible problems are:

Missing or incorrect access protocol (should be "http://" or similar)

Missing hostname

Illegal double-escape in the URL-Path

Illegal character in hostname; underscores are not allowed.

Your cache administrator is webmaster.

Désolé pour la longueur du post, mais je voulais être le plus explicite.
Du coup je ne sais pas d’ou ça vient ? est ce que c’est mon squid conf ? ou la règle ou autre ?
Je me demande si ça concerne toujours notre sujet ou doit je en ouvrir un autre ?

Tu as bien spécifié dans la configuration de squid qu’il devait être transparent ?
Un navigateur ne s’adresse pas de la même façon à un serveur (ou un proxy transparent) et à un proxy explicite.

Autant pour moi, effectivement je faisais l’essai sur le deuxième ordinateur que j’essaye de configurer et il n’y avait pas la mention “transparent”.
Malheureusement ça n’a pas changé grand chose, toujours le même blocage au niveau de tout ce qui est en http par contre ce n’est plus l’annonce générée par squid qui apparait mais celle du navigateur qui indique :

La connexion a échoué

Firefox ne peut établir de connexion avec le serveur à l’adresse news.google.fr.

Le site est peut-être temporairement indisponible ou surchargé. Réessayez plus tard ;
Si vous n'arrivez à naviguer sur aucun site, vérifiez la connexion au réseau de votre ordinateur ;
Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy, assurez-vous que Iceweasel est autorisé à accéder au Web.

Est-ce que squid est encore actif ? processus, socket) ?

Eh bien lorsque je tape squid3 -z
Il me répond :
2016/04/23 16:43:07| Squid is already running! Process ID 1573

Il écoute sur le bon port ?

Effectivement je ne comprends pas j’ai bien le port 3128 transparent dans mon squid.conf mais dans /var/log/squid3/cache.log, j’obtiens :
2016/04/23 17:09:57 kid1| ERROR: No forward-proxy ports configured.

Je ne pourrai pas beaucoup t’aider avec la configuration de squid, il y a trop longtemps que je n’y ai pas touché.

D’après une recherche rapide, il faudrait peut-être remplacer “transparent” par “intercept” et/ou ajouter un autre port sans “transparent” ni “intercept”

Ok je te remercie beaucoup en tout cas. Je vais essayer intercept et si besoin j’ouvrirai un autre sujet. Par contre si je rajoute un autre port, pour la règle iptables je change juste 3128 par le nouveau port ? ça paraît logique mais je préfère demander.

La redirection avec iptables devra avoir pour cible le port qui est marqué “transparent” ou “intercept”. L’autre sera pour l’utilisation du proxy explicite.