Différences
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 | ||
sysadmin:mirror_redirect_squid [2012/10/05 17:10] james ajout tags |
sysadmin:mirror_redirect_squid [2014/10/21 17:27] james [Regles de réécriture] typo |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
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. | + | 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. |
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 14: | Ligne 14: | ||
Nous allons nous baser sur : | Nous allons nous baser sur : | ||
- | * un proxy web (squid) configuré en mode transparent (peut etre un jour un article la dessus) | + | * un proxy web ([[http://www.squid-cache.org/|squid]]) configuré en mode transparent (peut etre un jour un article la dessus) |
- | * une réécriture d'URL au sein de ce proxy | + | * une réécriture d'URL au sein de ce proxy via jesred |
- | * tout ce petit monde sera installé comme à l'accoutumée sur une Debian Stable (lenny a l'heure actuelle) | + | * tout ce petit monde sera installé comme à l'accoutumée sur une Debian Stable (<del>lenny a l'heure actuelle</del>wheezy pour la mise a jour de cet article) |
===== Installation ===== | ===== Installation ===== | ||
- | Cette etape est simple : il suffit d'installer //jesred// , le module qui nous servira a réécrire les URL au niveau du proxy squid. | + | Cette etape est simple : il suffit d'installer //[[http://www.linofee.org/~jel/webtools/jesred/|jesred]]// , le module qui nous servira a réécrire les URL au niveau du proxy squid. |
<code>apt-get install jesred</code> | <code>apt-get install jesred</code> | ||
Ligne 26: | Ligne 26: | ||
==== configuration de squid ==== | ==== configuration de squid ==== | ||
Pour activer la réécriture d'URL il faut ajouter des directives dans le fichier de conf de squid ( /etc/squid/squid.conf) :<code> | Pour activer la réécriture d'URL il faut ajouter des directives dans le fichier de conf de squid ( /etc/squid/squid.conf) :<code> | ||
- | cat << EOF >> /etc/squid/squid.conf | + | cat << EOF >> /etc/squid3/squid.conf |
# redirection transparente pour apt-cacher debian et ubuntu | # redirection transparente pour apt-cacher debian et ubuntu | ||
redirect_program /usr/lib/squid/jesred | redirect_program /usr/lib/squid/jesred | ||
Ligne 33: | Ligne 33: | ||
==== configuration de jesred ==== | ==== configuration de jesred ==== | ||
- | * 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> | + | |
- | * On ajoute son sous réseau IP dans les ACL de réécriture (adapter a votre réseau) : <code>echo "192.168.0.0/24" >> /etc/jesred.acl</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> | ||
+ | * 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> | ||
+ | * 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 51: | 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 71: | Ligne 75: | ||
</code> | </code> | ||
- | ==== 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/squid 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> |
- | Le bon fonctionnement peut etre vérifié en regardant dans le fichier de log /var/log/squid/jesred-rewrite.log lorsque vous tentez d'installer un paquet, comme par exemple : | + | Le bon fonctionnement peut etre vérifié en regardant dans le fichier de log /var/log/squid3/jesred-rewrite.log lorsque vous tentez d'installer un paquet, comme par exemple : |
<code> | <code> | ||
1282816088.239 192.168.0.65/- http://ftp.fr.debian.org/debian/pool/main/j/jesred/jesred_1.2pl1-16_amd64.deb http://debian-mirror.mondomaine.com/debian/pool/main/j/jesred/jesred_1.2pl1-16_amd64.deb 9 | 1282816088.239 192.168.0.65/- http://ftp.fr.debian.org/debian/pool/main/j/jesred/jesred_1.2pl1-16_amd64.deb http://debian-mirror.mondomaine.com/debian/pool/main/j/jesred/jesred_1.2pl1-16_amd64.deb 9 | ||
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> | ||
- | |||
- | |||
- | |||
- | |||
- | FIXME continuer ;-) |