The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Разделение доступа в интернет из локальной сети (socks squid howto firewall)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: socks, squid, howto, firewall,  (найти похожие документы)
Date: Mon, 23 Oct 2000 12:18:57 +0400 (MSD) From: Алексей Серебряков <[email protected]> Subject: Разделение доступа в интернет из локальной сети Автор: Алексей Серебряков <[email protected]> Оригинал доступен по адресу: http://www.ksaa.edu.ru/~val/socks5.htm Разделение доступа в интернет из локальной сети. Около года назад у нас появился интернет и вместе с ним проблема - как делить? Собственно проблема в том, что все машины многопользовательские, а, как следствие, ограничить доступ на основании IP адреса невозможно. Теперь, год спустя, обнаружились 2 наиболее практичных способа. Мы используем первый, но у вас есть возможность выбирать ;) Способ первый (IMHO более правильный) заключается в использовании socks5 сервера и клиента. При этом получаем отличный firewall с возможностью проксить как TCP так и UDP плюс полный контроль над работой пользователей в интернет. Настраиваем следующим образом: 1. Идем на http://www.socks.nec.com/ и берем там socks5 сервер (на данный момент это socks5-v1.0r8) и socks5tools - скрипт для анализа лог-файлов сервера. Конфигурируем socks5 сервер. Запустите ./configure - значения по умолчанию вполне разумны, хотя я посоветовал бы сменить syslog facility. По умолчанию socks использует LOG_DAEMON, и как следствие файл /var/log/messages будет забит сообщениями socks. Во избежание этого запустите ./configure --with-syslog-facility=LOG_LOCAL0 и добавьте строчки "local0.* /var/adm/socks5" и "*.=info;*.=notice;local0.none /var/log/messages" в /etc/syslog.conf. Дальше стандартно - make; make install. Если все нормально, создаем файл конфигурации /etc/socks5.conf следующего содержания: [root@val /etc]# cat socks5.conf # A Socks5 Config file for a dual homed server # # Описание роутинга # route hostmask portmask interface route 195.9.ххх. - eth0 #Описание аутентификации - в данном случае требуем со всех логин/пароль #auth source-host source-port auth-metod auth - - u #permit и deny. В данном случае человек с правильным логином/паролем может идти куда #угодно ;) подробней - man socks5.conf #permit auth cmd src-host dest-host src-port dest-port [user-list] permit u - - - - - - #Не делать reverse lookup в DNS - процесс заметно ускоряется set SOCKS5_NOREVERSEMAP #Записывать номера портов вместо имен сервисов. Тоже для ускорения set SOCKS5_NOSERVICENAME #Не рассылать ident запросы клиентам set SOCKS5_NOIDENT # Максимальное число детей socks5 - пусть будет больше, зато всем хватит set SOCKS5_MAXCHILD 128 Все, теперь создаем /etc/socks5.passwd формат прост - в каждой строчке имя и пароль, разделенные пробелом. [root@ksaa /etc]# cat socks5.passwd user password lamer lamepassword С сервером все, правим стартовые скрипты для автозапуска после ребута. Теперь клиент. Выбор не особо богат. 1 - SocksCap от Nec - http://www.socks.nec.com Неплохой клиент под windows3.1, 95, NT. Под NT немного глючит, что раздражает. 2 - AutoSocks от Aventail - http://www.aventail.com мне понравился больше всех. Отлично работает под всеми видами форточек. Недостаток один - дают только триальную версию на 1 месяц. Но ведь это-же не проблема, не так-ли? ;)) 3 - Hummingbird's SOCKS Client от http://www.hummingbird.com/ Бесплатный, хорошо работающий, но чертовски неудобный. ;) Способ второй: Squid - кэширующий прокси сервер. Также позволяет авторизоваться по логину/паролю, но проксит только HTTP,FTP, и Gopher. Также начиная с версии 2.0 включает поддежку ARP acl , т.е. возможность разрешить доступ только станциям с опреденными MAC адресами сетевых адаптеров. Возможность интересная, но не всех устраивающая. IMHO практичней и универсальней использовать username/password аусентификацию. Прикручивается следующим образом: Запустите ./configure -DUSE_PROXY_AUTH=1, или просто раскоментируйте строчку USE_PROXY_AUTH в Makefile. Скажите make ; make install . Затем подправьте все необходимое в squid.conf и добавьте туда строчку proxy_auth /usr/local/squid/etc/passwd passwd - файл с криптаваными паролями ( crypt() ), такого-же формата как и в Appache. Для создания этого файла можно использовать вот эту программу (http://www.ksaa.edu.ru/~val/htpasswd.tar.gz). Если вы хотите разрешить пользователям изменять пароли, используйте вот этот CGI скрипт (http://www.ksaa.edu.ru/~val/chpasswd-cgi.tar.gz).

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Андрей (?), 15:53, 27/05/2002 [ответить]  
  • +/
    просто и доступно. Повесил на стену. Спасибо.
     
  • 2, raven_net521 (?), 19:44, 04/01/2003 [ответить]  
  • +/
    все хорошо, только ./configure -DUSE_PROXY_AUTH=1 ну не как не работает в 2.5
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру