В моем офисе все используют facebook и другие сайты, которыми мы не хотим быть. Сформируйте серверный компьютер, я использовал свою сеть через /ect/rc.local
файл. Я редактировал файл такой строкой:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE
Так что моя сеть была доступна всем. Чтобы выполнить фильтрацию, чтобы никто не мог получить доступ к facebook, я изменяю rc.local file
и добавьте эти две строки:
iptables -I INPUT 1 -s facebook.com -j DROP
iptables -I INPUT 2 -d facebook.com -j DROP
Мой /etc/rc.local
файл теперь такой:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -I INPUT 1 -s facebook.com -j DROP
iptables -I INPUT 2 -d facebook.com -j DROP
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE
Но сервер пока не может заблокировать доступ к facebook со всех компьютеров. Может ли кто-нибудь сказать мне, как я могу заблокировать весь доступ к facebook с моего сервера
Любое техническое решение этой проблемы не решить реальную проблему, которая люди в вашем офисе скуку и желание просмотра Facebook / взгляд на порно / все, что вместо того, чтобы работать.
Это управление проблема, и ее необходимо решить с помощью управление инструменты, такие как четкие корпоративные политики приемлемого использования Интернета, в которых четко указывается, что является приемлемым, а что нет, и что произойдет, если они нарушены. Если парень весь день пользуется фейсбуком, а не выполняет свою работу, не блокируйте фейсбук, стреляйте ему *.
* Невзирая на юридические / местные правовые условия и ограничения.
Это действительно хитрая почва. Невозможно эффективно подвергнуть цензуре Интернет без большого количества ресурсов, опыта и контроля. Что в конечном итоге произойдет, так это то, что вы реализуете какой-то взлом (ваш iptables
публикация указывает на то, что у вас может не быть всего опыта, необходимого для этого), ваши пользователи будут работать над этим, и теперь у вас есть рассерженный начальник, который требует знать, почему вы не можете выполнять свою работу правильно.
Вы должны установить ожидания со своим руководством, что, хотя вы можете реализовать что-то с учетом имеющихся у вас ресурсов и навыков, это, вероятно, не будет эффективным и, следовательно, будет пустой тратой вашего времени.
Если ваши пользователи умны, то выполнение вашей задачи может оказаться трудным, а iptables не сможет легко и надежно делать то, что вы хотите. Вот несколько соображений.
Ваши правила iptables блокируют фильтрацию трафика на основе IP-адресов и портов. Facebook представляет несколько IP-адресов и может время от времени изменять эти IP-адреса.
Ваши пользователи всегда могут использовать открытый прокси для доступа к Facebook, минуя ограничения, связанные с IP-адресом.
Вам следует принять корпоративную политику, регулирующую использование доступа в Интернет на рабочем месте, и указать, какое использование считается уместным или неуместным.
Вы можете получить некоторый контроль, если управляете DNS-серверами своей компании, что позволит вам переопределить IP-адрес facebook.com для ваших пользователей. Есть несколько приличных межсетевых экранов и сервисов, которые обеспечивают категоризацию (Fortinet Fortigate-60, OpenDNS, BlueCoat и т. Д.). Вы также можете попробовать прокси, такой как Squid, для такой фильтрации, если вы ищете бесплатное решение для существующего оборудования.
Поскольку ваш Linux-сервер является шлюзом, почему бы вам не настроить Squid как прозрачный прокси а затем добавить .facebook.com
в файл черного списка кальмаров, например:
В / etc / squid / blacklist_domains:
.facebook.com
.whatever.com
В вашем squid.conf:
acl BLACKLIST_DOMAINS dstdom_regex -i "/etc/squid/blacklist_domains"
http_access deny BLACKLIST_DOMAINS
Если пользователи в офисе не слишком разбираются в технологиях, вы можете просто изменить их файл hosts примерно так: facebook.com 127.0.0.1
и добавьте строку для www
слишком.
Если вы имеете дело с пользователями techi (которые имеют доступ к facebook с IP-адресом), это сделать сложнее. поскольку @TryTryAgain предположил, что это можно сделать.
Squid требует "acl localhost src 127.0.0.1/8" над строкой "acl lan src 202.51.176.42 192.168.10.1/24" в squid.conf.
Это звучит как Распутать может быть то, что вы ищете. Взгляните на него и предложите своему боссу.
Я использовал OpenDns на основе системы блокировки DNS. Хотя большинство пользователей в моей компании не очень разбираются в технологиях.