expert:proxy-squid
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | expert:proxy-squid [2018/11/17 12:53] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ======Mise en place et configuration d'un proxy Squid====== | ||
+ | //**Auteur : lonewolf**// | ||
+ | //**Date : 14 octobre 2007 **//\\ | ||
+ | |||
+ | =====Introduction===== | ||
+ | |||
+ | Bonjour, | ||
+ | |||
+ | Sur ce tuto, nous allons nous pencher sur l' | ||
+ | |||
+ | |||
+ | =====1. Définition===== | ||
+ | |||
+ | Un serveur Squid est un serveur proxy performant, il est capable d' | ||
+ | |||
+ | Contrairement aux serveurs proxy classiques, un serveur Squid gère toutes les requêtes en un seul processus d' | ||
+ | |||
+ | Squid garde les meta-données et plus particulièrement les données les plus fréquemment accédées en mémoire. Il conserve aussi en mémoire les requêtes DNS, ainsi que les requêtes ayant échouées. | ||
+ | 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. | ||
+ | |||
+ | Squid est inspiré du projet Harvest. Il n'est pas compatible avec IPv6. (Définition Wikipedia) | ||
+ | |||
+ | Toutes les commandes d' | ||
+ | |||
+ | Je vous fait confiance pour pouvoir adapter les quelques commandes spécifiques mises en avant... Oh et puis, y en a tellement peu que je peux vous macher un (tout) petit peu le travail. | ||
+ | |||
+ | Alors, la commande | ||
+ | |||
+ | sudo apt-get install | ||
+ | |||
+ | est par exemple equivalente à | ||
+ | |||
+ | urpmi | ||
+ | |||
+ | sous Madriva. | ||
+ | |||
+ | Allez assez d' | ||
+ | |||
+ | =====2. Installation du proxy===== | ||
+ | |||
+ | Les choses sérieuses commencent avec une installation très simple. | ||
+ | |||
+ | En effet, il suffit d' | ||
+ | |||
+ | sudo apt-get install squid | ||
+ | |||
+ | [u]Detail[/ | ||
+ | |||
+ | =====3. Configuration du proxy===== | ||
+ | |||
+ | Voilà, le serveur est installé, et il faut maintenant le configurer. | ||
+ | |||
+ | Pour cela, nous allons éditer le fichier [i]squid.conf[/ | ||
+ | |||
+ | Dans la ligne de commande suivante, il vous suffit de remplacer ' | ||
+ | |||
+ | sudo vi / | ||
+ | |||
+ | Et nous voilà, face à un fichier de configuration très (très )fourni, et il faut bien l' | ||
+ | |||
+ | Je vous conseille donc d' | ||
+ | |||
+ | =====3. Nommer le proxy===== | ||
+ | |||
+ | Alors allons-y. Vous vous rappelez l' | ||
+ | |||
+ | Non ? Vraiment pas ? Bon, ce n'est pas grave puisque nous allons tout de suite la rectifier en nommant ce serveur. | ||
+ | |||
+ | Pour cela, rechercher la ligne contenant : | ||
+ | |||
+ | et ensuite placer vous en bas du paragraphe et juste en dessous de **default** | ||
+ | |||
+ | saisissez : | ||
+ | |||
+ | visible_hostname nom_de_votre_pc | ||
+ | |||
+ | Voici un exemple : | ||
+ | |||
+ | # TAG: visible_hostname | ||
+ | # If you want to present a special hostname in error messages, etc, | ||
+ | # define this. Otherwise, the return value of gethostname() | ||
+ | # will be used. If you have multiple caches in a cluster and | ||
+ | # get errors about IP-forwarding you must set them to have individual | ||
+ | # names with this setting. | ||
+ | # | ||
+ | #Default: | ||
+ | visible_hostname StephLinux | ||
+ | |||
+ | [i]Détail[/ | ||
+ | |||
+ | loup@StephLinux | ||
+ | |||
+ | =====4. Choisir le port===== | ||
+ | |||
+ | Le serveur proxy étant nommé, nous allons entrer un peu plus dans la configuration de squid en choisissant le port qui sera en écoute. | ||
+ | |||
+ | Par défaut, celui ci est 3128 : | ||
+ | |||
+ | http_port 3128 | ||
+ | |||
+ | Vous pouvez choisir celui qui vous convient en remplaçnt 3128 par le port de votre choix (souvent le 8080) | ||
+ | |||
+ | http_port 8080 | ||
+ | |||
+ | =====5. Choisir l' | ||
+ | |||
+ | Par défaut le serveur proxy sera en écoute sur toutes les interfaces. Pour des raisons de sécurité, vous pouvez décider de le mettre en écoute que sur votre réseau local. | ||
+ | |||
+ | Par exemple si la carte réseau reliée à votre LAN a l'IP 192.168.1.1, | ||
+ | |||
+ | http_port 192.168.1..1: | ||
+ | |||
+ | =====6. Choisir qui peut se connecter a votre serveur proyx (Définir les droits d' | ||
+ | |||
+ | Par défaut, le serveur proxy refuse toutes les connexions. Il est donc essentiel de définir qui aura le droit de s'y connecter. | ||
+ | |||
+ | Pour cela, il vous faut déclarer une plage ou encore les PC qui peuvent passer par le proxy. | ||
+ | |||
+ | Faites une recherche de la ligne suivante : | ||
+ | |||
+ | acl to_localhost | ||
+ | |||
+ | et juste en dessous (la localisation de cette ligne est importante sinon le proxy ne fonctionnera pas. Donc bien la placer en dessous de 'acl to localhost dst xxx.x.x.x/ | ||
+ | |||
+ | acl lanmaison src 192.168.1.0/ | ||
+ | |||
+ | (lanmaison est un nom arbitrairement choisi. Vous pouvez le changer sans difficulté) | ||
+ | |||
+ | Ou encore si vous préférez déclarer un ou plusieurs PC directement, | ||
+ | |||
+ | acl host1 src 192.168.1.20 | ||
+ | |||
+ | (host1 étant de nouveau un nom arbitrairement choisi) | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | acl all src 0.0.0.0/ | ||
+ | acl manager proto cache_object | ||
+ | acl localhost src 127.0.0.1/ | ||
+ | acl to_localhost dst 127.0.0.0/8 | ||
+ | acl host1 src 192.168.1.20 | ||
+ | acl SSL_ports port 443 # https | ||
+ | acl SSL_ports port 563 # snews | ||
+ | acl SSL_ports port 873 # rsync | ||
+ | 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 # | ||
+ | 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 Safe_ports port 631 # cups | ||
+ | acl Safe_ports port 873 # rsync | ||
+ | acl Safe_ports port 901 # SWAT | ||
+ | acl purge method PURGE | ||
+ | acl CONNECT method CONNECT | ||
+ | |||
+ | =====7. Autoriser le groupe===== | ||
+ | |||
+ | Maintenant que le groupe ou le(s) PC sont définis, nous allons l' | ||
+ | |||
+ | Repérez grâce à votre fonction de recherche la ligne http_access allow...et ajoutez en dessous (avant la ligne http_access deny all) la ligne suivante adaptée : | ||
+ | |||
+ | http_access allow lanmaison | ||
+ | |||
+ | pour la plage déclarée en tant que telle. Ou encore : | ||
+ | |||
+ | http_access allow host1 | ||
+ | |||
+ | pour le ou les PC. | ||
+ | |||
+ | =====8. Redémarrer le proxy===== | ||
+ | |||
+ | Voilà nous arrivons au terme de ce tuto. Il ne nous reste plus qu'à tester le proxy en le redémarrant grâce à la commande : | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | =====9. Configurer les navigateurs===== | ||
+ | |||
+ | Pour passer par le proxy, il vous faut configurer le navigateur du PC. | ||
+ | |||
+ | **Sous Firefox, selon la version :** | ||
+ | |||
+ | Outils -> Préférences -> Avancées -> Onglet Réseau -> Paramètres -> Configuration du proxy -> | ||
+ | |||
+ | et là vous entrez l'IP du serveur ainsi que le port choisi. | ||
+ | |||
+ | Édition -> etc identique | ||
+ | |||
+ | **Sous IE :** | ||
+ | |||
+ | Outils -> Option Internet -> Onglet connexion -> Paramètres réseau -> Se servir d'un proxy | ||
+ | |||
+ | et là vous entrez également l'IP du serveur ainsi que le port choisi. | ||
+ | |||
+ | [i]Detail[/ | ||
+ | |||
+ | =====10. Détails subsidiaires===== | ||
+ | |||
+ | Grâce à Squid vous avez accès a bien d' | ||
+ | |||
+ | Un exemple est la gestion du temps des utilisateurs. | ||
+ | |||
+ | Vous pouvez par exemple définir un temps d' | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | acl jour time 08:00-17:30 | ||
+ | |||
+ | Dans cet exemple, j'ai défini une journée de 8h00 à 17h30. En dehors de cette horaire, le proxy refusera la connexion. | ||
+ | |||
+ | Mais pour que cela fonctionne, il vous faudra également indiquer à qui cette restriction s' | ||
+ | |||
+ | Exemple, sur l' | ||
+ | |||
+ | http_access allow host1 jour | ||
+ | |||
+ | Nous avons donc juste rajouté ' | ||
+ | |||
+ | Ce qui nous donne : | ||
+ | |||
+ | # | ||
+ | http_access allow localhost | ||
+ | http_access allow host1 jour | ||
+ | http_access deny all | ||
+ | |||
+ | =====11. Conclusion===== | ||
+ | |||
+ | Voila, j' | ||
+ | |||
+ | J' | ||
+ | |||
+ | Merci à tous et n' | ||
+ | |||
+ | lonewolf | ||
+ | |||
+ | [[http:// |
expert/proxy-squid.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1