Aller au contenu


- - - - -

Mise En Place D'un Proxy Squid

squid proxy réseau ts-259

1 réponse à ce sujet

#1 chamo

    Qnapeur fidèle

  • Contributeurs
  • PipPip
  • 18 messages
  • Matériel: TS-259 Pro, TS-109 II

Posté 26 septembre 2011 - 10:16

Présentation:

(cf. Wikipedia http://fr.wikipedia.org/wiki/Squid )

Un serveur Squid est un serveur mandataire (proxy) capable d'utiliser les protocoles FTP, HTTP, Gopher, et HTTPS. Contrairement aux serveurs proxy classiques, un serveur Squid gère toutes les requêtes en un seul processus d'entrée/sortie, non bloquant.
C'est un logiciel libre distribué sous licence GNU GPL.
Squid garde les meta-données et plus particulièrement les données les plus fréquemment utilisées en mémoire. Il conserve aussi en mémoire les requêtes DNS, ainsi que les requêtes ayant échoué. Les requêtes DNS sont non bloquantes.
Les données mémorisées peuvent être rangées en hiérarchies ou en mailles pour utiliser moins de bande passante.

Mise en place:


Pour l'instant Squid n'est pas intégré au firmware Qnap, cependant il peut est installé à partir de l'IPKG assez simplement.

Installation:

  • Dans un premier temps installez « Optware IPKG » à partir de l'interface graphique du Qnap (cf. Plugins QPKG.pdf)

  • Connectez -vous au Qnap en SSH ou Telnet (ex. avec PuTTY)

  • Utilisez IPKG pour installer Squid
# ipkg update
# ipkg install squid
# ipkg install nano

Configuration:

  • Modifiez le fichier squid.conf
# nano /opt/etc/squid/squid.conf

supprimez toutes les lignes et ajoutez les lignes suivantes:
#Configuration minimum recommander:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
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 CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl our_networks src 192.168.10.0/24     <----- Modifiez par votre Network
http_access allow our_networks
http_access deny all
icp_access allow all
http_port 3128 transparent <--- Sans authentification
hierarchy_stoplist cgi-bin ?
cache_dir ufs /share/MD0_DATA/squid/cache 100 16 256 <--- Ou HDA_DATA
access_log /share/MD0_DATA/squid/logs/access.log squid <--- Ou HDA_DATA
cache_log /share/MD0_DATA/squid/logs/cache.log <--- Ou HDA_DATA
cache_store_log /share/MD0_DATA/squid/logs/store.log <--- Ou HDA_DATA
#redirect_program /opt/sbin/dansguardian
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
visible_hostname QnapProxy   <--- Le nom de votre proxy
error_directory /opt/share/squid/errors/

Pour personnaliser votre configuration allez sur le site de squid
(http://www.squid-cache.org/Doc/config/)
Créez un utilisateur « nobody » , un groupe « everyone » et placez « nobody » dans ce groupe.

  • Créez un répertoire Swap
#squid -z

  • Modifiez le propriétaire de Squid (optionnel)
#chown -R nobody.everyone /share/MD0_DATA/.qpkg/Optware/share/squid

ou
#chown -R nobody.everyone /share/HDA_DATA/.qpkg/Optware/share/squid

pour les Qnaps à un disque

Exécution

  • Exécutez Squid
#/opt/etc/init.d/S80squid start

ou
#/opt/etc/init.d/S80squid restart

Si tous se passe bien vous devez avoir ce message
Starting proxy server: done. 
done.

  • Vérifiez que Squid est bien exécute
[~] # ps | grep squid 

 6656 admin       572 S   /opt/sbin/squid -f /opt/etc/squid/squid.conf
 6658 nobody     4468 S   (squid) -f /opt/etc/squid/squid.conf
 9556 admin       452 R   grep squid



Autorun

Créez un autorun pour que Squid redémarre à chaque REBOOT

  • Créez un script « editautorun.sh » contenant:

  • Pour les TS-201
mount -t ext2 /dev/mtdblock4 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "Demontage /tmp/config..."fckLRumount /tmp/config

  • Pour les TS-109, TS-109P, TS-119, TS-209, TS-209P, TS-219, TS-409 (Marvell ARM)
mount -t ext2 /dev/mtdblock5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "Demontage /tmp/config..."
umount /tmp/config

  • Pour les TS-439, TS-509, TS-639, TS-259, TS-809, TS-809U (x86 intel)
mount -t ext2 /dev/sdx6 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "Demontage /tmp/config..."
umount /tmp/config

  • lors de l'exécution de ce script vous allez devoir renseigner le fichier « autorun.sh »
#### Script d'autorun####
### Demarrage de program ###
# Demarrage de Squid #
(sleep 60; /opt/etc/init.d/S80squid start) &

Sources:
http://wiki.qnap.com/wiki/Squid
http://www.squid-cache.org/Doc/config/
http://docs.qnap.com/nas/fr/index.html

Fichier(s) joint(s)


ChAmO

#2 father_mande

    Qnapeur officiel

  • Administrateurs
  • 3 243 messages
  • Matériel: TS-459 Pro, TS-219, TS-109 II

Posté 26 septembre 2011 - 13:11

Bpnjour,

L'installation c'est juste un Optware QPKG + un ipkg install squid

pour le reste, comme cela dépend de votre configuration et surtout de vos besoins .... c'est différent à chaque fois

voulez-vous du ftp, du http du hhtps, du sock, filtré, sans filtre, avec masquage etc. etc. etc.

donc un tutoriel ... mais qui dans 90% des cas ne correspondra pas à votre configuration spécifique ....

Philippe.
QNAP TS-459, 3.6.0, Virtualbox, OpenVPN
QNAP TS-109, Debian Squeeze
QNAP TS-219P II, 3.6.1
La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Le Raid N'EST PAS un backup (proverbe Qnapien)





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)