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 [05/11/2014 07:37]
Hypathie [Configuration détaillée du proxy]
utilisateurs:hypathie:tutos:proxy-transparent [15/11/2014 12:39]
Hypathie [Introduction]
Ligne 7: Ligne 7:
  
 ===== Introduction ===== ===== Introduction =====
-Voir : [[http://​www.squid-cache.org/​|le site de squid]]\\  +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.
-[[http://​wiki.squid-cache.org/​ConfigExamples/​Intercept/​LinuxDnat|proxy transparent]]\\  +
-Voir aussi : [[http://​www.sput.nl/​software/​squid33.html]]\\  +
-[[http://​www.linux-france.org/​prj/​edu/​archinet/​systeme/​ch40s02.html]]+
  
 +<​code>​
 +|BOX_adsl|________(192.168.0.1:​eth0)-|ROUTEUR-DEBIAN-(eth1:​192.168.1.1)
 +  |                                  |PROXY ​        ​|  ​
 +  |                                                 |
 +sous-réseau A                                 ​sous-réseau B
 +  |                                                 |
 +  |_CLIENT-A1 (eth0:​192.168.0.10) ​                  ​|_CLIENT-B1 (eth0:​192.168.1.3)
 +  |_CLIENT-AX (eth0:​192.168.0.xx) ​                  ​|_CLIENT-BX (eth0:​192.168.1.x)
 +</​code>​
 +Les clients du réseau B de profitent du proxy de la passerelle sans avoir à configurer leurs navigateurs.
  
-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 configurationOn parle alors de « proxy transparent ​»Cette configuration est obtenue par translation d'​adresse IP.+===Références=== 
 +  * [[http://​www.squid-cache.org/​|le site de squid]] 
 +  * [[http://​wiki.squid-cache.org/​ConfigExamples/​Intercept/​LinuxDnat|proxy transparent]] 
 +  * [[http://​www.sput.nl/​software/​squid33.html]] 
 +  * [[http://​www.linux-france.org/​prj/​edu/​archinet/​systeme/​ch40s02.html]]
  
 ====Prérequis==== ====Prérequis====
Ligne 25: Ligne 36:
  
 === 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 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]] 
 +</​note>​ 
 +  * Pour faire les choses proprement on flush les tables concernées et on ajoute :
  
 <code root> <code root>
Ligne 41: Ligne 54:
  
 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 iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP
Ligne 50: Ligne 62:
  
 <​note>​ <​note>​
-**Port ​3128 et 3129 car j'​utiliserai les deux ports.**+**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#​iptables_configuration]] :
  
   Due to the NAT security vulnerabilities it is also a very good idea   Due to the NAT security vulnerabilities it is also a very good idea
Ligne 61: Ligne 73:
 </​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
- +
-  ​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 +===Table de routage===
- +
-/​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+
  
 +  * Éditer le fichier /​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.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
  
Ligne 93: Ligne 89:
  
 exit 0</​code>​ exit 0</​code>​
- +<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>
-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 :   * Côté client l'​adresse IP du proxy squid3 comme route par défaut :
 +Par exmple :
 <code root>​route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 <code root>​route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
 </​code>​ </​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 130: Ligne 122:
   * 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 145: Ligne 137:
  
 ====Vérifier le proxy ==== ====Vérifier le proxy ====
-===Bloquer ​tous 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**
Ligne 211: Ligne 204:
 <code root>​fdisk -l</​code>​ <code root>​fdisk -l</​code>​
 <​code>​Périphérique Amorce ​ Début ​       Fin      Blocs     ​Id ​ Système <​code>​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</​code>​
Ligne 216: Ligne 210:
   * Formater le périphérique en ext3 ou reiserfs :   * Formater le périphérique en ext3 ou reiserfs :
 On démonte la partition : On démonte la partition :
 +<note important>​Modifier sdg1 par le nom de votre partition</​note>​
 <​code>​umount /​dev/​sdg1</​code>​ <​code>​umount /​dev/​sdg1</​code>​
  
Ligne 261: Ligne 256:
 <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  ​rw,​noatime,​async 0 2</​code>​+<​code>​UUID=3e2a6d44-5373-4e69-8c35-54f05443e78d /​data  ​ext3  ​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>​ <​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>​

Pied de page des forums

Propulsé par FluxBB