Parametrer IPCop en mode OPEN PROXY

IPCop est une distribution Linux qui offre les services de Firewall/pare-feu facile à installer sur un PC. IPcop offre un service de proxy (serveur mandataire en français) basé sur Squid

Par défaut IPCOP est en mode Proxy/Squid uniquement sur l’interface VERT, ce qui signifie que seuls les ordinateurs du réseau local peuvent utiliser le service proxy. Il peut être intéressant d’ouvrir ce service à des ordinateurs extérieur au réseau local , voici les manipulations à effectuer.

NOTA: ces modifications s’appliquent également à toutes distribution Linux incluant Squid.

Modification du paramétrage de IPCop

Pour passer en mode OPEN PROXY sur une ou plusieurs adresses IP ex 181.65.71.98 , voici les manipulations :

1) ajouter une règle iptables pour ouvrir le port 8080 (par defaut) :

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

Pour activer automatiquement cette régle au démarrage de la machine, vous pouver l’inclure dans  le fichier : /etc/rc.d/rc.local

2) modifier  /etc/squid/squid.conf pour

a) – qu’il écoute sur toutes les interfaces :
Changer  la ligne:

http_port x.x.x.x:8080 en 8080

b) créer une acl TRUSTED_IP :

acl TRUSTED_IP src 181.65.71.98   ##si plusieurs ip les mettre à la suite  x.x.x.x  y.y.y.y etc ..

c) Modifier la partie allow client :

#Finally allow IPCop_networks clients
http_access allow TRUSTED_IP
http_access allow IPCop_networks !no_proxy_dst
http_access deny all

3) redémarrer SQUID :
/usr/local/bin/restartsquid

Pour tester SQUID en telnet :

telnet proxy.domain.tld 8080
 GET http://www.google.com/ HTTP/1.1 
taper "Entrée", puis retaper le host
 host:www.google.com

taper « Entrée » 2 fois …et voila !

 

voici un petit script bash pour une  à jour auto sur une adresse dynamique :

Si les ordinateurs extérieur au réseau local ont des adresses dynamiques qui changent régulièrement , il peut être pénible à la longue de modifier le fichier squid.conf.
Avec un petit script comme celui ci-dessous , il est aisé de mettre à jour automatiquement les ACL trusts. Il faut bien sur remplacer monip.dyndns.org par votre nom d’hôte DYNDNS ou tout autre provider de DNS dynamique.

newip=`ping -c 1 monip.dyndns.org | grep "PING monip.dyndns.org (" | /usr/bin/awk -F " " '{print $3}' | sed 's/(//' | sed 's/)://'`
ipsquid=`cat /etc/squid/squid.conf | grep 'acl TRUSTED_IP src' | /usr/bin/awk -F " " '{print $4}'`
echo $newip > /tmp/newip.log
echo $ipsquid >> /tmp/newip.log
if [ $newip = $ipsquid ]
 then
 echo "adresse ip toujours ok" >> /tmp/newip.log
 exit
 else
 echo "l adresse IP a changé">> /tmp/newip.log
 sed -i 's/'$ipsquid'/'$newip'/g' /etc/squid/squid.conf
 /usr/local/bin/restartsquid
fi

il n’y pas plus qu’a appeler ce script toutes les 5 minutes via une ligne de commande dans votre crontab

NOTA: Pour modifier le crontab sur IPCOP  la commande est :
fcrontab -e et non crontab -e

 

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>