web-dev-qa-db-fra.com

Limiter l'accès Internet de certains clients du réseau local à quelques sites Web à l'aide d'une passerelle Ubuntu

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.

4
ATR

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.

enter image description here

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:

3
ATR

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!

3
Fabby