logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:hypathie:tutos:proxy-transparent [04/11/2014 15:47]
Hypathie [Vérifications]
utilisateurs:hypathie:tutos:proxy-transparent [07/11/2014 16:02]
Hypathie [Introduction]
Ligne 25: Ligne 25:
  
 === Configuration d'​iptables (NAT) === === Configuration d'​iptables (NAT) ===
- +<note important>​ 
-  * Pour faire choses proprement on flush les tables concernées et on ajoute :+Si vous avez suivi "​iptables:​un pare-feu pour une passerelle"​ et installer [[atelier:​chantier:​iptables-un-pare-feu-pour-une-passerelle?&#​le-script-de-la-passerelle|ce script]], passez directement au pre-requis [[utilisateurs:​hypathie:​tutos:​proxy-transparent?&#​table-de-routage|Table de routage]] 
 +</​note>​ 
 +  * Pour faire les choses proprement on flush les tables concernées et on ajoute :
  
 <code root> <code root>
Ligne 41: Ligne 43:
  
 iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP
 +
 +iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP
 </​code>​ </​code>​
  
Ligne 47: Ligne 51:
  
 <​note>​ <​note>​
-**Ne pas oublier d'​ouvrir éventuellement le port 3128 si un pare-feu posé précédemment met à DROP les chaînes INPUT FORWARD et OUTPUT à DROP la table FILTER**+**Port 3129 pour transparent ; port 3128 pour le réseau local.**
  
 **Pour mangle**, une petite citation extrait du [[http://​wiki.squid-cache.org/​ConfigExamples/​Intercept/​LinuxDnat|site officiel de squid]] : **Pour mangle**, une petite citation extrait du [[http://​wiki.squid-cache.org/​ConfigExamples/​Intercept/​LinuxDnat|site officiel de squid]] :
Ligne 58: Ligne 62:
 </​note>​ </​note>​
  
-  * On conserve nos règles iptables ​pour le proxy+  * On sauvegarde les règles iptables ​et on les restaure avec /​etc/​network/​interfaces
 <code root> <code root>
 iptables-save > /​etc/​iptables.squid iptables-save > /​etc/​iptables.squid
 echo "​post-up iptables-restore < /​etc/​iptables.squid"​ >> /​etc/​network/​interfaces</​code>​ echo "​post-up iptables-restore < /​etc/​iptables.squid"​ >> /​etc/​network/​interfaces</​code>​
 +
 +
 +===Table de routage===
 +
 +  * Méthode 2 : on utilise le script /​etc/​rc.local
 +<code root>vim /​etc/​rc.local</​code>​
 +<​code>​
 +/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
 +
 +/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth1
 +
 +exit 0</​code>​
 +
 +  * Côté client l'​adresse IP du proxy squid3 comme route par défaut :
 +<code root>​route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
 +</​code>​
  
 ===Configurer /​etc/​sysctl.conf === ===Configurer /​etc/​sysctl.conf ===
-La première ligne est probablement déjà ​configurer ​tel que ce-dessous. Modifier aussi la seconde+La première ligne est probablement déjà ​configurée ​tel que ci-dessous. Modifier aussi la seconde
 <​code>​ <​code>​
 # Controls IP packet forwarding # Controls IP packet forwarding
Ligne 89: Ligne 109:
   * contrôle d'​accès au proxy par login et mot de passe.   * contrôle d'​accès au proxy par login et mot de passe.
   * contrôle d'​accès en fonction des heures.   * contrôle d'​accès en fonction des heures.
-Néanmoins un proxy transparent permettra de ne rien avoir à configurer dans le navigateur du client qui "​ignorera"​ qu'il passe par un proxy quand il navigue. Cela place donc hors sujet la question l'​accès par login et mot de passe...+Néanmoins un proxy transparent permettra de ne rien avoir à configurer dans le navigateur du client qui "​ignorera"​ qu'il passe par un proxy quand il navigue. Cela place donc hors sujet la question ​de l'​accès par login et mot de passe...
  
-===Faire une sauvegarde du fichier de configuration ===+=== Faire une sauvegarde du fichier de configuration ===
 Le fichier est commenté quasiment entièrement,​ et contient tous les paramètres de lancement de Squid ainsi qu’une description très complète de chacun d’eux. Le fichier est commenté quasiment entièrement,​ et contient tous les paramètres de lancement de Squid ainsi qu’une description très complète de chacun d’eux.
   * **On sauvegarde l'​original** :   * **On sauvegarde l'​original** :
Ligne 104: Ligne 124:
  
 ====Vérifier le proxy ==== ====Vérifier le proxy ====
-===Bloquer ​tous le trafic du LAN === + 
-Dans un premier temps on va simplement vérifier que le proxy bloque le trafic du LAN, pour ce faire on ajoute seulement une acl pour le réseau de la passerelle 192.168.0.0/​24 et on prévient squid qu'il sert de proxy transparent ''​http_port ​3128 transparent''​ :+=== Bloquer ​tout le trafic du LAN === 
 +Dans un premier temps on va simplement vérifier que le proxy bloque le trafic du LAN, pour ce faire on ajoute seulement une acl pour le réseau de la passerelle 192.168.0.0/​24 et on prévient squid qu'il sert de proxy transparent ''​http_port ​3129 transparent''​ :
   * **On édite /​etc/​squid3/​squid.conf**   * **On édite /​etc/​squid3/​squid.conf**
 <code root>vim /​etc/​squid3/​squid.conf</​code>​ <code root>vim /​etc/​squid3/​squid.conf</​code>​
Ligne 135: Ligne 156:
 http_access allow localnet http_access allow localnet
 http_access deny all http_access deny all
-http_port ​3128 transparent+http_port ​3129 transparent
 coredump_dir /​var/​spool/​squid3 coredump_dir /​var/​spool/​squid3
 refresh_pattern ^ftp:           ​1440 ​   20%     10080 refresh_pattern ^ftp:           ​1440 ​   20%     10080
Ligne 220: Ligne 241:
 <code root>vim /​etc/​fstab</​code>​ <code root>vim /​etc/​fstab</​code>​
 On ajoute à la fin du fichier : On ajoute à la fin du fichier :
-<​code>​UUID=3e2a6d44-5373-4e69-8c35-54f05443e78d /data  none  ​bind,rw,​noatime,​async 0 0</​code>​ +<​code>​UUID=3e2a6d44-5373-4e69-8c35-54f05443e78d /data  none  rw,​noatime,​async 0 2</​code>​
  
 +<​note>​Ne pas oublier de modifier l'​ordre d'​amorçage du BIOS, si "​usb"​ est positionnée avant le disque dur, pour qu'​elle soit positionnée après celui.</​note>​
 ===Paramétrage du cache dans /​etc/​squid3/​squid.conf=== ===Paramétrage du cache dans /​etc/​squid3/​squid.conf===
 Avec squid3 le cache n'est pas activer par défaut, pour mettre en place le cache, il faut récupérer les lignes commentées du fichiers d'​origine /​etc/​squid3/​squid.conf_back.\\ ​ Avec squid3 le cache n'est pas activer par défaut, pour mettre en place le cache, il faut récupérer les lignes commentées du fichiers d'​origine /​etc/​squid3/​squid.conf_back.\\ ​
Ligne 258: Ligne 279:
 icp_access allow localhost icp_access allow localhost
 icp_access deny all icp_access deny all
- +http_port 3128 
-http_port 3128 transparent+http_port 3129 transparent
  
 cache_mem 256 MB cache_mem 256 MB
Ligne 291: Ligne 312:
 refresh_pattern -i (/​cgi-bin/​|\?​) 0     ​0% ​     0 refresh_pattern -i (/​cgi-bin/​|\?​) 0     ​0% ​     0
 refresh_pattern .               ​0 ​      ​20% ​    4320 refresh_pattern .               ​0 ​      ​20% ​    4320
- 
-visible_hostname routeur-debian 
  
 dns_timeout 10 seconds dns_timeout 10 seconds
 dns_nameservers 192.168.0.1 212.27.40.240 212.27.40.241 dns_nameservers 192.168.0.1 212.27.40.240 212.27.40.241
 +
 +visible_hostname routeur-debian
 +hosts_file /etc/hosts
 </​code>​ </​code>​
  
Ligne 415: Ligne 437:
   *Il faut un certain temps pour obtenir des HIT   *Il faut un certain temps pour obtenir des HIT
  
-<code root>​tail -f /​var/​log/​squid3/​cache.log | grep  ​TCP_HIT</​code>​ +<code root> tail -f /​var/​log/​squid3/​access.log | grep HIT 
-<​code>​Server: ECS (cdg/​D62E)\r\nX-Cache:​ HIT\r\nContent-Length:​ 471\r\n\r] +</​code>​ 
-1413884011.978     ​66 ​192.168.1.2 TCP_MISS/200 919 POST http://ocsp.digicert.com/ - DIRECT/93.184.220.29 application/ocsp-response [Host: ocsp.digicert.com\r\nUser-Agent:​ Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/​31.0 Iceweasel/​31.2.0\r\nAccept:​ text/​html,​application/​xhtml+xml,​application/​xml;​q=0.9,​*/​*;​q=0.8\r\nAccept-Language: fr,​fr-fr;​q=0.8,en-us;​q=0.5,​en;​q=0.3\r\nAccept-Encoding:​ gzip, deflate\r\nDNT:​ 1\r\nContent-Length:​ 83\r\nContent-Type:​ application/ocsp-request\r\nConnection:​ keep-alive\r\n] [HTTP/1.1 200 OK\r\nAccept-Ranges:​ bytes\r\nCache-Control:​ max-age=514328\r\nContent-Type:​ application/​ocsp-response\r\nDate:​ Tue, 21 Oct 2014 09:32:42 GMT\r\nETag:​ "​5445fdee-1d7"​\r\nExpires:​ Mon, 27 Oct 2014 21:32:42 GMT\r\nLast-Modified:​ Tue, 21 Oct 2014 06:32:14 GMT\r\nServer:​ ECS (cdg/​4484)\r\nX-Cache:​ HIT\r\nContent-Length:​ 471\r\n\r]</​code>​ +<​code>​1415119957.532      0 192.168.1.10 TCP_MEM_HIT/200 15385 GET http://blog.tfrichet.fr/wp-content/uploads/2013/09/owncloud_acces_mobile-600x150.jpg NONE/- image/jpeg</​code>​
- +
-===Voir le fichier /​var/​log/​squid3/​cache.log=== +
- +
-On trouve dans ce fichier beaucoup d’informations allant du nombre de descripteurs de fichiers ouverts jusqu’à la mémoire allouée. Il est possible de se référer à la documentation officielle pour obtenir plus de détails sur ce fichier.\\  +
- +
-  * Par exemple ci-dessous les DNS enregistrés : +
-<code root>​less /​var/​log/​squid3/​cache.log</​code>​ +
-<​code>​2014/​10/​16 13:11:45| Process ID 3735 +
-2014/10/16 13:11:45| With 65535 file descriptors available +
-2014/10/16 13:11:45| Initializing IP Cache... +
-2014/10/16 13:11:45| DNS Socket created at [::], FD 7 +
-2014/10/16 13:11:45| DNS Socket created at 0.0.0.0, FD 8 +
-2014/10/16 13:11:45| Adding domain mondomaine.hyp from /​etc/​resolv.conf +
-2014/10/16 13:11:45| Adding domain mondomaine.hyp from /​etc/​resolv.conf +
-2014/10/16 13:11:45| Adding nameserver 127.0.0.1 from /​etc/​resolv.conf +
-2014/10/16 13:11:45| Adding nameserver 192.168.0.1 from /​etc/​resolv.conf +
-2014/10/16 13:11:45| Adding nameserver 212.27.40.240 from /​etc/​resolv.conf +
-2014/10/16 13:11:45| Adding nameserver 212.27.40.241 from /​etc/​resolv.conf +
-2014/10/16 13:11:45| Unlinkd pipe opened on FD 13<​...></​code>​ +
- +
- +
 <note tip> <note tip>
 **__Détail sur  /​var/​log/​squid3/​access.log__ :**\\  **__Détail sur  /​var/​log/​squid3/​access.log__ :**\\ 
Ligne 468: Ligne 468:
 >​**''​type''​** : le type de contenu issu du header HTTP de la réponse (Les échanges ICP ne contiennent pas cette information). >​**''​type''​** : le type de contenu issu du header HTTP de la réponse (Les échanges ICP ne contiennent pas cette information).
 </​note>​ </​note>​
 +
 +===Voir le fichier /​var/​log/​squid3/​cache.log===
 +
 +On trouve dans ce fichier beaucoup d’informations allant du nombre de descripteurs de fichiers ouverts jusqu’à la mémoire allouée. Il est possible de se référer à la documentation officielle pour obtenir plus de détails sur ce fichier.\\ ​
 +
 +  * Par exemple ci-dessous les DNS enregistrés :
 +<code root>​less /​var/​log/​squid3/​cache.log</​code>​
 +<​code>​2014/​10/​16 13:11:45| Process ID 3735
 +2014/10/16 13:11:45| With 65535 file descriptors available
 +2014/10/16 13:11:45| Initializing IP Cache...
 +2014/10/16 13:11:45| DNS Socket created at [::], FD 7
 +2014/10/16 13:11:45| DNS Socket created at 0.0.0.0, FD 8
 +2014/10/16 13:11:45| Adding domain mondomaine.hyp from /​etc/​resolv.conf
 +2014/10/16 13:11:45| Adding domain mondomaine.hyp from /​etc/​resolv.conf
 +2014/10/16 13:11:45| Adding nameserver 127.0.0.1 from /​etc/​resolv.conf
 +2014/10/16 13:11:45| Adding nameserver 192.168.0.1 from /​etc/​resolv.conf
 +2014/10/16 13:11:45| Adding nameserver 212.27.40.240 from /​etc/​resolv.conf
 +2014/10/16 13:11:45| Adding nameserver 212.27.40.241 from /​etc/​resolv.conf
 +2014/10/16 13:11:45| Unlinkd pipe opened on FD 13<​...></​code>​
 +
 +===Consulter /​var/​log/​squid3/​store.log ===
 +<code root>​less /​var/​log/​squid3/​store.log</​code>​
 +
  
  

Pied de page des forums

Propulsé par FluxBB