Comment dois-je limiter l'accès Internet de la plupart des systèmes de mon réseau local à quelques sites Web et bloquer tous les autres sites Web? J'aimerais également contourner ces restrictions pour certains systèmes. Tous les systèmes ont des adresses IP statiques.
J'ai essayé Dansguardian + calmar dans un système indépendant, mais comme les utilisateurs sont en mesure de modifier les mandataires dans leurs navigateurs Web, cette solution ne peut pas être mise en œuvre. Pendant la navigation, j'ai découvert que cela pouvait être fait en utilisant un système de passerelle Ubuntu entre le routeur et le réseau local.
Équipez le système de passerelle de deux cartes réseau: une pour le routeur et l’autre pour le réseau local.
Comment dois-je faire cela?
S'il vous plaît fournir suffisamment de détails.
J'ai configuré un système Ubuntu en tant que passerelle entre un réseau local et un routeur ADSL. Des deux cartes réseau, eth0
est connecté au routeur ADSL avec l'adresse IP 192.168.0.240
.
L’interface eth0
(WAN) est configurée avec les entrées suivantes:
IP - 192.168.0.239
Gateway - 192.168.0.240
DNS - 192.168.0.225
L'interface eth1
(LAN) est configurée avec les entrées suivantes:
IP - 192.168.0.238
Gateway - 192.168.0.239
DNS - 192.168.0.225
Veuillez noter que l'adresse IP de eth0
est donnée en tant que passerelle pour l'autre interface eth1
. IP 192.168.0.225
est notre serveur DNS local interne configuré comme serveur DNS de mise en cache.
Editez le fichier /etc/sysctl.conf
pour supprimer la mise en commentaire de la ligne net.ipv4.ip_forward=1
.
Téléchargez le package webmin à l'aide de la commande suivante:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.720_all.deb
Installez le paquet:
dpkg -i webmin_1.720_all.deb
Connectez-vous à Webmin en utilisant https://server-ip:10000
dans votre navigateur Web.
Faites NAT sur eth0
et cliquez sur Setup firewall
.
Vous pouvez écrire un script Shell pour créer un accès personnalisé aux systèmes du réseau local.
vim /root/iptables.sh
#!/bin/bash
iptables -F
IP="3 6 7 13 14 17"
for i in `echo $IP`
do
# FTP server
iptables -A FORWARD -s 192.168.0.$i -d 85.46.5.230 -j ACCEPT
# Mail server
iptables -A FORWARD -s 192.168.0.$i -d 93.34.3.220 -j ACCEPT
iptables -A FORWARD -s 192.168.0.$i -j DROP
done
exit 0
Editez /etc/rc.local
pour exécuter le script lors du démarrage
/bin/bash /root/iptables.sh
Sinon, vous pouvez copier le script sur /etc/init.d/
et l'ajouter aux scripts de démarrage en:
Sudo update-rc.d keys defaults
iptables -L
listera les règles iptables actuelles.
Sources:
L'essentiel est de faire du serveur squid la passerelle par défaut au lieu de votre routeur Internet.
Ajoutez simplement une carte réseau supplémentaire au calmar Ubuntu en l'amenant à 2 cartes réseau: une dans votre réseau local et une dans votre routeur réseau. Le côté réseau local obtient maintenant l'adresse IP de la passerelle par défaut (probablement 192.168.1.1), tandis que le côté réseau étendu obtient une adresse IP automatique du FAI.
De cette façon, tout le trafic de votre réseau passe par le serveur squid avant de sortir et il peut bloquer n'importe quoi. Traitez-le simplement comme une machine Ubuntu normale avec un pare-feu et je vous conseillerais de ne pas utiliser de liste noire, mais simplement des éléments de liste blanche.
La seule différence est que vous peut-être devez ajouter quelques routes manuelles pour l'intérieur de votre réseau, mais la valeur par défaut est celle de calmar qui supprime tout ce qui ne figure pas dans la liste blanche ...
C'est aussi simple que ça!