Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Squid + Sams + Один сетевой интерфейс  (Прочитано 8818 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rubens

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Squid + Sams + Один сетевой интерфейс
« : 15 Апреля 2013, 21:14:05 »
Привет! Скажите пожалуйста, есть ли возможность поднять прозрачный squid-прокси на сервере с одним сетевым интерфейсом?

Есть машина с Ubuntu 10.04.4 LTS, которая работает как шлюз. Установлен Squid и Sams, но фильтр не работает. В инет ходит игнорируя ограничения настроенные в самс.

В инете много мануалов, но везде две сетевки и выделение другой подсети, что не приемлемо. Долбаюсь 3 неделю  :-[
Помогите пожалуйста!

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #1 : 15 Апреля 2013, 22:23:47 »
Как вы вообще ходите в интернет через один интерфейс с локальной сетью?... Опишите своё подключение нормально.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн rubens

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #2 : 16 Апреля 2013, 11:05:43 »
Есть роутер, он же шлюз (192.168.0.2), который водит всех в инет через NAT и DHCP-сервер, который выдает всем IP. Я поднимаю второй шлюз на Ubuntu и ставлю туда прокси. Идея в том, чтобы админы юзали в качестве шлюза NAT-железку, а у юзеров в качестве шлюза стоял прокси, у которого в свою очередь шлюзом является NAT-железка.
Сейчас у всех соединение как у админа на картинке. Вопрос в том получится ли сделать полную картину, если на убунте будет один сетевой интерфейс?


Сори, если не ясно излагаю вопрос - впервые обращаюсь за помощью на форум, до этого всегда справлялся сам.
Могу выложить конфиги сквида, iptables и всего, что попросите. В данный момент Ubuntu уже работает как шлюз, но я наверное накосячил с настройкой и сквид не фильтрует.

Пользователь решил продолжить мысль 16 Апреля 2013, 11:57:38:
Вот решил не ждать пока попросят. Всё-равно конфиги выкладывать придется:

IPTABLES
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# Включаем NAT
-A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

#for squid
-A PREROUTING -s 192.168.0.0/24 ! -d  192.168.0.100 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128
-A PREROUTING -s 192.168.0.0/24 ! -d  192.168.0.100 -p udp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128

COMMIT

*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# Разрешаем трафик на loopback-интерфейсе
-A INPUT -i lo -j ACCEPT

# Разрешаем доступ из внутренней сети наружу
-A FORWARD -i eth0 -o eth0 -j ACCEPT

# Разрешаем ответы из внешней сети
-A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

COMMIT

# ПРОБОВАЛ ТАКЖЕ СЛЕДУЮЩИЕ ВАРИАНТЫ ДЛЯ ЗАВОРОТА НА СКВИД:
#-A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:3128

#-A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.100:3128
#-A PREROUTING -i eth0 -p tcp -–dport 443 -s 192.168.0.0/24 -j REDIRECT –to-ports 3128

#-A PREROUTING -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128

#-A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128
#-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
#-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128

SQUID.CONF
http_port 3128 transparent

acl all src 0/0
acl localnet src 192.168.0.0/24

icp_port 0
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 120480 KB
cache_dir ufs /var/spool/squid 5000 32 256
cache_swap_low 90
cache_swap_high 95
logfile_rotate 5

acl SSL_ports port 443          # https
#acl SSL_ports port 563          # snews
#acl SSL_ports port 873          # rsync

acl Safe_ports port 22          # SSH-connection
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
#acl Safe_ports port 70          # gopher
#acl Safe_ports port 210         # wais
#acl Safe_ports port 1025-65535  # unregistered ports
#acl Safe_ports port 280         # http-mgmt
#acl Safe_ports port 488         # gss-http
#acl Safe_ports port 591         # filemaker
#acl Safe_ports port 777         # multiling http
#acl Safe_ports port 631         # cups
#acl Safe_ports port 873         # rsync
#acl Safe_ports port 901         # SWAT
acl CONNECT method CONNECT

http_access allow localnet
http_access deny all
http_access deny !Safe_ports

error_directory /usr/share/squid/errors/Russian-1251

memory_pools on
memory_pools_limit 30 MB

INTERFACES
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.2

post-up iptables-restore < /etc/iptables.up.rules

 ???
« Последнее редактирование: 16 Апреля 2013, 15:53:48 от rubens »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #3 : 16 Апреля 2013, 14:40:13 »
Смишно. А нормально настроить сеть вам в голову не приходило?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн rubens

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #4 : 16 Апреля 2013, 15:05:33 »
а не умничать Вам в голову не приходило? спасибо, помог :-\
именно поэтому никогда не обращался на форумы. почему нельзя прямо указать на проблему, если видишь ее? что это вообще такое Ваше "нормально"? :)
« Последнее редактирование: 16 Апреля 2013, 15:09:06 от rubens »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #5 : 16 Апреля 2013, 15:07:56 »
С таким же успехом я могу спросить, а не приходило ли вам в голову не заниматься глупостями?
Подключить ваш "второй шлюз" к роутеру (или замените роутер "шлюзом"), и всё станет намного проще.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн rubens

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #6 : 16 Апреля 2013, 15:48:42 »
Не вижу ничего глупого, делал по мануалам с инета. К тому же, если бы Ваши предложения были уместны, то я бы сюда не писал.
Вопрос открыт!

Ребята, посмотрите пожалуйста конфиги, может я что-то упустил.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #7 : 17 Апреля 2013, 02:47:49 »
Свитч же у вас управляемый?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #8 : 17 Апреля 2013, 03:49:38 »
Установлен Squid и Sams, но фильтр не работает. В инет ходит игнорируя ограничения настроенные в самс.
Похоже на то, что косяк в настройке SAMS и/или squid.
Так что надо либо копать в эту сторону, либо пробовать альтернативный редиректор.

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 17 Апреля 2013, 09:58:00 от ArcFi »

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #9 : 17 Апреля 2013, 06:38:18 »
а не умничать Вам в голову не приходило? спасибо, помог :-\
А вам не приходило в голову, что мало-мало грамотный пользователь, просканировав локалку и изменив настройки сетевого соединения у себя на компе, может просто обойти прокси и выйти в инет напрямую? Если уж делать шлюз с прокси, то делать нормально. С двумя сетевухами и разделением на подсети как раз. Только тогда можно получить полный контроль над внешним трафиком юзверей. И кстати, можно будет выкинуть 192.168.0.2.
С уважением, Юрий.

Оффлайн rubens

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #10 : 20 Апреля 2013, 13:08:13 »
Ребята, всем спасибо за ответы. Вопрос решен! 8)
Настроил все так, как хотел, но пришлось пересесть на squid3+sams2. Сейчас работает идеально.
squid 2.7 тоже работал, но после рестарта системы отваливался сам сквид и демон самса (sams2daemon), который ну никак не хотел стартовать автоматически.

Ниже приведу результирующие конфиги и некоторые мануалы, которыми пользовался.

От себя добавлю, что для корректной работы демона sams2daemon со squid3 (о чем или не пишут вообще, или пишут неточно\некорректно\и т.д. во всех статьях, что я видел) необходимо после распаковки изменить в файле samsdaemon.cpp все вхождения /squid на /squid3 (я их нашел два). То же самое касается всех конфигурационных файлов (в частности sams2.conf)- рекомендую внимательно проверять пути к сквиду - для squid 2.7 это .../squid, для squid3 - .../squid3 соответственно. Из-за этих мелочей возникает много неоднозначных проблем и четких решений в инете нет. Все начинают смотреть глубже, а все какбэ на поверхности  :)
Sams хранит настройки в базе mysql. Для реконфигурации достаточно удалить базу (по умолчанию называется sams2db)
Кому-то может показаться это очевидным, но я понял не сразу.

ы.ч. Yuriy_Y, политиками можно запретить возможность изменения настроек, тащемта ;)

Конфиги:
/etc/php5/apache2/php.ini
/etc/network/interfaces
/etc/iptables.up.rules
/etc/rc.local
/etc/squid3
/etc/sysctl.conf
/etc/reslov.conf
/usr/local/etc/sams2.conf
/usr/local/bin/sams2daemon #ДЕМОН СКОМПИЛИРОВАННЫЙ ПОД SQUID3
Архив с конфигами - http://www.mediafire.com/?xydrdz7opbtqgy6

Версия OC:
Ubuntu Server 10.04.4 LTS


Вот некоторая часть того, чем я пользовался для настройки (может кому-то пригодится):

Установка SAMS2 2.0.0-rc1 на Ubuntu Server 10.04.3
http://alah-my.blogspot.com/2011/11/sams2-200-rc1-ubuntu-server-10043.html
Squid3+SAMS+Samsredirector на Ubuntu-server
http://justbox.ru/?p=8
Установка SAMS2 в Ubuntu 10.04
http://sidelnikov.wordpress.com/2011/01/17/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-sams2-%D0%B2-ubuntu-10-04/
UBUNTU NAT + DHCP + SQUID ПРОЗРАЧНЫЙ КЭШИРУЮЩИЙ ПРОКСИ-СЕРВЕР
http://melfis.ru/ubuntu-nat-dhcp-squid-%D0%BF%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D1%8B%D0%B9-%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B8%D0%B9-%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8-%D1%81%D0%B5/
Настройка прокси-сервера SQUID+простой контент фильтр на Ubuntu Server 10.04 / 10.10
http://howitmake.ru/blog/ubuntu/32.html
Squid3 + SAMS2 + NTLM
http://networkny.blogspot.com/2012/10/ubuntu-1204-sams2-squid3-ntlm.html
Установка на Ubuntu 10.04.1 SQUID SAMS2 APACHE2 IPTABLES
http://forum.mini-server.ru/viewtopic.php?f=8&t=470
IPTABLES - Ubuntu Security for all!
https://forum.xeksec.com/f18/t49616/
IPTABLES+SQUID прозрачный прокси (старая песня)
http://sysadminz.ru/index.php?topic=1928.0
Squid на практике. Ограничение скорости доступа в Интернет
http://break-people.ru/cmsmade/index.php?page=articles_squid_practice_how_to_use_delay_pools_to_limit_download_speed
« Последнее редактирование: 20 Апреля 2013, 15:08:04 от rubens »

Оффлайн vetallkvn

  • Любитель
  • *
  • Сообщений: 59
    • Просмотр профиля
Re: Squid + Sams + Один сетевой интерфейс
« Ответ #11 : 28 Мая 2014, 17:18:20 »
Спасибо за проделанную работу и за то что приложили свой метод решения со ссылками и конфигами.

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.