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:41]
Hypathie [Configuration détaillée du proxy]
utilisateurs:hypathie:tutos:proxy-transparent [05/11/2014 15:35]
martinux_qc [Introduction]
Ligne 26: Ligne 26:
 === Configuration d'​iptables (NAT) === === Configuration d'​iptables (NAT) ===
  
-  * Pour faire choses proprement on flush les tables concernées et on ajoute :+  * Pour faire les choses proprement on flush les tables concernées et on ajoute :
  
 <code root> <code root>
Ligne 41: Ligne 41:
  
 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 50:
  
 <​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 3128 et 3129 car j'​utiliserai les deux ports.**
  
 **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 61:
 </​note>​ </​note>​
  
-  * On conserve nos règles iptables pour le proxy+===On conserve nos règles iptables pour le proxy=== 
 + 
 +  * Méthode 1 : 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>​
 +
 +  * Méthode 2 : on utilise le script /​etc/​rc.local
 +<code root>vim /​etc/​rc.local</​code>​
 +<​code>/​sbin/​iptables -t nat -F
 +
 +/​sbin/​iptables -t nat -X
 +
 +/​sbin/​iptables -t mangle -F
 +
 +/​sbin/​iptables -t mangle -X
 +
 +/​sbin/​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +
 +/​sbin/​iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.1:​3129
 +
 +/​sbin/​iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129
 +
 +/​sbin/​iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP
 +
 +/​sbin/​iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP
 +
 +/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>​
 +
 +Pour activer le script :
 +<code root>
 +/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth1</​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 ===
Ligne 105: Ligne 146:
 ====Vérifier le proxy ==== ====Vérifier le proxy ====
 ===Bloquer tous le trafic du LAN === ===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''​ :+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 176:
 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 261:
 <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 299:
 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 332:
 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 341: Ligne 383:
   * On se déplace dans le répertoire du cache :   * On se déplace dans le répertoire du cache :
 (S'il vous plaît servez-vous de l'​auto-complétion,​ surtout ici) (S'il vous plaît servez-vous de l'​auto-complétion,​ surtout ici)
-<code root>cd /home/​cache</​code>​+<code root>cd /data/cache/</​code>​
  
   * On supprime tous les dossiers ​   * On supprime tous les dossiers ​
Ligne 351: Ligne 393:
  
   * On relance squid3 :   * On relance squid3 :
-<code root>/​etc/​init.d/​squid3 ​start</​code>​+<code root>/​etc/​init.d/​squid3 ​restart</​code>​
 </​note>​ </​note>​
  
Ligne 415: Ligne 457:
   *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>​
-====Vérifier le cache==== +
-===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>​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 467: Ligne 488:
 >​**''​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