Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
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 | ||
atelier:chantier:tp-lxc-squid-privoxy-tor [02/07/2014 19:15] captnfab [TP : Un proxy TOR/privoxy/squid3 dans un conteneur LXC] |
atelier:chantier:tp-lxc-squid-privoxy-tor [28/10/2016 10:23] greenmerlin [Prérequis] |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>en-chantier à-tester}} | * Suivi : {{tag>en-chantier à-tester}} | ||
- | * Création par **captnfab** 02/07/2014 | + | * Création par [[user>captnfab]] 02/07/2014 |
+ | * Mis à jour par [[user>greenmerlin]] 28/10/2016 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
- | * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=9344 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
**Nota :** | **Nota :** | ||
Ligne 28: | Ligne 28: | ||
Pour cela, nous aurons besoin des outils de gestion des conteneurs. | Pour cela, nous aurons besoin des outils de gestion des conteneurs. | ||
- | <code root>apt-get install lxc</code> | + | <code root>apt install lxc bridge-utils libvirt-bin debootstrap</code> |
==== Création d'un conteneur pour les proxies ==== | ==== Création d'un conteneur pour les proxies ==== | ||
La création du conteneur se fait très simplement : | La création du conteneur se fait très simplement : | ||
- | <code root>lxc-create -n proxies -t debian -- -r wheezy</code> | + | <code root>lxc-create -n proxies -t debian -- -r jessie</code> |
+ | |||
+ | <note important>le -n définit le nom de votre conteneur</note> | ||
+ | |||
+ | A la fin du traitement le système devrait vous afficher | ||
+ | |||
+ | <code>Current default time zone: 'Europe/Paris' | ||
+ | Local time is now: Fri Oct 28 09:59:59 CEST 2016. | ||
+ | Universal Time is now: Fri Oct 28 07:59:59 UTC 2016. | ||
+ | |||
+ | Root password is 'gFM0Urj6', please change !</code> | ||
+ | <note important>**Notez le mot de passe sur votre fesse gauche en attendant**</note> | ||
==== Configuration avancée du LXC ==== | ==== Configuration avancée du LXC ==== | ||
+ | |||
+ | === Test de votre conteneur === | ||
+ | |||
+ | <code root>lxc-start -n proxies</code> | ||
+ | |||
+ | après le démarrage vous devriez voir | ||
+ | <code>Debian GNU/Linux 8 proxies console | ||
+ | proxies login : </code> | ||
+ | |||
+ | <note important>Regardez votre fesse gauche puis changer le mot de passe root</note> | ||
+ | |||
+ | <note important>**__PAR DEFAULT VOUS AUREZ SYSTEMD CA FONCTIONNE MAL POUR LE MOMENT DONC ON REVIENT A SYSVINIT__**</note> | ||
+ | |||
+ | <code root>apt install sysvinit</code> | ||
+ | |||
+ | ensuite on se délogue puis on ferme le conteneur par | ||
+ | |||
+ | <code root>lxc-stop -n proxies -k</code> | ||
=== Démarrage automatique === | === Démarrage automatique === | ||
Ligne 41: | Ligne 70: | ||
<code root>mkdir -p /etc/lxc/auto | <code root>mkdir -p /etc/lxc/auto | ||
ln -s /var/lib/lxc/proxies/config /etc/lxc/auto/proxies.conf</code> | ln -s /var/lib/lxc/proxies/config /etc/lxc/auto/proxies.conf</code> | ||
+ | |||
+ | <note info>Pour les utilisateurs de Jessie, l'autostart fonctionne différemment avec la directive ''lxc.start.auto = true''. Je n'ai cependant pas encore réussi à la faire fonctionner.</note> | ||
=== Interface réseau === | === Interface réseau === | ||
Par défaut, le conteneur créé partage son interface réseau avec l'hôte. C'est le cas que nous traiterons ici. Si vous voulez créer une configuration différente, référez-vous au tuto LXC du wiki. | Par défaut, le conteneur créé partage son interface réseau avec l'hôte. C'est le cas que nous traiterons ici. Si vous voulez créer une configuration différente, référez-vous au tuto LXC du wiki. | ||
+ | |||
+ | === Désactiver les recommandations APT === | ||
+ | Pour aider les conteneurs à rester minimaux, on peut désactiver le traitement par APT des recommandations comme des dépendances. | ||
+ | <code perl /var/lib/lxc/proxies/rootfs/etc/apt/apt.conf.d/00no-recommends>APT::Install-Recommends "false"; | ||
+ | APT::Install-Suggests "false"; | ||
+ | </code> | ||
==== Démarrer le LXC et prendre la main ==== | ==== Démarrer le LXC et prendre la main ==== | ||
Ligne 51: | Ligne 88: | ||
<code root>lxc-start -n proxies -d</code> | <code root>lxc-start -n proxies -d</code> | ||
- | Obtention d'un shell dans le conteneur : | + | Obtention d'un shell (root) dans le conteneur : |
<code root>lxc-attach -n proxies</code> | <code root>lxc-attach -n proxies</code> | ||
+ | === Installation de paquets de base === | ||
+ | Par défaut, un conteneur est installé avec un système très épuré. Pour ce qui suis, vous voulez probablement installer quelques outils dans le conteneur. Obtenez un shell root dans le conteneur et saisissez par exemple : | ||
+ | <code root>apt install --no-install-recommends vim-nox nano less aptitude</code> | ||
===== Installation des proxies ===== | ===== Installation des proxies ===== | ||
Ligne 64: | Ligne 104: | ||
=== Installation de squid === | === Installation de squid === | ||
- | <code root>apt-get install --no-install-recommends squid3</code> | + | <code root>apt install --no-install-recommends squid3</code> |
=== Configuration comme proxy transparent === | === Configuration comme proxy transparent === | ||
Ligne 149: | Ligne 189: | ||
En remplaçant 127.0.0.1 par l'adresse de votre conteneur le cas échéant. | En remplaçant 127.0.0.1 par l'adresse de votre conteneur le cas échéant. | ||
+ | |||
+ | ===== Aller plus loin : sécurisation du conteneur ===== | ||
+ | |||
+ | //On suppose ici que l'installation a été faite sur un conteneur ou un serveur dédié à jouer le rôle de proxy.// | ||
+ | |||
+ | Si votre serveur proxy est destiné à être utilisé par d'autres utilisateurs que vous, vous pouvez souhaiter changer un peu la configuration. | ||
+ | Par exemple, seuls deux ports (deux services) doivent être visibles depuis l'extérieur : | ||
+ | * 3128 (squid3) | ||
+ | * 3142 (apt-proxy-ng) | ||
+ | |||
+ | Deux solutions s'offrent à vous pour vous assurer que les autres services soient invisibles de l'extérieur du proxy. | ||
+ | - Mettre en place un pare-feu bloquant tous les autres ports | ||
+ | - Configurer tous les autres services pour n'écouter que sur l'interface locale 127.0.0.1 | ||
===== Tests ===== | ===== Tests ===== |