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 [04/11/2014 15:30] Hypathie [Configuration détaillée du proxy] |
utilisateurs:hypathie:tutos:proxy-transparent [04/11/2014 16:39] Hypathie [Introduction] |
||
---|---|---|---|
Ligne 58: | Ligne 58: | ||
</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/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 180: | Ligne 216: | ||
<code root>df</code> | <code root>df</code> | ||
<code> | <code> | ||
+ | Sys. fich. 1K-blocks Util. Disponible Uti% Monté | ||
<...> | <...> | ||
/dev/sdg1 657618716 202064 624011496 1% /media/ | /dev/sdg1 657618716 202064 624011496 1% /media/ | ||
Ligne 185: | Ligne 222: | ||
</code> | </code> | ||
- | * Si c'est le cas on relance umount : | + | * Si c'est le cas comme ci-dessus (montée dans /media), on relance umount : |
<code root>umount /dev/sdg1</code> | <code root>umount /dev/sdg1</code> | ||
- | * Et on désactive le montage automatique des supports amovibles : | + | * On désactive le montage automatique des supports amovibles : |
- | Par exemple avec lxde : gestionnaire de fichiers -> Éditer -> Préférences -> Gestion des volumes\ | + | __Par exemple avec lxde__ : |
- | Puis on décoche "Monter les volumes amovibles automatiquement lors du démarrage" et "Monter les volumes amovibles automatiquement quand ils sont insérés". | + | |
+ | -> gestionnaire de fichiers -> Éditer -> Préférences -> Gestion des volumes | ||
+ | |||
+ | |||
+ | __Puis on décoche__\\ | ||
+ | -"Monter les volumes amovibles automatiquement lors du démarrage" | ||
+ | -"Monter les volumes amovibles automatiquement quand ils sont insérés". | ||
* On formate la partition : | * On formate la partition : | ||
Ligne 208: | Ligne 251: | ||
* 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> | ||
* 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 216: | Ligne 260: | ||
===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-bak.\\ | + | 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.\\ |
* **On désactive squid3** | * **On désactive squid3** | ||
Ligne 325: | Ligne 369: | ||
2014/11/04 12:56:33| Making directories in /data/cache/0C | 2014/11/04 12:56:33| Making directories in /data/cache/0C | ||
2014/11/04 12:56:33| Making directories in /data/cache/0D</code> | 2014/11/04 12:56:33| Making directories in /data/cache/0D</code> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | <note important> | ||
- | Comparer :\\ | ||
- | -> ''# cache_mem 256 MB''\\ | ||
- | -> ''#cache_dir ufs /var/spool/squid3 100 16 256''\\ | ||
- | |||
- | => La définition de la mémoire cache (256 MB) serait plus large que l'espace disque défini (100MB) !\\ | ||
- | |||
- | Donc attention en dé-commentant ! | ||
- | |||
- | df -h /var | ||
- | Sys. fich. Taille Util. Dispo Uti% Monté sur | ||
- | /dev/mapper/systeme-var 2,8G 1,0G 1,7G 39% /var | ||
- | |||
- | </note> | ||
- | |||
- | |||
- | * **Ou télécharger ce fichier :** | ||
- | |||
- | <code texte my-squid.conf> | ||
- | # ACCESS CONTROLS OPTIONS | ||
- | # ==================== | ||
- | acl QUERY urlpath_regex -i cgi-bin \? \.php$ \.asp$ \.shtml$ \.cfm$ \.cfml$ \.phtml$ \.php3$ localhost | ||
- | acl all src | ||
- | 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 localnet src 192.168.0.0/24 # RFC1918 possible internal network | ||
- | acl lan src 192.168.1.0/24 | ||
- | acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 81 3128 1025-65535 | ||
- | acl sslports port 443 563 81 2087 10000 | ||
- | acl manager proto cache_object | ||
- | acl purge method PURGE | ||
- | acl connect method CONNECT | ||
- | |||
- | http_access allow manager localhost | ||
- | http_access deny manager | ||
- | http_access deny !safeports | ||
- | http_access deny CONNECT !sslports | ||
- | http_access allow localhost | ||
- | http_access allow localnet | ||
- | http_access allow lan | ||
- | http_access deny all | ||
- | |||
- | # NETWORK OPTIONS | ||
- | # ==================== | ||
- | http_port 3128 transparent | ||
- | |||
- | # OPTIONS WHICH AFFECT THE CACHE SIZE | ||
- | # ============================== | ||
- | |||
- | cache_mem 16 MB | ||
- | maximum_object_size_in_memory 32 KB | ||
- | memory_replacement_policy heap GDSF | ||
- | cache_replacement_policy heap LFUDA | ||
- | cache_dir aufs /home/proxy/cache 20000 14 256 | ||
- | maximum_object_size 128000 KB | ||
- | cache_swap_low 95 | ||
- | cache_swap_high 99 | ||
- | |||
- | # LOGFILE PATHNAMES AND CACHE DIRECTORIES | ||
- | # ================================== | ||
- | access_log /var/log/squid3/access.log | ||
- | cache_log /var/log/squid3/cache.log | ||
- | cache_store_log none | ||
- | logfile_rotate 5 | ||
- | log_icp_queries off | ||
- | |||
- | # OPTIONS FOR TUNING THE CACHE | ||
- | # ======================== | ||
- | |||
- | cache deny QUERY | ||
- | refresh_pattern ^ftp: 1440 20% 10080 reload-into-ims | ||
- | refresh_pattern ^gopher: 1440 0% 1440 | ||
- | refresh_pattern -i \.(gif|png|jp?g|ico|bmp|tiff?)$ 10080 95% 43200 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private | ||
- | refresh_pattern -i \.(rpm|cab|deb|exe|msi|msu|zip|tar|xz|bz|bz2|lzma|gz|tgz|rar|bin|7z|doc?|xls?|ppt?|pdf|nth|psd|sis)$ 10080 90% 43200 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private | ||
- | refresh_pattern -i \.(avi|iso|wav|mid|mp?|mpeg|mov|3gp|wm?|swf|flv|x-flv|axd)$ 43200 95% 432000 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private | ||
- | refresh_pattern -i \.(html|htm|css|js)$ 1440 75% 40320 | ||
- | refresh_pattern -i \.index.(html|htm)$ 0 75% 10080 | ||
- | refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 | ||
- | refresh_pattern . 1440 90% 10080 | ||
- | # | ||
- | quick_abort_min 0 KB | ||
- | quick_abort_max 0 KB | ||
- | quick_abort_pct 100 | ||
- | store_avg_object_size 13 KB | ||
- | |||
- | # HTTP OPTIONS | ||
- | # =========== | ||
- | vary_ignore_expire on | ||
- | |||
- | # ANONIMITY OPTIONS | ||
- | # =============== | ||
- | |||
- | request_header_access From deny all | ||
- | request_header_access Server deny all | ||
- | request_header_access Link deny all | ||
- | request_header_access Via deny all | ||
- | request_header_access X-Forwarded-For deny all | ||
- | |||
- | # TIMEOUTS | ||
- | # ======= | ||
- | |||
- | forward_timeout 240 second | ||
- | connect_timeout 30 second | ||
- | peer_connect_timeout 5 second | ||
- | read_timeout 600 second | ||
- | request_timeout 60 second | ||
- | shutdown_lifetime 10 second | ||
- | |||
- | # ADMINISTRATIVE PARAMETERS | ||
- | # ===================== | ||
- | |||
- | cache_mgr routeur-debian | ||
- | cache_effective_user proxy | ||
- | cache_effective_group proxy | ||
- | httpd_suppress_version_string on | ||
- | visible_hostname routeur-debian | ||
- | ftp_list_width 32 | ||
- | ftp_passive on | ||
- | ftp_sanitycheck on | ||
- | |||
- | # DNS OPTIONS | ||
- | # ========== | ||
- | |||
- | dns_timeout 10 seconds | ||
- | dns_nameservers 192.168.0.1 212.27.40.240 212.27.40.241 | ||
- | |||
- | # MISCELLANEOUS | ||
- | # =========== | ||
- | memory_pools off | ||
- | client_db off | ||
- | reload_into_ims on | ||
- | coredump_dir /var/log/squid | ||
- | pipeline_prefetch on | ||
- | offline_mode off | ||
- | </code> | ||
- | |||
- | * Copie du précédent fichier squid.conf : | ||
- | <code root>mv /etc/squid3/squid.conf /etc/squid3/squid.conf-BAK2</code> | ||
- | * Mise en place du nouveau fichier /etc/squid3/squid.conf | ||
- | <code root>mv /home/hypathie/Téléchargements/my-squid.conf /etc/squid3/squid.conf</code> | ||
- | |||
- | * **Et quand on re-démarre squid3 :** | ||
- | > Grâce à la directive ''cache_dir'' les fichiers du cache sont créés | ||
- | <code root>/etc/init.d/squid3 start</code> | ||
- | <code>2014/10/17 16:29:49| Creating Swap Directories | ||
- | 2014/10/17 16:29:49| /var/spool/squid3 exists | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/00 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/01 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/02 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/03 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/04 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/05 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/06 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/07 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/08 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/09 | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/0A | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/0B | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/0C | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/0D | ||
- | 2014/10/17 16:29:49| Making directories in /var/spool/squid3/0E | ||
- | 2014/10/17 16:29:50| Making directories in /var/spool/squid3/0F | ||
- | . ok </code> | ||
<note> | <note> | ||
Ligne 501: | Ligne 377: | ||
* 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 511: | Ligne 387: | ||
* 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 575: | Ligne 451: | ||
*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>/var/log/squid3/access.log | grep TCP_HIT</code> |
- | <code>Server: ECS (cdg/D62E)\r\nX-Cache: HIT\r\nContent-Length: 471\r\n\r] | + | <code></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> | + | |
- | ====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 627: | Ligne 481: | ||
>**''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> | ||
+ | |||