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 | ||
utilisateurs:hypathie:tutos:proxy-transparent [05/11/2014 17:16] martinux_qc [Configuration de squid comme proxy transparent] |
utilisateurs:hypathie:tutos:proxy-transparent [07/11/2014 16:16] Hypathie [Introduction] |
||
---|---|---|---|
Ligne 25: | Ligne 25: | ||
=== Configuration d'iptables (NAT) === | === Configuration d'iptables (NAT) === | ||
+ | <note important> | ||
+ | Si vous avez suivi "iptables:un pare-feu pour une passerelle" et installer [[atelier:chantier:iptables-un-pare-feu-pour-une-passerelle?&#le-script-de-la-passerelle|ce script]], passez directement au pre-requis [[utilisateurs:hypathie:tutos:proxy-transparent?&#table-de-routage|Table de routage]] | ||
+ | </note> | ||
* Pour faire les choses proprement on flush les tables concernées et on ajoute : | * Pour faire les choses proprement on flush les tables concernées et on ajoute : | ||
Ligne 41: | Ligne 43: | ||
iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP | iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP | ||
- | |||
iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP | iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP | ||
Ligne 50: | Ligne 51: | ||
<note> | <note> | ||
- | **Port 3128 et 3129 car j'utiliserai les deux ports.** | + | **Port 3129 pour transparent ; port 3128 pour le réseau local.** |
**Pour mangle**, une petite citation extrait du [[http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat|site officiel de squid]] : | **Pour mangle**, une petite citation extrait du [[http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat|site officiel de squid]] : | ||
Ligne 61: | Ligne 62: | ||
</note> | </note> | ||
- | ===On conserve nos règles iptables pour le proxy=== | + | * On sauvegarde les règles iptables et on les restaure avec /etc/network/interfaces |
- | + | ||
- | * Méthode 1 : on sauvegarde les règles iptables et on les restaure avec /etc/network/interfaces | + | |
<code root> | <code root> | ||
iptables-save > /etc/iptables.squid | iptables-save > /etc/iptables.squid | ||
echo "post-up iptables-restore < /etc/iptables.squid" >> /etc/network/interfaces</code> | echo "post-up iptables-restore < /etc/iptables.squid" >> /etc/network/interfaces</code> | ||
- | * Méthode 2 : on utilise le script /etc/rc.local | ||
- | <code root>vim /etc/rc.local</code> | ||
- | <code>/sbin/iptables -t nat -F | ||
- | /sbin/iptables -t nat -X | + | ===Table de routage=== |
- | + | ||
- | /sbin/iptables -t mangle -F | + | |
- | + | ||
- | /sbin/iptables -t mangle -X | + | |
- | + | ||
- | /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | + | |
- | + | ||
- | /sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.1:3129 | + | |
- | + | ||
- | /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129 | + | |
- | + | ||
- | /sbin/iptables -t mangle -A PREROUTING -p tcp --dport 3128 -j DROP | + | |
- | + | ||
- | /sbin/iptables -t mangle -A PREROUTING -p tcp --dport 3129 -j DROP | + | |
+ | * Éditer le fichier /etc/rc.local | ||
+ | <code root>vim /etc/rc.local</code> | ||
+ | <code> | ||
/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0 | /sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0 | ||
Ligne 93: | Ligne 78: | ||
exit 0</code> | exit 0</code> | ||
- | + | <note>On peut aussi créer un script init.d (update-rc.d) pour sauvegarder les règles de routage.\\ Ou encore préciser dans /etc/network/interfaces la route pour chaque interface.\\ La méthode ci-dessus n'a d'intérêt que dans le cas où l'IP est attribuée par DHCP au niveau de /etc/network/interfaces.</note> | |
- | Pour activer le script : | + | |
- | <code root> | + | |
- | /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth1</code> | + | |
- | + | ||
* Côté client l'adresse IP du proxy squid3 comme route par défaut : | * Côté client l'adresse IP du proxy squid3 comme route par défaut : | ||
+ | Par exmple : | ||
<code root>route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 | <code root>route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 | ||
</code> | </code> |