Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Разделение доступа в  интернет из  локальной сети.

socks5 & squid

Около года назад у нас появился интернет и вместе с ним проблема - как делить? Собственно проблема в том, что все машины многопользовательские, а, как следствие, ограничить доступ на основании IP адреса невозможно.

Теперь, год спустя, обнаружились 2 наиболее практичных способа. Мы используем первый, но у вас есть возможность выбирать ;)

Способ первый (IMHO более правильный) заключается в использовании socks5 сервера и клиента.
При этом получаем отличный firewall с возможностью проксить как TCP так и UDP плюс полный контроль над работой пользователей в интернет. Настраиваем следующим образом:

  1. Идем на www.socks.nec.com  и берем там socks5 сервер (на данный момент это socks5-v1.0r8) и socks5tools - скрипт для анализа лог-файлов сервера.
  2. Конфигурируем 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
    С сервером все, правим стартовые скрипты для автозапуска после ребута.
  3. Теперь клиент. Выбор не особо богат.
    1. SocksCap от Nec -  www.socks.nec.com  Неплохой клиент под windows3.1, 95, NT. Под NT немного глючит, что раздражает.
    2. AutoSocks от Aventail - www.aventail.com  мне понравился больше всех. Отлично работает под всеми видами форточек. Недостаток один - дают только триальную версию на 1 месяц. Но ведь это-же не проблема, не так-ли? ;))
    3. Hummingbird's SOCKS Client от Hummingbird  Бесплатный, хорошо работающий, но чертовски неудобный. ;)

Способ второй: 

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.



      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP