Ограничение доступа в Интернет некоторых клиентов локальной сети к нескольким веб-сайтам с помощью шлюза Ubuntu

Как я должен ограничить доступ в Интернет большинства систем на моей LAN к нескольким веб-сайтам и заблокировать все другие веб-сайты? Я также хотел бы обойти те ограничения для некоторых систем. Все системы имеют статические IP-адреса.

Я попробовал Dansguardian+squid в независимой системе, но поскольку пользователи могут изменить прокси в своих веб-браузерах, то решение не может быть реализовано. При просмотре я узнал, что это может быть сделано при помощи промежутка шлюзовой системы Ubuntu маршрутизатор и LAN.

Оборудуйте шлюзовую систему двумя сетевыми платами: один для маршрутизатора и другого для локальной LAN.

Как я должен сделать это?

Предоставьте достаточно подробной информации.

4
задан 24 July 2015 в 14:10

2 ответа

Я настроил систему Ubuntu как шлюз между LAN и маршрутизатором ADSL. Из этих двух сетевых плат eth0 подключен к маршрутизатору ADSL с IP-адресом 192.168.0.240.

eth0Интерфейс (WAN) настроен со следующими исходными данными:

IP - 192.168.0.239
Gateway - 192.168.0.240
DNS - 192.168.0.225

eth1Интерфейс (LAN) настроен со следующими исходными данными:

IP - 192.168.0.238
Gateway - 192.168.0.239
DNS - 192.168.0.225 

Отметьте IP-адрес eth0 дан как шлюз для другого интерфейса eth1. IP 192.168.0.225 наш внутренний локальный сервер DNS, который настроен как кэширующийся сервер DNS.

Править /etc/sysctl.conf файл для некомментария строки net.ipv4.ip_forward=1.

Загрузите webmin пакет с помощью следующей команды:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.720_all.deb

Установите пакет:

dpkg -i webmin_1.720_all.deb

Войдите в использование Webmin https://server-ip:10000 в Вашем веб-браузере.

enter image description here

Сделайте NAT на eth0 и нажмите Setup firewall.

Можно записать сценарий оболочки для создания настроенного доступа для систем в LAN.

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

Править /etc/rc.local запускать скрипт при начальной загрузке

 /bin/bash /root/iptables.sh 

Или иначе можно скопировать сценарий в /etc/init.d/ и добавьте его к сценариям начальной загрузки:

sudo update-rc.d keys defaults

iptables -L перечислит текущие правила iptables.


Источники:

3
ответ дан 1 December 2019 в 09:23

Основная вещь сделать состоит в том, чтобы сделать сервер сквида шлюзом по умолчанию вместо Вашего Маршрутизатора интернета .

Просто добавляют дополнительную сетевую плату к сквиду Ubuntu, приносящему его до 2 сетевых плат: 1 в Вашу LAN и 1 в Ваш сетевой маршрутизатор. Сторона локальной сети теперь получает IP-адрес шлюза по умолчанию (вероятно, 192.168.1.1), и сторона WAN получает автоматический IP-адрес от ISP.

Тот способ, которым весь Ваш сетевой трафик проходит через сервер сквида перед выходом и это может заблокировать что-либо. Просто рассматривайте его как нормальную машину Ubuntu с брандмауэром, и я советовал бы, чтобы не использовать помещение в черный список, но просто добавить материал в белый список.

единственная разница - то, что Вы могли бы потребность добавить несколько ручных маршрутов для внутренней части Ваша сеть, но значение по умолчанию переходит к сквиду, кто просто отбрасывает все, что не находится в белом списке...

Это настолько просто!

3
ответ дан 1 December 2019 в 09:23

Другие вопросы по тегам:

Похожие вопросы: