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

Prochaine révision
Révision précédente
doc:reseau:squid-installer-un-proxy-transparent [15/11/2014 12:56]
Hypathie créée
doc:reseau:squid-installer-un-proxy-transparent [14/10/2016 05:45] (Version actuelle)
smolski tuto à corriger
Ligne 1: Ligne 1:
 ====== squid: installer un proxy transparent ====== ====== squid: installer un proxy transparent ======
  
-  * Objet : intaller ​un proxy transparent ​sur une passerelle pour contrôler la connexion web d'un sous-réseau+  * Objet : squid: installer ​un proxy transparent
   * Niveau requis : {{tag>​débutant avisé}}   * Niveau requis : {{tag>​débutant avisé}}
-  * Commentaires : réseau +  * Commentaires : //réseau ​- installer un proxy transparent sur une passerelle pour contrôler la connexion web d'un sous-réseau//​ 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
-  * Suivi : {{tag>​à-tester ​à-placer}}+  * Suivi : {{tag>​à-tester}}
     * Création par [[user>​Hypathie]] 15/11/2014     * Création par [[user>​Hypathie]] 15/11/2014
-    * Testé par <...> le <​...> ​FIXME +    * Testé par <...> le <...>  
-  * Commentaires sur le forum : [[:url-invalide ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[http://debian-facile.org/​viewtopic.php?​pid=102039#​p102039 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
 +<note warning>​Tuto à corriger selon ce post : \\
 +https://​debian-facile.org/​viewtopic.php?​pid=195663#​p195663</​note>​
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! 
 ===== Introduction ===== ===== Introduction =====
 Lorsqu'​un serveur mandataire est installé, on configure souvent le routage du réseau pour que l'​utilisateur final soit orienté vers le serveur mandataire sans avoir à modifier sa configuration.\\ On parle alors de « proxy transparent ».\\ Cette configuration est obtenue par translation d'​adresse IP. Lorsqu'​un serveur mandataire est installé, on configure souvent le routage du réseau pour que l'​utilisateur final soit orienté vers le serveur mandataire sans avoir à modifier sa configuration.\\ On parle alors de « proxy transparent ».\\ Cette configuration est obtenue par translation d'​adresse IP.
Ligne 39: Ligne 40:
  
 (eth0 est la carte ethernet vers le web)\\ ​ (eth0 est la carte ethernet vers le web)\\ ​
 +
 ''​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE''​ ''​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE''​
  
 === Configuration d'​iptables (NAT) === === Configuration d'​iptables (NAT) ===
 <note important>​ <note important>​
-Si vous avez suivi "​iptables:​un pare-feu pour une passerelle"​ et installé [[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]]+Si vous avez suivi "​iptables:​un pare-feu pour une passerelle"​ et installé [[doc:reseau:​iptables-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>​ </​note>​
   * Pour faire les 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 :
Ligne 86: Ligne 88:
  
 ===Table de routage=== ===Table de routage===
 +
 +<note warning>
 +La section "Table de routage"​ est au mieux inutile et au pire erronée. Voir : https://​debian-facile.org/​viewtopic.php?​pid=195663#​p195663
 +</​note>​
  
   * Éditer le fichier /​etc/​rc.local   * Éditer le fichier /​etc/​rc.local
 <code root>vim /​etc/​rc.local</​code>​ <code root>vim /​etc/​rc.local</​code>​
-<code>+ 
 +<file config rc.local>
 /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.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 /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth1
  
-exit 0</code>+exit 0 
 +</file>
 <​note>​On peut aussi créer un script init.d (update-rc.d) pour sauvegarder les règles de routage.\\ Ou encore préciser dans /​etc/​network/​interfaces la route pour chaque interface.\\ La méthode ci-dessus n'a d'​intérêt que dans le cas où l'IP est attribuée par DHCP au niveau de /​etc/​network/​interfaces.</​note>​ <​note>​On peut aussi créer un script init.d (update-rc.d) pour sauvegarder les règles de routage.\\ Ou encore préciser dans /​etc/​network/​interfaces la route pour chaque interface.\\ La méthode ci-dessus n'a d'​intérêt que dans le cas où l'IP est attribuée par DHCP au niveau de /​etc/​network/​interfaces.</​note>​
  
Ligne 104: Ligne 112:
 ===Configurer /​etc/​sysctl.conf === ===Configurer /​etc/​sysctl.conf ===
 La première ligne est probablement déjà configurée tel que ci-dessous. Modifier aussi la seconde La première ligne est probablement déjà configurée tel que ci-dessous. Modifier aussi la seconde
-<code>+<file config sysctl.conf>
 # Controls IP packet forwarding # Controls IP packet forwarding
 net.ipv4.ip_forward = 1 net.ipv4.ip_forward = 1
Ligne 112: Ligne 120:
 </​code>​ </​code>​
   * Faire prendre en compte une éventuelle modification :   * Faire prendre en compte une éventuelle modification :
-<code root>​sysctl -p</code>+<code root>​sysctl -p 
 +</file>
  
  
Ligne 144: Ligne 153:
  
 === Bloquer tout le trafic du LAN === === 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''​ :+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 150: Ligne 161:
   * **Ce qui donne :**   * **Ce qui donne :**
  
-<code>+<file config squid.conf>
 acl manager proto cache_object acl manager proto cache_object
 acl localhost src 127.0.0.1/​32 ::1 acl localhost src 127.0.0.1/​32 ::1
Ligne 180: Ligne 191:
 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
-</code>+</file> 
 > Il est inutile d'​interdire le trafic du LAN (192.168.1.0/​24) avec une acl ''​acl localnet src 192.168.1.0/​24''​ ; ''​http_access deny localnet''​ car on a tout interdit sauf localhost (127.0.0.0/​8) et localnet. > Il est inutile d'​interdire le trafic du LAN (192.168.1.0/​24) avec une acl ''​acl localnet src 192.168.1.0/​24''​ ; ''​http_access deny localnet''​ car on a tout interdit sauf localhost (127.0.0.0/​8) et localnet.
  
Ligne 192: Ligne 204:
   * **On ajoute une acl pour le lan et on l'​autorise !**   * **On ajoute une acl pour le lan et on l'​autorise !**
 <code root>vim /​etc/​squid3/​squid.conf</​code>​ <code root>vim /​etc/​squid3/​squid.conf</​code>​
-<code>+ 
 +<file config squid.conf>
 <...> <...>
 acl lan src 192.168.1.0/​24 acl lan src 192.168.1.0/​24
 <...> <...>
 http_access allow localnet http_access allow localnet
-</code>+</file> 
  
   * **On recharge squid3 :**   * **On recharge squid3 :**
Ligne 208: Ligne 222:
   * Repérer le périphérique choisi :   * Repérer le périphérique choisi :
 <code root>​fdisk -l</​code>​ <code root>​fdisk -l</​code>​
-<code>​Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système+<file config retour de la commande>​Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système
 <...> <...>
 /​dev/​sdg1 ​             63  1336206374 ​  ​668103156 ​  ​83 ​ Linux /​dev/​sdg1 ​             63  1336206374 ​  ​668103156 ​  ​83 ​ Linux
-/​dev/​sdg2 ​     1336206375 ​ 3907024064 ​ 1285408845 ​  ​83 ​ Linux</code>+/​dev/​sdg2 ​     1336206375 ​ 3907024064 ​ 1285408845 ​  ​83 ​ Linux</file>
  
   * On démonte la partition :   * On démonte la partition :
Ligne 219: Ligne 233:
   * On vérifie que la partition ne soit pas montée parallèlement par le montage automatique des supports amovibles :   * On vérifie que la partition ne soit pas montée parallèlement par le montage automatique des supports amovibles :
 <code root>​df</​code>​ <code root>​df</​code>​
-<code>+<file config retour de la commande>
 Sys. fich.                                              1K-blocks ​  Util. Disponible Uti% Monté Sys. fich.                                              1K-blocks ​  Util. Disponible Uti% Monté
 <...> <...>
 /​dev/​sdg1 ​                                              ​657618716 ​ 202064 ​ 624011496 ​  1% /media/ /​dev/​sdg1 ​                                              ​657618716 ​ 202064 ​ 624011496 ​  1% /media/
 <...> <...>
-</code>+</file>
  
   * Si c'est le cas comme ci-dessus (montée dans /media), on relance umount :   * Si c'est le cas comme ci-dessus (montée dans /media), on relance umount :
Ligne 259: Ligne 273:
   * Connaître UUID de la partition pour le cache de squid3 :   * Connaître UUID de la partition pour le cache de squid3 :
 <code root>​blkid /​dev/​sdg1</​code>​ <code root>​blkid /​dev/​sdg1</​code>​
-<code>​UUID=3e2a6d44-5373-4e69-8c35-54f05443e78d</​code>+<file config retour de la commande>​UUID=3e2a6d44-5373-4e69-8c35-54f05443e78d</​file>
  
   * Configurer le montage de la partition au démarrage du système :   * Configurer le montage de la partition au démarrage du système :
Ligne 276: Ligne 290:
 Pour lui ajouter les directives du fichier "​my-squid.conf en adaptant leurs valeurs à sa configuration Pour lui ajouter les directives du fichier "​my-squid.conf en adaptant leurs valeurs à sa configuration
 <code root>vim /​etc/​squid3/​squid.conf</​code>​ <code root>vim /​etc/​squid3/​squid.conf</​code>​
-<code>acl manager proto cache_object+<file config squid.conf> 
 +acl manager proto cache_object
 acl localhost src 127.0.0.1/​32 ::1 acl localhost src 127.0.0.1/​32 ::1
 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
Ligne 341: Ligne 356:
 visible_hostname routeur-debian visible_hostname routeur-debian
 hosts_file /etc/hosts hosts_file /etc/hosts
-</code>+</file> 
  
 <note tip> <note tip>
Ligne 362: Ligne 378:
   * On crée le cache :   * On crée le cache :
 <code root>​squid3 -z</​code>​ <code root>​squid3 -z</​code>​
-<​code>​2014/​11/​04 12:56:33| Creating Swap Directories+<​code ​config retour de la commande>​2014/​11/​04 12:56:33| Creating Swap Directories
 2014/11/04 12:56:33| /data/cache exists 2014/11/04 12:56:33| /data/cache exists
 2014/11/04 12:56:33| Making directories in /​data/​cache/​00 2014/11/04 12:56:33| Making directories in /​data/​cache/​00
Ligne 458: Ligne 474:
 <code root> tail -f /​var/​log/​squid3/​access.log | grep HIT <code root> tail -f /​var/​log/​squid3/​access.log | grep HIT
 </​code>​ </​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>​+<​code ​config retour de la commande>​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>​
 <note tip> <note tip>
 **__Détail sur  /​var/​log/​squid3/​access.log__ :**\\  **__Détail sur  /​var/​log/​squid3/​access.log__ :**\\ 
  
-On y retrouve tous les accès faits au serveur, c’est-à-dire toutes les requêtes HTTP reçues et la façon dont elles ont été traitées. Le format de ce fichier est paramétrable via l’option access_log du fichier squid.conf. Le format natif d’une entrée de log est le suivant :\\ **''​time elapsed remotehost code/status bytes method URL rfc931 peerstatus/​peerhost type''​**\\ ​+On y retrouve tous les accès faits au serveur, c’est-à-dire toutes les requêtes HTTP reçues et la façon dont elles ont été traitées. Le format de ce fichier est paramétrable via l’option access_log du fichier squid.conf. Le format natif d’une entrée de log est le suivant :\\ 
 + 
 +**''​time elapsed remotehost code/status bytes method URL rfc931 peerstatus/​peerhost type''​**\\ ​
  
 > **''​time''​** : le temps UTC (en ms) auquel la requête a été reçue. > **''​time''​** : le temps UTC (en ms) auquel la requête a été reçue.
Ligne 494: Ligne 512:
   * Par exemple ci-dessous les DNS enregistrés :   * Par exemple ci-dessous les DNS enregistrés :
 <code root>​less /​var/​log/​squid3/​cache.log</​code>​ <code root>​less /​var/​log/​squid3/​cache.log</​code>​
-<​code>​2014/​10/​16 13:11:45| Process ID 3735+<​code ​config retour de la commande>​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| With 65535 file descriptors available
 2014/10/16 13:11:45| Initializing IP Cache... 2014/10/16 13:11:45| Initializing IP Cache...
doc/reseau/squid-installer-un-proxy-transparent.1416052607.txt.gz · Dernière modification: 15/11/2014 12:56 par Hypathie

Pied de page des forums

Propulsé par FluxBB