GetInfo.Ru – Компьютерная библиотека
Последние поступления
Как выбрать систему управления базы данных
Базы данных03/09/14
Этапы загрузки UNIX (в схеме)
Unix27/03/12
Gatewall Antispam: тотальный контроль электронной почты
Спам21/04/11
Мастер-класс: создаем Интернет-магазин (Часть 1)
Обзоры ПО20/04/11
CorelDRAW Graphics Suite X5: Что нового?
Обзоры ПО20/07/10
Добавить статью
Самые читаемые материалы
Базовая настройка SQUID(113211)
Простая и эффективная система подсчета трафика в ОС FreeBSD(50368)
Настройка Squid(37428)
Совместное использование прозрачного прокси-сервера (Squid) и биллинговой системы UTM(37402)
Настройка VPN и NetUP Radius сервера(35028)
Всего статей: 793Всего авторов: 364Подразделов: 47Добавлено за сутки: 0
Статьи  СТАТЬИ Форум  ФОРУМ Рейтинг  РЕЙТИНГ Поиск  ПОИСК Контакты  КОНТАКТЫ
» Главная » Unix » Совместное использование прозрачного прокси-сервера (Squid) и биллинговой системы UTM

Совместное использование прозрачного прокси-сервера (Squid) и биллинговой системы UTM


Компания NetUP
http://www.netup.ru/

Прокси-серверы используются для ускорения работы в Интернет за счет кеширования запрашиваемых документов. В некоторых сетях прокси используются для предоставления доступа к глобальной сети. Схема функционирования ускоряющего механизма прокси следующая: документ, будучи запрошенным из Интернет однажды, при повторном запросе будет выдаваться клиенту из кеша, где он был сохранен, независимо от того, какой потребитель запрашивает документ при втором и следующих запросах. Правильно настроенный прокси может брать из кеша до 30 % всех документов, ускоряя работу клиентов. При использовании прокси в схеме, показанной ниже, также наблюдается существенная экономия на трафике, прокачанном через интернет-канал. Для работы с прокси-сервером, как правило, необходимо соответствующим образом настраивать клиентское программное обеспечение. Избежать этого можно, если использовать так называемый прозрачный прокси-сервер, названный так в силу того, что для работы с ним клиент не должен ничего настраивать:работа через прокси для клиента абсолютно "прозрачна". Прнцип его работы такой, что при запросе документа из Интернета пакет принудительно "заворачивается" на порт прокси-сервера. Если сервер нашел требуемый документ в своем кеше, то он его отдает клиенту, подставляя при этом IP-адрес требуемого веб-сервера. В случае отсутствия документа в кеше он забирается из Интернета, отдатся потребителю и одновременно кешируется. Таким образом, пользователь может даже не заметить, что работает через прокси.

На приведенном выше рисунке указана схема включения в сеть UTM совместно с прозрачным прокси для случая с нереальными IP-адресами внутри сети. Для корректного обсчета статистики коллектор должен работать на внутреннем интерфейсе роутера (в данном случае интерфейс с адресом 10.1.2.1). Для установки, настройки и запуска прозрачного прокси на основе Squid необходимо произвести следующие действия:

  1. Установка Squid Proxy-server
    Скачиваем Squid Proxy Server:
    http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE1.tar.gz
    tar xzvf squid-2.5.STABLE1.tar.gz 
    cd ./ squid-2.5.STABLE1 
    ./confiqure 
    make 
    make install 
    chown nobody /usr/local/squid/var/ 
    chmod u+w /usr/local/squid/var/ 
    squid -z ; Creating Swap Directories 
    

    В файле /etc/squid/squid.conf следует поправить ACL:

    #Recommended minimum configuration:
    acl all src 0.0.0.0/0.0.0.0
    acl netup src 10.1.2.0/255.255.255.0
    
    # And finally deny all other access to this proxy
    http_access allow localhost
    http_access allow netup
    
  2. Настройка Squid в качестве transparent proxy
    В файле /etc/squid/squid.conf следует прописать следующие опции:
    http_port 127.0.0.1:3128 # порт на котором "слушает" Squid 
    httpd_accel_host virtual # имитирует акселератор http-сервера
    httpd_accel_port 80 # перенаправление пакетов поступающих на 80 порт 
    httpd_accel_with_proxy on # поддержка кеширования в режиме акселератора
    httpd_accel_uses_host_header on # поддержка кеширования виртуальных доменов в режиме акселератора
    

    Примечание:
    При использовании Linux с ipchains заворот на порт 3128 осуществляется на том же интерфейсе, на который приходят http запросы, поэтому Squid в данному случае должен слушать или на этом интерфейсе, или на всех интерфейсах:

    http_port 3128 # порт на котором "слушает" Squid 
    
  3. Запуск Squid
    /usr/local/squid/sbin/squid &
    
  4. Настройка правил Firewall для "заворота" пакетов на порт 3128, на котором "слушает" Squid

    • Настройка для Linux с ipchains:
      В администраторской части UTM в разделе "правила firewall" добавляем правила в цепочки input и forward:
      1000 usersgroup1 -p TCP -s UIP -d 0/0 3128 -j REJECT 
      2000 usersgroup1 -p TCP -s UIP -d 0/0 80 -j REDIRECT 3128 
      3000 usersgroup1 -b -s UIP -j MASQ 
      

      Примечание:
      В цепочке input следует закрыть порт 3128:

      ipchains -A input -p TCP -d 0/0 3128 -j REJECT
      
    • Настройка для FreeBSD c ipfw:
      В администраторской части UTM в разделе "правила firewall":
      1000 usersgroup1 fwd 127.0.0.1,3128 tcp from UIP to any 80
      2000 usersgroup1 allow ip from any to UIP
      3000 usersgroup1 allow ip from UIP to any
      

      Примечание:
      Если Вы используете FreeBSD и ipfw, для форварда HTTP запросов, ядро должно быть собрано со следующими опциями:

      options IPFIREWALL
      options IPFIREWALL_FORWARD
      
  5. Пример учета трафика при использовании VPN сервера совместно с Transparent Proxy на FreeBSD
    Пользователь vpnuser устанавливает по локальной сети соединение с VPN сервером 10.1.2.7.

    Меню Детализация по пользователю vpnuser.
    Рис.1 Меню Детализация по пользователю vpnuser.

    В процессе авторизации через Netup-radius сервер, пользователю vpnuser выдан ip адрес 172.16.0.100. На VPN сервере для виртуальной сети 172.16.0.0/16 на интерфейсе lnc0 настроен NAT. При включении инернета пользователю, в ipfw добавляется правило заворачивающее пакеты идущие на 80 порт (http) на интерфейс 127.0.0.1 порт 3128 на котором слушает Squid, работающий в качестве Transparent Proxy.

    Конфиругация сети VPN сервера и правила файрвола:

    bash-2.05a# ifconfig
    lnc0: flags=8843 mtu 1500
            inet6 fe80::250:56ff:fe40:9f77%lnc0 prefixlen 64 scopeid 0x1
            inet 10.1.2.7 netmask 0xffff0000 broadcast 10.1.255.255
            ether 00:50:56:40:9f:77
    tun0: flags=8051 mtu 1500
            inet6 fe80::250:56ff:fe40:9f77%tun0 prefixlen 64 scopeid 0x6
            inet 172.16.0.10 --> 172.16.0.100 netmask 0xffffffff
            Opened by PID 19984
    
    bash-2.05a# ipfw show
    00100 14760 3233019 divert 20000 ip from any to any via tun*
    00200 4467 247166 divert 8668 ip from 172.16.0.0/16 to any via lnc0
    00300 24985 4272742 divert 8668 ip from any to me via lnc0
    00400 22003 3403979 allow ip from any to me
    00500 27894 6406396 allow ip from me to any
    01003 114 8670 fwd 127.0.0.1,3128 tcp from 172.16.0.100 to any 80
    01003 63 5766 allow ip from 172.16.0.100 to any
    01003 244 121376 allow ip from any to 172.16.0.100
    65535 8270 894187 deny ip from any to any
    bash-2.05a#
    

    Ниже представлен детальный отчет по трафику и логи transparent proxy сервера Squid при просмотре пользователем web сайта www.cisco.com:

    Лог файл transparent proxy сервера Squid (/usr/local/squid/var/logs/access.log)
    Рис.2 Лог файл transparent proxy сервера Squid (/usr/local/squid/var/logs/access.log)

    Детальный отчет по трафику пользователя vpnuser
    Рис.3 Детальный отчет по трафику пользователя vpnuser:

    Информация об ip-адресе источника трафика:

    bash-2.05a# nslookup 198.133.219.25
    Server: utm.tech.netup.ru
    Address: 10.1.2.5
    
    Name: www.cisco.com
    Address: 198.133.219.25
    
  6. Пример учета трафика при использовании VPN сервера совместно с Transparent Proxy на Linux Red Hat 7.3 с IPCHAINS
    В процессе авторизации через Netup-radius сервер, пользователю vpnuser выдан ip адрес 172.16.0.100. На VPN сервере в файрволе IPCHAINS в цепочке INPUT закрыто прохождение пакетов на порт 3128, на котором слушает Squid. Это сделано для предотвращения несанкционированного подключения пользователей к Proxy серверу. При включении интернета пользователю в IPCHAINS добавляются правила, закрывающие прямое прохождение пакетов на порт 3128 и включается заворот пакетов, идущих на 80-й порт, (http) на Squid (порт 3128).

    Ниже представлены "Правила Firewall" которые следует добавить в веб-интерфейсе администратора биллинговой системы UTM.

    Рис.4 Меню 'Правила firewall' администраторской части биллинговой системы UTM:
    Рис.4 Меню "Правила firewall" администраторской части биллинговой системы UTM:

    Конфигурация сети VPN сервера и правила IPCHAINS при включенном интернете у пользователя:

    [root@rh73 /]# ipchains -nL
    Chain input (policy ACCEPT):
    target prot opt source destination ports
    u12 all ------ 0.0.0.0/0 172.16.0.100 n/a
    u12 all ------ 172.16.0.100 0.0.0.0/0 n/a
    REJECT tcp ------ 0.0.0.0/0 0.0.0.0/0 * -> 3128
    Chain forward (policy DENY):
    target prot opt source destination ports
    u12 all ------ 0.0.0.0/0 172.16.0.100 n/a
    u12 all ------ 172.16.0.100 0.0.0.0/0 n/a
    Chain output (policy ACCEPT):
    Chain u12 (4 references):
    target prot opt source destination ports
    REJECT tcp ------ 172.16.0.100 0.0.0.0/0 * -> 3128
    REDIRECT tcp ------ 172.16.0.100 0.0.0.0/0 * -> 80 => 3128
    MASQ all ------ 172.16.0.100 0.0.0.0/0 n/a
    MASQ all ------ 0.0.0.0/0 172.16.0.100 n/a
    
    [root@rh73 /]# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:50:56:40:9F:5E
         inet addr:10.1.2.231 Bcast:10.1.255.255 Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
         RX packets:8897383 errors:0 dropped:0 overruns:0 frame:0
         TX packets:116068 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100
         RX bytes:1385442009 (1321.2 Mb) TX bytes:45891557 (43.7 Mb)
         Interrupt:9 Base address:0x1080
    
    ppp0 Link encap:Point-to-Point Protocol
         inet addr:172.16.0.10 P-t-P:172.16.0.100 Mask:255.255.255.255
         UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
         RX packets:44 errors:0 dropped:0 overruns:0 frame:0
         TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:3
         RX bytes:3890 (3.7 Kb) TX bytes:149 (149.0 b)
    
    

    Ниже представлен детальный отчет по трафику и логи transparent proxy сервера Squid при просмотре пользователем web сайта www.oracle.com:

    Лог файл transparent proxy сервера Squid (/usr/local/squid/var/logs/access.log);
    Рис.5 Лог файл transparent proxy сервера Squid (/usr/local/squid/var/logs/access.log);

    Детальный отчет по трафику пользователя vpnuser:
    Рис.6 Детальный отчет по трафику пользователя vpnuser:

    Информация об ip-адресе источника трафика:

    [root@rh73 /]# nslookup
    > server ns1.oracle.com
    Default server: ns1.oracle.com
    Address: 148.87.1.20#53
    > 148.87.9.44
    Server: ns1.oracle.com
    Address: 148.87.1.20#53
    
    44.9.87.148.in-addr.arpa name = bigip-www.us.oracle.com.
    
    ©Компания NetUP, 2001-2002
    Оригинал статьи - www.netup.ru

 
03.10.2003
Версия для печати Версия для печати Запомнить ссылку Запомнить ссылку
Ваша оценка:  1   2   3   4   5     

 О проектеПерепечаткаАвторамПартнерыО нас пишут
Наверх
©2003—2007. GETINFO.RU. ВСЕ ПРАВА ЗАЩИЩЕНЫ.