Я использую ПК под управлением CentOS 6.7 с двумя сетевыми картами (eth0 и eth1) в качестве прокси-сервера Squid. eth0 (красный интерфейс / 192.168.0.2/24) физически связан с маршрутизатором (192.168.0.1/24), а eth1 (зеленый интерфейс / 192.168.1.1/24) подключен к локальной сети.
При настройке блока CentOS в качестве прокси-сервера я выполнил следующие настройки:
Обновил ням и установил Squid
отредактировал файл /etc/squid/squid.conf, как показано ниже:
#
# Рекомендуемая минимальная конфигурация:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 :: 1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 :: 1
# Пример правила, разрешающего доступ из ваших локальных сетей.
# Адаптировать для перечисления ваших (внутренних) IP-сетей, откуда
должен быть разрешен просмотр #
#acl localnet src 10.0.0.0/8 # RFC1918 возможная внутренняя сеть
#acl localnet src 172.16.0.0/12 # RFC1918 возможная внутренняя сеть
acl localnet src 192.168.1.0/24 # RFC1918 возможная внутренняя сеть
#acl localnet src fc00 :: / 7 # RFC 4193 диапазон локальной частной сети
#acl localnet src fe80 :: / 10 # RFC 4291 локальные (напрямую подключенные) машины
.
,
. (другие строки остались прежними)
Запустил прокси Squid:
# служба запуска squid # chkconfig squid on
Отредактировал файл /etc/sysctl.conf следующим образом
net.ipv4.ip_forward = 1
Отредактировал файл / etc / sysconfig / iptables-config
Изменено «нет» на «да» в следующих строках: И сохранено
IPTABLES_SAVE_ON_STOP = "да" IPTABLES_SAVE_ON_RESTART = "да"
Изменены правила в iptables следующим образом:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-запрещено
# iptables -t filter -D ВПЕРЕД -j REJECT --reject- с icmp-host-
closed # iptables -t filter -A INPUT -p tcp --dport 3128 -j ПРИНЯТЬ
# iptables -A INPUT -j REJECT - отклонить с icmp-host-запрещено
# iptables -A ВПЕРЕД -i eth1 -p tcp --dport 443 -d www.facebook.com -j DROP
# iptables -A ВПЕРЕД -i eth1 -p tcp --dport 443 -d www.youtube.com -j DROP
# сервис iptables save
# chkconfig iptables на
# сервис iptables restart
Установил dhcp сервер (ням установить dhcp)
Отключил Селинукс:
# setenforce 0
# vim / etc / sysconfig / selinux and chandge;
SELINUX = принуждение к
SELINUX = отключено
Отредактировал файл / etc / sysconfig / dhcpd и добавил;
DHCPDARGS = eth1
Отредактировал файл /etc/dhcp/dhcpd.conf следующим образом:
# Файл конфигурации DHCP-сервера.
# см. /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
authoritative;
подсеть 192.168.1.0 маска сети 255.255.255.0 {
диапазон 192.168.1.50 192.168.1.220;
опция доменных имен-серверов 8.8.8.8, 8.8.4.4;
# option domain-name "centos.local"
опция маршрутизаторы 192.168.1.1;
опция широковещательного адреса 192.168.1.255;
время аренды по умолчанию 600;
максимальное время аренды 7200;
}
Запустил dhcp сервер
# service dhcpd start
# chkconfig dhcpd on
После добавления фильтрующих сайтов / правил / расширений файлов в
. A.) /Etc/squid/acls.txt
b.) /Etc/squid/adult.txt и
c.) /Etc/squid/badsites.txt я изменил / Файл etc / squid / squid.conf:
,
. (Выше правила, как в шаге 2)
.
#
# ВСТАВЬТЕ СВОЕ СОБСТВЕННОЕ ПРАВИЛО (И) ЗДЕСЬ, ЧТОБЫ РАЗРЕШИТЬ ДОСТУП К ВАШИМ КЛИЕНТАМ
#
visible_hostname cetos-server.local
acl social dstdomain -i "/etc/squid/acls.txt"
acl badsites dstdomain -i "/ etc / squid / badsites .txt "
acl adult url_regex -i" /etc/squid/adult.txt "
acl нерабочее время SMTWHFS 18: 00-23: 59
acl нерабочее время SMTWHFS 00: 00-06: 00
http_access отрицать неработающие
http_access отрицать социальные
http_reply_access отрицать злоумышленники
http_reply_access отрицать взрослых
# Мы рекомендуем вам использовать по крайней мере следующую строку.
ierarchy_stoplist cgi-bin?
# Раскомментируйте и настройте следующее, чтобы добавить каталог кеша диска.
cache_dir ufs / var / spool / squid 10240 16 256
.
. (Другие правила не были изменены)
Перезапущенный squid, dhcpd и iptables:
# chkconfig squid on
# service перезапуск squid
# chkconfig iptables на
# service iptables restart
# chkconfig dhcpd on
# service dhcpd restart
Как только это сделано, прокси работает очень хорошо. Ни один ПК в локальной сети не может получить доступ к Интернету без прохождения через прокси-сервер (192.168.1.1 Порт: 3128).
Спасибо.