Jump to content

Помогите протащить всех через прокси


Recommended Posts

Имеем прокси настроен прозрачно доступен с локалки всем

 

Задача такова:

1-Закрыть прокси всем неавторизованным с локалки

2-Открыть доступ к проксе авторизованным и в наглую проходящие порты во внешку протащить через прокси

 

пробовал:

#Закрываем порт прокси для неавторизованных и открываем авторизованных и протаскиваем
$IPTABLES -t filter -I INPUT -p tcp -s 192.168.10.0/24 --dport 3128 -j DROP
$IPTABLES -t filter -I INPUT -p tcp -s 10.0.0.0/24 --dport 3128 -j DROP
$IPTABLES -t nat -A PREROUTING -m set --set FSNAT  -p tcp --dport 80 -j REDIRECT --to-ports 10.0.0.1:3128

Почему то не прокатывает

итог: порт прокси остаётся закрыт всем хотя протащить пытается

 

Помогите с решением плиз

Link to post
Share on other sites

у меня стоит так

файрвол:

# Очищаем правила файрвола
iptables -F
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Политика по умолчанию DROP: всем всё запрещено
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
........
iptables -t filter -A INPUT -s $INT_NET -p tcp --dport 5555 -j ACCEPT
iptables -t filter -A INPUT -s $INT_NET -p udp --dport 5555 -j ACCEPT
.......

 

в онконнект:

/sbin/iptables -t nat -A PREROUTING  -s $IP ! -d $INT_NET -p tcp --dport 80 -j REDIRECT --to-port 3127

 

в squid.conf

acl localnet src 10.1.0.0/16
http_access allow localnet
http_port 3127 transparent

 

PS: для ipset, я думаю, аналогично

Link to post
Share on other sites

эм.. судя по правилам закрываем для всех, и потом на закрытый порт редиректим.

нужно сделать так:

$IPTABLES -t filter -I INPUT -p tcp -m set --set FSNAT src,src --dport 3128 -j ACCEPT

$IPTABLES -t filter -I INPUT -p tcp --dport 3128 -j DROP

$IPTABLES -t nat -A PREROUTING -m set --set FSNAT src,src -p tcp --dport 80 -j REDIRECT --to-ports 10.0.0.1:3128

Link to post
Share on other sites

эм.. судя по правилам закрываем для всех, и потом на закрытый порт редиректим.

нужно сделать так:

$IPTABLES -t filter -I INPUT -p tcp -m set--set FSNAT src,src --dport 3128-j ACCEPT

$IPTABLES -t filter -I INPUT -p tcp --dport 3128-j DROP

$IPTABLES -t nat -A PREROUTING -m set--set FSNAT src,src -p tcp --dport 80-j REDIRECT --to-ports 10.0.0.1:3128

Это правило заворачивает всех на прокси при чём закрывая порт 80

на котором висит локальный веб сервер

Link to post
Share on other sites

Я предлагаю вам попробовать выполнить правила которые я указал а потом рассказывать (с ошибками) что делает последняя строка.

Проблема была до строки "заворачивания", nat и filter представляют собой разные таблицы в ядре, и между собой не связаны. Вы закрыли своими правилами вход порта 3128, и пытаетесь туда завернуть кого-то из набора FSNAT. Что не правильно. Я дал 3 строки, уже рабочие. Вы не удосужились даже почитать их.

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

У вас же, строка для матчинга сэта - не верная.

Link to post
Share on other sites

Я предлагаю вам попробовать выполнить правила которые я указал а потом рассказывать (с ошибками) что делает последняя строка.

Проблема была до строки "заворачивания", nat и filter представляют собой разные таблицы в ядре, и между собой не связаны. Вы закрыли своими правилами вход порта 3128, и пытаетесь туда завернуть кого-то из набора FSNAT. Что не правильно. Я дал 3 строки, уже рабочие. Вы не удосужились даже почитать их.

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

У вас же, строка для матчинга сэта - не верная.

Я попробовал :-)

в том то и сложность что установлены правила для локального хождения трафика

Всех неизвестных и неавторизованных юзверей днатит на локальный сайт где им предлагается для выхода в инет либо зарегатья либо авторизоваться а так же туда попадают должники с предложением оплаты.

Я прочитал строки и даже попробовал

в итоге неавторизованных не пускает на локальный сайт с предложением

у авторизованных долго тупит и ничего не открывает в итоге прерывается по таймауту

Link to post
Share on other sites

Нужно закрыть порт всем неавторизованным

и протащить всех авторизованных через прокси

Я бы не спрашивал здесь если бы всё так было просто :-)

Link to post
Share on other sites

давай попорядку. есть 2 хоста.

1. маршрутизатор (на котором крутятся эти правила)

2. прокси сервер с IP 10.0.0.1

 

на прокси сервере цеплялся tcpdump'ом?

Скорее всего приходят запросы, а ответы уходят по другому интерфейсу, который смотрит в сторону клиентов. Так?

Link to post
Share on other sites

Нет !

Прокси на том же хосте что и СТГ

Кроме того на этом хосте ещё крутится МУСКУЛ ВЕБ АСЯ ИРК ну и ешо пара приятных мелочей.

и вся эта кухня имеет ип 10.0.0.1 туда-же цепляются авторизатором она же шлюзовая она же считает трафик На ней же ЛК

Ну так сказать всо в одном :-)

Link to post
Share on other sites

$IPTABLES -t filter -I INPUT -p tcp -m set --match-set FSNAT src,src --dport 3128-j ACCEPT

$IPTABLES -t filter -I INPUT -p tcp --dport 3128-j DROP

$IPTABLES -t nat -A PREROUTING -m set --match-set FSNAT src,src -p tcp --dport 80 ! -d 192.168.10.0/24 ! -d 10.0.0.0/24 -j REDIRECT --to-port 3128

 

При этом squid должен слушать на 2 интерфейса.

Link to post
Share on other sites

$IPTABLES -t filter -I INPUT -p tcp -m set --match-set FSNAT src,src --dport 3128-j ACCEPT

$IPTABLES -t filter -I INPUT -p tcp --dport 3128-j DROP

$IPTABLES -t nat -A PREROUTING -m set --match-set FSNAT src,src -p tcp --dport 80 ! -d 192.168.10.0/24 ! -d 10.0.0.0/24 -j REDIRECT --to-port 3128

 

При этом squid должен слушать на 2 интерфейса.

 

спасибо

но выдаёт ошибку:

iptables v1.4.8: multiple -d flags not allowed

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

Link to post
Share on other sites

Попробовал раздельно

По веб выкидывает по тайм ауту

Но локальные сайты открываются

 

Ничего непонимаю всё должно работать но почему то не робит

Link to post
Share on other sites

И снова, что говорит tcpdump слушая на порту 3128?

Тишина!

Как в танке!

# tcpdump port 3128
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

Link to post
Share on other sites

nmap с моей телеги показывает: 3128/tcp filtered squid-http

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

Включил авторизатор open выключил closed или filtered

правильно я думаю?

Link to post
Share on other sites

Когда снимаешь это правило то всё работает

$IPTABLES -t filter -I INPUT -p tcp --dport 3128 -j DROP

Но прокси доступен всем что категорически неприемлемо

Link to post
Share on other sites

Друже, а ман по iptables не пробовал читать? Я как бы и не обратил внимание на -I вначале правила.

-I, --insert chain [rulenum] rule-specification

Insert one or more rules in the selected chain as the given rule number. So, if the rule number is 1, the rule or rules are

inserted at the head of the chain. This is also the default if no rule number is specified.

 

По факту, получается сначала идет DROP, потом идет ACCEPT.

Замени в вдух первых строках -I (i большая) на -A или ставь номер правила и будет тебе счастье.

Link to post
Share on other sites

Друже, а ман по iptables не пробовал читать? Я как бы и не обратил внимание на -I вначале правила.

-I, --insert chain [rulenum] rule-specification

Insert one or more rules in the selected chain as the given rule number. So, if the rule number is 1, the rule or rules are

inserted at the head of the chain. This is also the default if no rule number is specified.

 

По факту, получается сначала идет DROP, потом идет ACCEPT.

Замени в вдух первых строках -I (i большая) на -A или ставь номер правила и будет тебе счастье.

:-)

С П А С И Б О!

Заработало!

Вот йя тупилко картонная :-)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...