Вопрос о прозрачном прокси

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-21 16:08:15

Стоит squid пускающий пользователей по айпи. (например, пускает только 192.168.1.2)
Попробовал настроить прозрачный squid, прописал в конфиге

Код: Выделить всё

http_port 192.168.1.1:3128 transparent
Конфиг ipfw:

Код: Выделить всё

add 1040 allow ip from any to any via rl0
add 1045 allow ip from any to me 22
add 1046 allow ip from me 22 to any
add 1047 allow ip from any to me 80
add 1047 allow ip from me 80 to any
nat 1 config log if vr0 reset same_ports deny_in
add 10130 nat 1 ip from any to any via vr0
add 10230 allow ip from any to any via vr0
add 10330 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in rl0
Ставим галку в експлорере использовать прокси сервер:
Прописываем на клиенте 192.168.1.2 - все работает
Прописываем на клиенте 192.168.1.4 - не пускает, доступ запрещен

Снимаем галку в експлорере использовать прокси сервер:
Прописываем на клиенте 192.168.1.2 - все работает
Прописываем на клиенте 192.168.1.4 - все работает, хотя не должно


Помогите добрый советом, пжл :)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dmtr
ст. прапорщик
Сообщения: 545
Зарегистрирован: 2009-11-06 22:01:34
Откуда: с Ростова

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение dmtr » 2011-01-21 16:22:00

правила 1040 и 10230 пропускают всех в инет - на сквид никого не заворачивает файрвол
This game has no name. It will never be the same.

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-21 16:55:25

Так по идее на сквид заварачивает правилом 10330... или его надо в начало переставить?
Если я просто убираю правила 1040 и 10230 интернет вообще перестает работать.

RAGNAR
ст. прапорщик
Сообщения: 530
Зарегистрирован: 2009-07-10 22:12:06
Откуда: Ржев
Контактная информация:

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение RAGNAR » 2011-01-21 23:57:13

это правело ставь первым

Код: Выделить всё

add 10330 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in rl0
второе на клиенте при прозрачном прокси в explorer прописывать не чего не надо все само будет работать

каму разрешено можно прописать в конфеге squid.conf
good_user_list , в этом файле в столбик кому можно , одни ip

Код: Выделить всё

acl	our_networks	src	"/usr/local/etc/squid/good_user_list"
http_access	allow	our_networks
... Да освятится имя твое и pасшиpение твое, Господи...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 10:31:03

Боюсь, что не все так просто...
Если переставить правило в самое начало, как Вы посоветовали, то интернет не работает, и как минимум отвалиается доступ по ссш.

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение vadim64 » 2011-01-24 10:51:40

за такие настройки фаервола нужно расстреливать сразу после получения паспорта. вы уверены что привели все правила и не умолчали о том, что у вас 8.1 и вы поленились или побоялись патчить ядро для коректной работы one_pass?
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 10:58:06

Да, судя по всему, я умолчал о том что у меня 8.1.
Правила привел все.
Что такое one_pass даже не слышал.

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение vadim64 » 2011-01-24 11:20:36

uvetrom писал(а):Да, судя по всему, я умолчал о том что у меня 8.1.
Правила привел все.
Что такое one_pass даже не слышал.
Тогда смотрите что делают вашу правила:

Код: Выделить всё

add 1040 allow ip from any to any via rl0 разрешить все с этого интерфейса
add 1045 allow ip from any to me 22 разрешить запросы ко мне на ссх
add 1046 allow ip from me 22 to any разрешить мои ссх ответы
add 1047 allow ip from any to me 80 разрешить запросы ко мне на хттп
add 1047 allow ip from me 80 to any разрешить мои хттп ответы
nat 1 config log if vr0 reset same_ports deny_in нат №1: натить через vr0, логировать,  сбивать хёвые пакеты, теже порты стараться оставлять, запретить гавнюков
add 10130 nat 1 ip from any to any via vr0 натить натом №1 всё через vr0
add 10230 allow ip from any to any via vr0 разрешить всё через vr0
add 10330 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in rl0 форвардить на меня на порт 3128 всё то, что на 80 порт куда то идёт и приходит с локалки 
1. при таком раскладе вам никогда ничего на проксик не попадёт, если только специально не идёт.
2. правило 10230 никогда ни за что не допустимо, если vr0 - это wan
3. чтобы не было запросов типа "разрешить запросы ко мне на [имя сервиса]" а потом ещё "разрешить мои [имя сервиса] ответы" юзайте keep-state
4. если вы хотите чтобы работала правило 10330, то нужно его разместить то правила 10130
это в общем. почитайте статью товарисча майора terminus, ссылка на неё есть в списке в FAQ, ссылка на который есть в моей подписи
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 11:22:31

Ок, буду читать, спасибо за дельные советы!

snorlov
подполковник
Сообщения: 3914
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-24 11:47:53

в первом правиле поставьте не from any to any, а доступ локальных адресов к локальным адресам

Анонимус Негодуе
проходил мимо

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение Анонимус Негодуе » 2011-01-24 12:25:53

добавлю на счет one_pass
это такая переменная sysctl, которая определяет, покинет ли пакет файерволл после прохождения NAT, pipe и некоторых других правил.

Код: Выделить всё

# sysctl -ad | grep one_pass
net.inet.ip.fw.one_pass: Only do a single pass through ipfw when using dummynet(4)
подробнее - используй поиск one_pass по мануалу

и еще советую разобраться как пакеты ходят в системе. без этого будет скорее тыкание пальцем в небо, чем построение файерволла

Гость
проходил мимо

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение Гость » 2011-01-24 12:29:08

пальцем в небо - самый ходовой метод написание фаерволов у новичков и не только)
так что заставить прочитать что то, новички и не только - воспринимают как оскорбление

вы по делу говорите! по делу! что как мне изменить что бы все работало!?!?

:ROFL: :ROFL:

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 13:19:19

vadim64 писал(а):
uvetrom писал(а):Да, судя по всему, я умолчал о том что у меня 8.1.
Правила привел все.
Что такое one_pass даже не слышал.
Тогда смотрите что делают вашу правила:

Код: Выделить всё

add 1040 allow ip from any to any via rl0 разрешить все с этого интерфейса
add 1045 allow ip from any to me 22 разрешить запросы ко мне на ссх
add 1046 allow ip from me 22 to any разрешить мои ссх ответы
add 1047 allow ip from any to me 80 разрешить запросы ко мне на хттп
add 1047 allow ip from me 80 to any разрешить мои хттп ответы
nat 1 config log if vr0 reset same_ports deny_in нат №1: натить через vr0, логировать,  сбивать хёвые пакеты, теже порты стараться оставлять, запретить гавнюков
add 10130 nat 1 ip from any to any via vr0 натить натом №1 всё через vr0
add 10230 allow ip from any to any via vr0 разрешить всё через vr0
add 10330 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in rl0 форвардить на меня на порт 3128 всё то, что на 80 порт куда то идёт и приходит с локалки 
1. при таком раскладе вам никогда ничего на проксик не попадёт, если только специально не идёт.
2. правило 10230 никогда ни за что не допустимо, если vr0 - это wan
3. чтобы не было запросов типа "разрешить запросы ко мне на [имя сервиса]" а потом ещё "разрешить мои [имя сервиса] ответы" юзайте keep-state
4. если вы хотите чтобы работала правило 10330, то нужно его разместить то правила 10130
это в общем. почитайте статью товарисча майора terminus, ссылка на неё есть в списке в FAQ, ссылка на который есть в моей подписи
Да, я делал все по этой статье, но там была проблема, сейчас догадался как ее решить
В общем, получилась вот такая концструкция

Код: Выделить всё

bsdgate# mcedit /etc/firewall
/etc/firewall      [----] 67 L:[  1+ 4   5/  7] *(253 / 347b)  114 0x072
add 1040 allow ip from any to any via rl0
add 1045 allow ip from any to any 22 keep-state
add 1047 allow ip from any to any 80 keep-state
add 1048 allow ip from any to any 53 keep-state
add 1050 fwd 192.169.1.1,3128 tcp from 192.168.1.0/24 to any 80 in rl0
nat 1 config log if vr0 reset same_ports deny_in
add 1060 nat 1 ip from any to any via vr0
При выполнении ошибка Line 5: unrecognised option [-1] rl0

Код: Выделить всё

bsdgate# ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:19:5b:89:80:5b
        inet 172.17.32.110 netmask 0xffffff00 broadcast 172.17.32.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:13:d3:c9:57:27
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000
bsdgate# ipfw /etc/firewall
01040 allow ip from any to any via rl0
01045 allow ip from any to any dst-port 22 keep-state
01047 allow ip from any to any dst-port 80 keep-state
01048 allow ip from any to any dst-port 53 keep-state
Line 5: unrecognised option [-1] rl0

vr0 - внешний
rl0 - локалка

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение FreeBSP » 2011-01-24 13:49:13

in via
или in recv
конструкции несколько разные но подойдут обе
это во первых

а во вторых всеравно не дойдет пакет до правила с перенаправлением.
Анонимус Негодуе писал(а):и еще советую разобраться как пакеты ходят в системе.
если сам неосилишь - давай анонимуса запряжем. рассказывай как по твоему разумению такая конфигурация должна работать. не стесняйся, максимально подробно что, как и когда происходит с пакетом, каике места он проходит, как маневрирует, к кому в гости заходит и тд и тп....
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 14:26:55

Код: Выделить всё

bsdgate# ipfw /etc/firewall
01040 allow ip from any to any via rl0
01045 allow ip from any to any dst-port 22 keep-state
01047 allow ip from any to any dst-port 80 keep-state
01048 allow ip from any to any dst-port 53 keep-state
Line 5: getsockopt(IP_FW_ADD): Invalid argument
bsdgate#
Это если использовать то, что вы посоветовали.

По моему разумению, конфигурация должна работать как-то очень просто :)
1. add 1040 allow ip from any to any via rl0 разрешает все в локальной сети
2. add 1045 allow ip from any to any 22 keep-state разрешает ссш туда и обратно где угодно
3. add 1047 allow ip from any to any 80 keep-state разрешает 80 порт туда обратно где угодно
4. add 1048 allow ip from any to any 53 keep-state днс то же самое
5.add 1050 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in recv rl0
Пакеты пришедшие на из сети 192.168.1.0 через сетевую rl0 перекидываются на 127.0.0.1:3128

6. nat 1 config log if vr0 reset same_ports deny_in
7. add 1060 nat 1 ip from any to any via vr0
Нат не очень хорошо понял.

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 14:33:26

Странно на самом деле то, что в интернете куча статей, написаны вещи вполне похожи на мои, у всех все работает, а я какой-то неудачник тут сижу :)

snorlov
подполковник
Сообщения: 3914
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-24 15:12:44

uvetrom писал(а):Странно на самом деле то, что в интернете куча статей, написаны вещи вполне похожи на мои, у всех все работает, а я какой-то неудачник тут сижу :)
У тебя входящий пакет из локалки попадает сразу на первое правило, поэтому до форвардинга он не доходит, а когда этот пакет появляется на внешнем интерфейсе он попадает на нат... Поставь форвардинг первым в списке...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 15:18:22

Ошибка такая же, хотя смысл перестановки стал более менее понятен.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение FreeBSP » 2011-01-24 15:39:28

во первых, давай на ты

ты описал что должны делать правила
описал правильно, но все по отдельности
а как они все вместе работают ты видать просто не задумывался
смотри

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

вот и подумай как надо все расставить чтобы сначала в сквид попадали, а потом только вылетал

P.S. покажи файл с правилами, загрузку правил и ipfw show
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 15:52:29

Да, Снорлов уже подсказал, я понял смысл, что он первым правилом перехватывался, и до форворда просто не доходил.
Исправил все на:

Код: Выделить всё

bsdgate# mcedit /etc/firewall
/etc/firewall      [----]  0 L:[  1+ 1   2/  7] *(74  / 350b)   97 0x061
add 1000 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 in recv rl0
add 1040 allow ip from any to any via rl0
add 1045 allow ip from any to any 22 keep-state
add 1047 allow ip from any to any 80 keep-state
add 1048 allow ip from any to any 53 keep-state
nat 1 config log if vr0 reset same_ports deny_in
add 1060 nat 1 ip from any to any via vr0
Но при выполнении, ошибка возникает:

Код: Выделить всё

bsdgate# ipfw /etc/firewall
Line 1: getsockopt(IP_FW_ADD): Invalid argument
Ошибок в синтаксисе по идее нет, ядро собрано вроде как нормально:

Код: Выделить всё

bsdgate# uname -a
FreeBSD bsdgate.local 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Thu Nov 11 13:20:57 UTC 2010 root@bsdgate.local:/usr/src/sys/amd64/compile/MYKERN  amd64
bsdgate# ls -la /usr/src/sys/amd64/compile/MYKERN | grep ipfw
-rw-r--r--  1 root  wheel      111 Nov 11 12:42 opt_ipfw.h
bsdgate#

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 15:58:18

ipfw show

Код: Выделить всё

00100 52 5498 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0 to any
65535 55 6065 deny ip from any to any
Переписывал с монитора, мог где то опечататься.

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение vadim64 » 2011-01-24 16:13:15

ну так и хер с ним, с интерфейсом. для правильно фаервола тебе надо запилить все рфц 1918 адреса с улицы, типа

Код: Выделить всё

add 01010 deny ip from any to 192.168.0.0/16 in recv bce2
add 01020 deny ip from 192.168.0.0/16 to any in recv bce2
add 01030 deny ip from any to 172.16.0.0/12 in recv bce2
add 01040 deny ip from 172.16.0.0/12 to any in recv bce2
add 01050 deny ip from any to 10.0.0.0/8 in recv bce2
add 01060 deny ip from 10.0.0.0/8 to any in recv bce2
add 01070 deny ip from any to 169.254.0.0/16 in recv bce2
add 01080 deny ip from 169.254.0.0/16 to any in recv bce2
вот и запили их, а с правила форварда убери нах интерфейс. всё заведётся, если ядро собрано с форвардом

upd: про ядро могу пиздить
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-24 16:50:37

Я думаю пилять никогда не поздно, тем более что сейчас это не совсем актуально...
Попробовал убрать интерфейс.

Код: Выделить всё

bsdgate# mcedit /etc/firewall
/etc/firewall      [B---]  0 L:[  1+ 0   1/  7] *(0   / 341b)   97 0x061
add 1000 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to not me 80
add 1040 allow ip from any to any via rl0
add 1045 allow ip from any to any 22 keep-state
add 1047 allow ip from any to any 80 keep-state
add 1048 allow ip from any to any 53 keep-state
nat 1 config log if vr0 reset same_ports deny_in
add 1060 nat 1 ip from any to any via vr0

Код: Выделить всё

bsdgate# ipfw /etc/firewall
Line 1: getsockopt(IP_FW_ADD): Invalid argument

Код: Выделить всё

bsdgate# grep ipfw2 /var/run/dmesg.boot
ipfw2 initialized, divert loadable, nat enabled, rule-based forwarding disabled, default to deny, logging disabled
Это значит форвардинг не включен? придется пересобирать с параметрами IPFIREWALL_FORWARD?

Анонимус Негодуе
проходил мимо

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение Анонимус Негодуе » 2011-01-24 17:20:09

ага
плюс еще чего нить впиши по приколу. авось пригодится =)
дивертов там всяких, логинга и тд

Анонимус Негодуе
проходил мимо

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение Анонимус Негодуе » 2011-01-24 17:22:15

и дефолт ту аццепт
кстати,
uvetrom писал(а):ipfw show
КОД: ВЫДЕЛИТЬ ВСЁ • РАЗВЕРНУТЬ
00100 52 5498 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0 to any
65535 55 6065 deny ip from any to any

Переписывал с монитора, мог где то опечататься.
заметь, правила ни одного твоего не загружено. так и задумано?