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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [16/10/2014 18:00] Hypathie [Vérifications] |
utilisateurs:hypathie:tutos:proxy-transparent [17/10/2014 08:04] Hypathie [Configuration de squid comme proxy transparent] |
||
---|---|---|---|
Ligne 22: | Ligne 22: | ||
Le serveur squid est installé : | Le serveur squid est installé : | ||
- | <code root>apt-get install --no-install-recommends squid3</code> | + | <code root>apt-get install squid3</code> |
+ | <code root>apt-get build-dep squid3</code> | ||
=====Configuration de squid comme proxy transparent===== | =====Configuration de squid comme proxy transparent===== | ||
===Faire une sauvegarde du fichier de configuration === | ===Faire une sauvegarde du fichier de configuration === | ||
Le fichier est commenté quasiment entièrement. | Le fichier est commenté quasiment entièrement. | ||
- | <code root>cp /etc/squid/squid.conf /etc/squid/squid.conf-saved</code> | + | * On sauvegarde l'original : |
+ | <code root>cp /etc/squid3/squid.conf /etc/squid3/squid.conf_back</code> | ||
- | Puis pour y voir plus clair, on toutes les lignes dé-commentées du fichier original, et on re-crée ce fichier afin qu'il ne contienne que ces lignes. | + | * Puis pour y voir plus clair |
+ | On supprime toutes les lignes commentées et vide du fichier original, et on le re-crée afin qu'il ne contienne que ces lignes dé-commentées par défaut. | ||
- | <code root>echo "`grep -v "^#" /etc/squid/squid.conf | sed -e '/^$/d'`" >/etc/squid/squid.conf</code> | + | <code root>echo "`grep -v "^#" /etc/squid3/squid.conf | sed -e '/^$/d'`" >/etc/squid3/squid.conf</code> |
- | + | ||
- | Ce qui donne : | + | |
- | <code user>less /etc/squid/squid.conf</code> | + | |
- | <code> | + | |
- | acl all src all | + | |
- | acl manager proto cache_object #par défaut | + | |
- | acl localhost src 127.0.0.1/32 # par défaut | + | |
- | acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 # par défaut | + | |
- | acl localnet src 10.0.0.0/8 # RFC1918 possible internal network | + | |
- | acl localnet src 172.16.0.0/12 # RFC1918 possible internal network | + | |
- | acl localnet src 192.168.0.0/16 # RFC1918 possible internal network | + | |
- | acl SSL_ports port 443 # https | + | |
- | acl SSL_ports port 563 # snews | + | |
- | acl SSL_ports port 873 # rsync | + | |
- | acl Safe_ports port 80 # http | + | |
- | acl Safe_ports port 21 # ftp | + | |
- | acl Safe_ports port 443 # https | + | |
- | acl Safe_ports port 70 # gopher | + | |
- | acl Safe_ports port 210 # wais | + | |
- | acl Safe_ports port 1025-65535 # unregistered ports | + | |
- | acl Safe_ports port 280 # http-mgmt | + | |
- | acl Safe_ports port 488 # gss-http | + | |
- | acl Safe_ports port 591 # filemaker | + | |
- | acl Safe_ports port 777 # multiling http | + | |
- | acl Safe_ports port 631 # cups | + | |
- | acl Safe_ports port 873 # rsync | + | |
- | acl Safe_ports port 901 # SWAT | + | |
- | acl purge method PURGE | + | |
- | acl CONNECT method CONNECT | + | |
- | http_access deny all | + | |
- | http_access allow manager localhost | + | |
- | http_access deny manager | + | |
- | http_access allow purge localhost | + | |
- | http_access deny purge | + | |
- | http_access deny !Safe_ports | + | |
- | http_access deny CONNECT !SSL_ports | + | |
- | http_access allow localnet | + | |
- | http_access allow localhost | + | |
- | http_access deny all | + | |
- | icp_access allow localnet | + | |
- | icp_access deny all | + | |
- | http_port 3128 | + | |
- | hierarchy_stoplist cgi-bin ? | + | |
- | cache_mem 8 MB | + | |
- | access_log /var/log/squid/access.log squid | + | |
- | refresh_pattern ^ftp: 1440 20% 10080 | + | |
- | refresh_pattern ^gopher: 1440 0% 1440 | + | |
- | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | + | |
- | refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 | + | |
- | refresh_pattern . 0 20% 4320 | + | |
- | acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9] | + | |
- | upgrade_http0.9 deny shoutcast | + | |
- | acl apache rep_header Server ^Apache | + | |
- | broken_vary_encoding allow apache | + | |
- | extension_methods REPORT MERGE MKACTIVITY CHECKOUT | + | |
- | visible_hostname debian-serveur | + | |
- | hosts_file /etc/hosts | + | |
- | coredump_dir /var/spool/squid | + | |
- | </code> | + | |
* On ajoute ou modifie les lignes suivantes : | * On ajoute ou modifie les lignes suivantes : | ||
Ligne 97: | Ligne 41: | ||
<code> | <code> | ||
acl localnet src 192.168.1.0/24 | acl localnet src 192.168.1.0/24 | ||
- | httpd_accel_host virtual | ||
- | httpd_accel_port 80 | ||
- | httpd_accel_with_proxy on | ||
- | httpd_accel_uses_host_header on | ||
acl lan src 192.168.0.1 192.168.1.0/24 | acl lan src 192.168.0.1 192.168.1.0/24 | ||
http_access allow localhost | http_access allow localhost | ||
+ | http_access allow localnet | ||
http_access allow lan | http_access allow lan | ||
+ | #Default: | ||
+ | access_log /var/log/squid3/access.log squid | ||
</code> | </code> | ||
> ''acl localnet src 192.168.1.0/24'' : le réseau qui doit avoir accès au serveur proxy | > ''acl localnet src 192.168.1.0/24'' : le réseau qui doit avoir accès au serveur proxy | ||
- | >''httpd_accel_host virtual'': Squid comme un accélérateur de http((Dans ce mode, Squid est capable de se substituer à un serveur http, il fonctionne alors en "reverse proxying". Il ne sert donc plus à partager "le monde" pour un réseau, mais à partager une machine (ou plusieurs) "au monde". Ainsi, les clients n'accéderons plus au serveur http, mais à Squid. Dans une configuration classique, Squid devra donc écouter sur le port 80 et avoir connaissance du serveur http qu'il remplace. )) | ||
- | >''httpd_accel_port 80'': choix du port 80 comme port contrôlé par le proxy | ||
- | >''httpd_accel_with_proxy on'': poser squid comme proxy local et comme accélérateur http | ||
- | >''httpd_accel_uses_host_header on'': activer le nom d'hôte | ||
>''acl lan src 192.168.0.1 192.168.1.0/24'': Liste de contrôle : le lan seulement utilise squid | >''acl lan src 192.168.0.1 192.168.1.0/24'': Liste de contrôle : le lan seulement utilise squid | ||
>''http_access allow localhost'': accès à squid permis au localhost | >''http_access allow localhost'': accès à squid permis au localhost | ||
>''http_access allow lan'': idem | >''http_access allow lan'': idem | ||
>''http_port 3128'' : "http_port 3128" devient "http_port 3128 transparent" | >''http_port 3128'' : "http_port 3128" devient "http_port 3128 transparent" | ||
+ | >''access_log /var/log/squid3/access.log squid'' : le fichier de log est commenté, on récupère la ligne dans le fichier sauvegardé et on l'ajoute. | ||
* Ce qui donne : | * Ce qui donne : | ||
+ | <code user>less /etc/squid3/squid.conf</code> | ||
<code> | <code> | ||
- | acl all src all | + | acl manager proto cache_object |
- | acl manager proto cache_object #par défaut | + | acl localhost src 127.0.0.1/32 ::1 |
- | acl localhost src 127.0.0.1/32 # par défaut | + | 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 # par défaut | + | |
acl localnet src 192.168.1.0/24 # RFC1918 possible internal network | acl localnet src 192.168.1.0/24 # RFC1918 possible internal network | ||
- | acl localnet src 192.168.0.0/16 # RFC1918 possible internal network | + | acl SSL_ports port 443 |
- | acl SSL_ports port 443 # https | + | |
- | acl SSL_ports port 563 # snews | + | |
- | acl SSL_ports port 873 # rsync | + | |
acl Safe_ports port 80 # http | acl Safe_ports port 80 # http | ||
acl Safe_ports port 21 # ftp | acl Safe_ports port 21 # ftp | ||
Ligne 137: | Ligne 73: | ||
acl Safe_ports port 591 # filemaker | acl Safe_ports port 591 # filemaker | ||
acl Safe_ports port 777 # multiling http | acl Safe_ports port 777 # multiling http | ||
- | acl Safe_ports port 631 # cups | ||
- | acl Safe_ports port 873 # rsync | ||
- | acl Safe_ports port 901 # SWAT | ||
- | acl purge method PURGE | ||
acl CONNECT method CONNECT | acl CONNECT method CONNECT | ||
- | http_access deny all | + | acl lan src 192.168.1.0/24 |
http_access allow manager localhost | http_access allow manager localhost | ||
http_access deny manager | http_access deny manager | ||
- | http_access allow purge localhost | ||
- | http_access deny purge | ||
http_access deny !Safe_ports | http_access deny !Safe_ports | ||
http_access deny CONNECT !SSL_ports | http_access deny CONNECT !SSL_ports | ||
- | http_access allow localnet | ||
- | httpd_accel_host virtual | ||
- | httpd_accel_port 80 | ||
- | httpd_accel_with_proxy on | ||
- | httpd_accel_uses_host_header on | ||
- | acl lan src 192.168.0.1 192.168.1.0/24 | ||
http_access allow localhost | http_access allow localhost | ||
+ | http_access allow localnet | ||
http_access allow lan | http_access allow lan | ||
http_access deny all | http_access deny all | ||
- | icp_access allow localnet | ||
- | icp_access deny all | ||
http_port 3128 transparent | http_port 3128 transparent | ||
- | hierarchy_stoplist cgi-bin ? | + | coredump_dir /var/spool/squid3 |
- | cache_mem 8 MB | + | #Default: |
- | access_log /var/log/squid/access.log squid | + | access_log /var/log/squid3/access.log squid |
refresh_pattern ^ftp: 1440 20% 10080 | refresh_pattern ^ftp: 1440 20% 10080 | ||
refresh_pattern ^gopher: 1440 0% 1440 | refresh_pattern ^gopher: 1440 0% 1440 | ||
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | ||
- | refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 | ||
refresh_pattern . 0 20% 4320 | refresh_pattern . 0 20% 4320 | ||
- | acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9] | ||
- | upgrade_http0.9 deny shoutcast | ||
- | acl apache rep_header Server ^Apache | ||
- | broken_vary_encoding allow apache | ||
- | extension_methods REPORT MERGE MKACTIVITY CHECKOUT | ||
- | visible_hostname debian-serveur | ||
- | hosts_file /etc/hosts | ||
- | coredump_dir /var/spool/squid | ||
</code> | </code> | ||
===Redémarrer squid=== | ===Redémarrer squid=== | ||
- | <code root>/etc/init.d/squid restart</code> | + | <code root>/etc/init.d/squid3 restart</code> |
S'il n'y a pas d'erreur : | S'il n'y a pas d'erreur : |