URL: https://linuxfr.org/forums/linux-debian-ubuntu/posts/proxy-transparent-squid3 Title: Proxy transparent squid3 Authors: esox Date: 2015年02月12日T22:34:32+01:00 License: CC By-SA Tags: squid, linux_mint, debian et firefox Score: 0 Bonsoir à tous, Après de longues heures de recherches et de tests en tous genres, je me décide à venir vers vous pour tenter de solutionner mon problème. BOX 192.168.1.1 Linux Proxy 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64 GNU/Linux PROXY/FIREWALL eth0 192.168.1.101/24 GW 192.168.1.1 eth1 172.16.1.254/24 Linux Mint 17 Qiana 3.13.0-24-generic MINT eth0 172.16.1.1/24 GW 172.16.1.254 DNS 192.168.1.1 Après installation et configuration de Squid3 (configuration basique) dont voici la config: ```sh http_port 3128 visible_hostname Proxy.Test access_log /var/log/squid3/access.log shutdown_lifetime 2 seconds ACL acl LAN src 172.16.1.0/24 acl banned dstdom_regex "/etc/squid3/banned.txt" acl domain dstdomain .thecure.com FILTERS http_access allow LAN !banned !domain ``` Je configure également mon browser Firefox pour qu'il passe par le proxy donc `172.16.1.254:3128` Firewall sur stop on autorise tout, activation du routage et du Nat Tout fonctionne à merveille Par contre pour que le proxy soit transparent, c'est une autre paire de manches Je rajoute transparent ( j'ai lu que c'était intercept maintenant?) après le port dans le fichier de configuration de squid3 donc `http_port 3128 transparent` Y a-t-il autre chose à rajouter dans le fichier? Pas de proxy pour Firefox Activation du firewall L'ensemble des règles ont été testées et fonctionnent. Par contre la/les règle(s) au point 12 concernant le proxy ne marche(nt) pas :( Pas de redirection me semble-t-il! Merci d'avance pour le temps que vous passerez à m'aider. Voici la config ```sh !/bin/bash start() { echo "- Initialisation du Firewall:" # Vidage des tables et des regles iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X echo "- 01. Remise des regles par defaut: [OK]" # Interdire toutes les connections entrantes et sortantes iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP iptables -t filter -P FORWARD DROP echo "- 02. Interdire toutes les connections entrantes et sortantes: [OK]" # Autoriser loopback iptables -t filter -A OUTPUT -o lo -p all -j ACCEPT iptables -t filter -A INPUT -i lo -p all -j ACCEPT echo "- 03. Autoriser Loopback: [OK]" # On drop tout ce qui est invalide iptables -t filter -A INPUT -m state --state INVALID -j DROP iptables -t filter -A OUTPUT -m state --state INVALID -j DROP echo "- 04. Drop tout ce qui est invalide: [OK]" # Ne pas casser les connection etablies iptables -t filter -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT echo "- 05. Ne pas casser les connection etablies: [OK]" # Autoriser SSH # Max 2 connections possibles iptables -t filter -A INPUT -p tcp --dport 22 -m connlimit --connlimit-mask 24 --connlimit-above 2 -j REJECT iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT echo "- 06. Autoriser SSH: [OK]" # Autoriser ICMP -Ping- iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Limite du ping iptables -t filter -A INPUT -p icmp -m limit --limit 2/s --limit-burst 10 -j ACCEPT iptables -t filter -A INPUT -p icmp -j REJECT echo "- 07. Autoriser Icmp: [OK]" # Autoriser Http et le Https iptables -t filter -A OUTPUT -p tcp --dport 80 -o eth0 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 443 -o eth0 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 80 -s 172.16.1.1 -o eth0 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 443 -s 172.16.1.1 -o eth0 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 9091 -s 172.16.1.1 -o eth0 -j ACCEPT echo "- 08. Autoriser Http et Https: [OK]" # Autoriser DNS iptables -t filter -A OUTPUT -p udp --dport 53 -o eth0 -j ACCEPT iptables -t filter -A FORWARD -p udp --dport 53 -o eth0 -j ACCEPT echo "- 09. Autoriser DNS: [OK]" # Activation du routage echo 1> /proc/sys/net/ipv4/ip_forward echo "- 10. Activation du routage: [OK]" # Activation du NAT #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.101 echo "- 11. Activation du NAT: [OK]" # Redirection vers le Proxy #iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 #iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --gid-owner proxy -j ACCEPT #iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 172.16.1.254:3128 echo "- 12. Redirection vers le Proxy Squid3: [OK]" echo } stop() { echo "- Remise du firewall par defaut:" # Vidage des tables et des regles iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X echo "- 01. Vidage des tables et des regles: [OK]" # Regles par defaut iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT echo "- 02. Autoriser toutes les connections entrantes et sortantes: [OK]" # Activation du routage echo 1> /proc/sys/net/ipv4/ip_forward echo "- 03. Activation du routage: [OK]" # Activation du NAT #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.1.101 echo "- 04. Activation du NAT: [OK]" echo } restart() { echo "- Redemarrage du firewall:" echo stop && sleep 2 && start echo echo "- Arret et redemarrage du firewall: [OK]" echo } status() { echo "- Liste des regles" iptables -L -v echo } usage() { echo "Usage: 0ドル {start|stop|restart|status}" exit 1 } case "1ドル" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) usage ;; esac exit 0 ```