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
sysadmin:mirror_redirect_squid [2014/10/21 17:16]
james modifs debian wheezy
sysadmin:mirror_redirect_squid [2014/10/28 18:33] (Version actuelle)
james ajout IPv6
Ligne 1: Ligne 1:
-{{tag>​squid proxy jesred URL réécriture miroir debian}}+{{tag>​squid ​squid3 ​proxy jesred URL réécriture miroir debian ​ubuntu apt-cacher apt-cacher-ng bande-passante}}
 ====== Redirection transparente vers les miroirs locaux ====== ====== Redirection transparente vers les miroirs locaux ======
  
 Dans un article précédent nous avons vu comment [[sysadmin:​debian_mirror|créer un miroir debian local]]. Dans un article précédent nous avons vu comment [[sysadmin:​debian_mirror|créer un miroir debian local]].
  
-Nous allons maintenant aller plus loin et effectuer une redirection transparente vers ce miroir. Note que dans la suite de cet article quand on utilisera le terme "​miroir"​ il pourra s'agir soit d'un miroir "​complet"​ soit bien d'un miroir partiel (apt-cacher-ng,​ apt-cacher...),​ les deux étant fonctionnellement identiques pour ce qui nous intéresse.+Nous allons maintenant aller plus loin et effectuer une redirection transparente vers ce miroir. Note que dans la suite de cet article quand on utilisera le terme "​miroir"​ il pourra s'agir soit d'un miroir "​complet"​ soit bien d'un miroir partiel (apt-cacher-ng,​ apt-cacher...),​ les deux étant fonctionnellement ​(presque : voir note plus bas :p ) identiques pour ce qui nous intéresse.
  
 L'​avantage est donc de n'​avoir aucun travail à effectuer sur les postes : ils utilisent toujours les dépots classiques, comme par exemple "​ftp.fr.debian.org"​ mais sont redirigés silencieusement vers le dépôt local, d'où des gains énormes en  bande passante et en simplicité. L'​avantage est donc de n'​avoir aucun travail à effectuer sur les postes : ils utilisent toujours les dépots classiques, comme par exemple "​ftp.fr.debian.org"​ mais sont redirigés silencieusement vers le dépôt local, d'où des gains énormes en  bande passante et en simplicité.
Ligne 33: Ligne 33:
  
 ==== configuration de jesred ==== ==== configuration de jesred ====
- * On active les logs de reecriture d'URL pour débugguer plus facilement :<​code>​+ 
 +  * On active les logs de reecriture d'URL pour débugguer plus facilement :<​code>​
 sed -i -e "s,# rewrite_log =,​rewrite_log =," /​etc/​jesred.conf</​code>​ sed -i -e "s,# rewrite_log =,​rewrite_log =," /​etc/​jesred.conf</​code>​
- * Si vous êtes sous debian wheezy avec squid3 au lieu de squid, adapter les chemins de log :<​code>​+  ​* Si vous êtes sous debian wheezy avec squid3 au lieu de squid, adapter les chemins de log :<​code>​
 sed -i -e "​s,/​var/​log/​squid/,/​var/​log/​squid3/,"​ /​etc/​jesred.conf</​code>​ sed -i -e "​s,/​var/​log/​squid/,/​var/​log/​squid3/,"​ /​etc/​jesred.conf</​code>​
- * On ajoute son sous réseau IP dans les ACL de réécriture (adapter a votre réseau : format X.Y.Z.T/​masque classique) : <​code>​echo "​192.168.0.0/​24"​ >> /​etc/​jesred.acl</​code>​+  ​* On ajoute son sous réseau IP dans les ACL de réécriture (adapter a votre réseau : format X.Y.Z.T/​masque classique) : <​code>​echo "​192.168.0.0/​24"​ >> /​etc/​jesred.acl</​code>​
 <​note>​il est possible d'​exclure des machines/​subnets en utilisant la syntaxe !192.168.0.42/​32 par exemple</​note>​ <​note>​il est possible d'​exclure des machines/​subnets en utilisant la syntaxe !192.168.0.42/​32 par exemple</​note>​
 <​note>​C'​est par exemple une très bonne idée d'​exclure le serveur hébergeant le miroir local pour qu'il puisse se mettre à jour sur le dépot externe</​note>​ <​note>​C'​est par exemple une très bonne idée d'​exclure le serveur hébergeant le miroir local pour qu'il puisse se mettre à jour sur le dépot externe</​note>​
Ligne 54: Ligne 55:
 regex ^http://​security.debian.org/​(dists|pool)/​.*/​source/​(Release|Sources|Sources\.(bz2|gz|diff/​.*))$ regex ^http://​security.debian.org/​(dists|pool)/​.*/​source/​(Release|Sources|Sources\.(bz2|gz|diff/​.*))$
 # mais le reste si # mais le reste si
-regex ^http://​security.debian.org/​((dists|pool)/​.*(deb|bz2|gz|Packages|Packages.gz|Release|Release.gpg|))$ http://​debian-mirror.mondomaine.com/​debian-security/​\1+regex ^http://(security.debian.org/​((dists|pool)/​.*(deb|bz2|gz|Packages|Packages.gz|Release|Release.gpg|)))$ http://​debian-mirror.mondomaine.com/​debian-security/​\1
 # idem pour les backports # idem pour les backports
 regex ^http://​www.backports.org/​debian/​(dists|pool)/​.*/​source/​(Release|Sources|Sources\.(bz2|gz|diff/​.*))$ regex ^http://​www.backports.org/​debian/​(dists|pool)/​.*/​source/​(Release|Sources|Sources\.(bz2|gz|diff/​.*))$
Ligne 74: Ligne 75:
 </​code>​ </​code>​
  
 +<​note>​L'​utilisateur averti aura remarqué une légère différence de conmportement entre l'​utilisation d'un miroir local complet ou d'un apt-cacher-ng par exemple :
 +notre miroir debian est composé de : 
 +  * <​nowiki>​http://​debian-mirror.mondomaine.com/​debian/</​nowiki>​ pour la copie du miroir classique
 +  * <​nowiki>​http://​debian-mirror.mondomaine.com/​debian-backports/</​nowiki>​ pour la copie du miroir de backports
 +  * <​nowiki>​http://​debian-mirror.mondomaine.com/​debian-security/</​nowiki>​ pour la copie du miroir debian-security
 +  * ...
 +en conséquence en ce qui concerne la redirection pour un fichier disons <​nowiki>​http://​ftp.fr.debian.org/​debian/​dists/​wheezy/​Release</​nowiki>​ il faut que la redirection s'​effectue sur :
 +  * dans le cas d'un miroir local : <​nowiki>​http://​debian-mirror.mondomaine.com/</​nowiki>​**debian**<​nowiki>/​dists/​wheezy/​Release</​nowiki>​
 +  * dans le cas d'un apt-cacher-ng : <​nowiki>​http://​debian-mirror.mondomaine.com:​3142/</​nowiki>​**<​nowiki>​ftp.fr.debian.org/​debian</​nowiki>​**/​dists/​wheezy/​Release
 +d'ou les différences de parenthésage dans les règles pour faire le match sur l'url complete/​partielle et le port : les miroirs partiels ont besoin d'une url complète
 +</​note>​
 ===== Vérification du fonctionnement ===== ===== Vérification du fonctionnement =====
 Pour prendre en compte ces modifications il faut bien sur faire recharger a squid sa configuration :<​code>/​etc/​init.d/​squid3 reload</​code>​ Pour prendre en compte ces modifications il faut bien sur faire recharger a squid sa configuration :<​code>/​etc/​init.d/​squid3 reload</​code>​
Ligne 82: Ligne 94:
 1282816088.254 192.168.0.65/​- http://​security.debian.org/​pool/​updates/​main/​s/​squid/​squid-common_2.7.STABLE3-4.1lenny1_all.deb http://​debian-mirror.mondomaine.com/​debian-security/​pool/​updates/​main/​s/​squid/​squid-common_2.7.STABLE3-4.1lenny1_all.deb 11</​code>​ 1282816088.254 192.168.0.65/​- http://​security.debian.org/​pool/​updates/​main/​s/​squid/​squid-common_2.7.STABLE3-4.1lenny1_all.deb http://​debian-mirror.mondomaine.com/​debian-security/​pool/​updates/​main/​s/​squid/​squid-common_2.7.STABLE3-4.1lenny1_all.deb 11</​code>​
  
 +===== Aller un peu plus loin : IPv6 =====
 +{{tag>​squid squid3 proxy jesred URL réécriture miroir debian ubuntu apt-cacher apt-cacher-ng bande-passante ipv6}}
 +En installant la version "​1.2pl1-19"​ de jesred disponible sur la debian testing/​unstable à l'​heure ou j'​écris ces lignes : https://​packages.debian.org/​search?​keywords=jesred il est maintenant possible de réécrire les URLs pour des clients utilisant de l'IPv6 (pas en proxy transparent cependant ;-) ) : voici à quoi ressemble un fichier /​etc/​jesred.acl comportant des IPv4 et des IPv6 : <​code>​
 +192.168.0.0/​24
 +192.168.1.0/​24
 +192.168.2.0/​24
 +
 +# merci le backport de la version wheezy 1.2pl1-19 pour le support d'ipv6 =)
 +2a01:​e32:​833f:​e2a:​2::/​112
 +2a01:​e32:​833f:​e2a:​3::/​112
 +2a01:​e32:​833f:​e2a:​4::/​112
 +</​code>​
sysadmin/mirror_redirect_squid.1413904561.txt.gz · Dernière modification: 2014/10/21 17:16 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0