# Réaliser un cache internet pour un intranet

**URL:** <https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289>\
**Category:** Support Debian\
**Created:** [Mars 31, 2018, 9:29 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289 "2018-03-31T09:29:58Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Mars 31, 2018, 9:29 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/1 "2018-03-31T09:29:58Z")

</div>

Bonjour j’ai une dizaine de PC connectés en réseau avec déjà un serveur (apt-cacher-ng, nfs). La connexion internet est très mauvaise donc quand les PC de l’intranet y sont tous, c’est la catastrophe.  
C’est pour une école donc ils utilisent souvent les mêmes ressources d’où l’idée de faire un cache web sur ce serveur.

J’ai potassé la doc de SQUID et ai tenté ma chance, le service fonctionne mais honnêtement sur les clients on ne voit pas de différence. Est ce mon fichier de configuration qui cloche ? Je ne sais pas mais j’avoue n’avoir pas lu les 7 000 lignes de commentaires du squid.conf … Les var et le spool indique que squid enregistre bien tout dans le cache pourtant … Par contre si je télécharge par exemple un pdf de 30 mo sur un client, ça va me prendre 2 à 3 minutes et sur un autre exactement pareil, alors qu’il devrait être en cache (comme pour apt-cacher-ng)

D’où ma question : squid doit bien remplir ce rôle ? Et mon autre question existe t il un autre service plus simple que squid pour un simple cache internet ?

D’avance merci

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Mars 31, 2018, 9:39 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/2 "2018-03-31T09:39:50Z")

</div>

Salut

Sur mon pc, j’utilise dnsmasq qui a une fonction cache

> [@Choisir ses DNS avec configuration de Network-Manager, dnsmasq et dhcp-client](https://www.debian-fr.org/t/choisir-ses-dns-avec-configuration-de-network-manager-dnsmasq-et-dhcp-client/75073?source_topic_id=76289):
>
> Salut Un petit mémo sur ma configuration pour choisir mes DNS en utilisant Network-Manager, dnsmasq et dhcp-client Je ne prétends pas que c’est la meilleure solution mais elle fonctionne Les dns choisis sont décrits dans dhcp-client. dnsmasq est utilisé pour sa fonction cache network-manager connecte au réseau en prenant en compte ces données Paquets installés: network-manager, isc-dhcp-client, dnsmasq Configuration network-manager cat /etc/NetworkManager/NetworkManager.conf …

```auto
root@debian:/# dig service-public.fr

; <<>> DiG 9.11.3-1-Debian <<>> service-public.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36489
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;service-public.fr. IN	A

;; ANSWER SECTION:
service-public.fr.	17732	IN	A	160.92.64.57

;; Query time: 46 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 31 11:44:39 CEST 2018
;; MSG SIZE rcvd: 62

root@debian:/# dig service-public.fr

; <<>> DiG 9.11.3-1-Debian <<>> service-public.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19631
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;service-public.fr. IN	A

;; ANSWER SECTION:
service-public.fr.	17727	IN	A	160.92.64.57

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 31 11:44:44 CEST 2018
;; MSG SIZE rcvd: 62

```

premiere accès au site service-public -\> 46 ms  
accès suivant -\> immédiat 0 ms

Tu peux surement le mettre sur ton serveur

[https://wiki.debian.org/HowTo/dnsmasq](https://wiki.debian.org/HowTo/dnsmasq)

autre exemple  
[https://doc.frapp.fr/doku.php?id=logiciel:internet:serveur:dns:dnsmasq:dnsmasq](https://doc.frapp.fr/doku.php?id=logiciel:internet:serveur:dns:dnsmasq:dnsmasq)

---

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Mars 31, 2018, 9:46 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/3 "2018-03-31T09:46:26Z")

</div>

Bonjour et merci  
C’est un serveur de DNS ?  
Personnellement ce sont les pages visitées du web que je veux mettre en cache et accélérer leur changement e local  
Faut le mettre en parallèle à SQUID ou en remplacement de SQUID  
Il fait office de serveur DHCP donc il faudra que je desactive celui de la box pour ne pas en avoir 2 ?

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Mars 31, 2018, 9:49 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/4 "2018-03-31T09:49:45Z")

</div>

oui c’est pour la résolution DNS  
lis les liens pour voir si cette solution a un interet pour toi  
les pages internet sont mises en cache dans les navigateurs, faut peut etre voir a augmenter leur taille sur chaque poste de travail

Mettre toutes les pages en cache dans ton serveur , je ne connais pas de solution

---

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Mars 31, 2018, 9:52 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/5 "2018-03-31T09:52:32Z")

</div>

OK je garde l’idée en tête  
Mais perso ce que je recherche c’est un cache commun 😉  
Le cache de chaque client est assez “grand” ce que je recherche c’est de le mutualiser sur un serveur, mais je ne sais même pas si c’est possible. Enfin je pense que oui, on le fait bien pour apt

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Mars 31, 2018, 11:30 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/6 "2018-03-31T11:30:12Z")

</div>

peut etre du coté de nginx

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Avril 1, 2018, 10:39 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/7 "2018-04-01T10:39:26Z")

</div>

**[unbound](https://packages.debian.org/search?keywords=unbound)**!!!

1. Tu le mets sur ton serveur… il est vraiment fait pour cela, facile à configurer, maintenir et gérer.
2. Ensuite tu autorises depuis le serveur que tes adresses sur le réseau local puissent l’interroger…
3. Et, tu configures tes stations pour l’interroger.

Après j’ai bien cet [article concernant unbound](https://wiki.debian-fr.xyz/Utiliser_Unbound_avec_DNSSEC), mais il aborde l’aspect pratique pour le faire de manière sécurisé, et seulement en local, sur le serveur ou une station.

Par contre, je ne sais pas où tu peux trouver un article qui soit plus “prise en main”…

Il y a bien celle de la communauté ubuntu-fr… mais clairement très incomplète et peut induire en erreur. C’est pour cela que je ne la recommande pas !

* * *

Pour le 1 : `apt install unbound` devrait suffire 😉

Pour le 2 : dans la configuration du serveur unbound, il suffit normalement de modifier/ajouter une ligne telle que `access-control: 192.168.0.0/16 allow` où **192.168.0.0** est le segment réseau de ton réseau local - à changer par le tien réel, si besoin.

Pour le 3 : modifier le fichier ‘’/etc/resolv.conf’’, sur chacune des stations pour qu’elle interroge ton serveur local, en lui restituant son adresse ip, telle que `nameserver ip_server_unbound_local`

Bref, ce n’est vraiment pas très compliqué, il suffit de faire attention, à bien configurer l’ensemble…  
Et, une fois fait, d’utiliser l’outil dig de manière approprié pour vérifier que depuis ton serveur tu résous bien des adresses DNS, et ensuite depuis tes stations qu’elles interrogent bien ton serveur pour résoudre lesdites adresses DNS.

Voilà le schéma.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Avril 1, 2018, 12:14 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/8 "2018-04-01T12:14:57Z")

</div>

> [@](#):
>
> cache internet

Tu souhaite mettre en cache les requêtes DNS ou carrément les sites visités ?

Si c’est du cache DNS, je n’en vois pas trop l’intérêt dans la problématique tel qu’exposé mais Unbound est un excellent choix en effet comme exposé précdement.

Si maintenant tu souhaite mettre en cache des pages internet régulièrement visité c’est à mon humble avis plus compliqué à mettre en place et requiert effectivement Squid en tant que proxy.

---

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Avril 1, 2018, 12:19 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/9 "2018-04-01T12:19:31Z")

</div>

Bonjour et merci pour les réponses  
A priori je ne pensais pas à un cache DNS mais à faire un cache web (essentiel pour des lourds PDF et des animations FLASH (pour une ecole, petits jeux / exercices en ligne)  
Le hic c’est qu’avec SQUID, je n’ai pas eu les résultats souhaités (par exemple les pdfs ne sont pas mis en cache)  
J’ai entre temps installé **polipo** , il met bien en cache certains fichiers mais pas tous. Je continue donc de creuser …

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Avril 1, 2018, 2:20 UTC](https://www.debian-fr.org/t/realiser-un-cache-internet-pour-un-intranet/76289/10 "2018-04-01T14:20:57Z")

</div>

> [@](#):
>
> Le hic c’est qu’avec SQUID, je n’ai pas eu les résultats souhaités (par exemple les pdfs ne sont pas mis en cache)

Je suis pas sûr que ce soit pertinent pour ce type de ressource, ce n’est clairement pas ce qui consomme le plus la bande passante, mais il doit aussi être possible de mettre ne cache ce type de ressources avec Squid, il faudrait fouiller la documentation pour cela.
