Добрый день, у меня вопрос, не могли бы вы мне помочь?
у меня траф на линуксе считается отдельно Международный, Украинский и Локалка... локалка это типа всё что было закачано и скачано с сервачины...
Так вот вопрос в том что когда люди прописывают в тупую проксю с портом 3128 то им считается весь траф как локальный, хотя на самом деле они ходят наружу в интернет... у меня в фаерволле прописано перенаправление с 80-го порта на 3128-й порт всех пакетов, тойсть если они не прописывают проксю, то спокойно ходят в интернет, и траф считается нормально, как можно запретить доступ к 3128 порту напрямую? тойсть мне надо сделать так что бы люди не могли заходить на мой линукс если прописывают 3128-й порт... а могли бы заходить в инет только через редирек... тойсть когда прокся не прописана...
у меня стоит правило
-A PREROUTING -d ! 192.168.13.0/255.255.255.192 -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Это типа редирект...
ещё старался сделать что то наподобии
-I INPUT -i eth1 -p tcp --dport 3128 -j DROP
что бы все входящие пакеты по 3128 откидывались...
но когда я вводил это правило (второе) то интернет вообще не пахал, подскажите плиииз
Заранее очень благодарен, и оченьизвиняюсь за свою безграмотность...
>-A PREROUTING -d ! 192.168.13.0/255.255.255.192 -i eth1 -p tcp --dport 80
>-j REDIRECT --to-port 3128
>Это типа редирект...
>ещё старался сделать что то наподобии
>-I INPUT -i eth1 -p tcp --dport 3128 -j DROP
>что бы все входящие пакеты по 3128 откидывались...
>но когда я вводил это правило (второе) то интернет вообще не пахал,
>подскажите плиииз
Конечно.
у тебя 80-й порт редиректится на 3128.
А ты зарубваеш 3128.
Это не дело.
Сделай проще:
Пусти все через squid, и им-же считай траффик.
Надежней будет.
>>-A PREROUTING -d ! 192.168.13.0/255.255.255.192 -i eth1 -p tcp --dport 80
>>-j REDIRECT --to-port 3128
>>Это типа редирект...
>>ещё старался сделать что то наподобии
>>-I INPUT -i eth1 -p tcp --dport 3128 -j DROP
>>что бы все входящие пакеты по 3128 откидывались...
>>но когда я вводил это правило (второе) то интернет вообще не пахал,
>>подскажите плиииз
>Конечно.
>у тебя 80-й порт редиректится на 3128.
>А ты зарубваеш 3128.
>Это не дело.
>Сделай проще:
>Пусти все через squid, и им-же считай траффик.
>Надежней будет.
у меня просто уже всё настроено для моей считалки, и всё переделывать как то не охота.... по идее я так понял что INPUT должен делать правило для тех пакетов которые предназначены именно для Линукса, тойсть все пакеты которые направлены непосредственно на него... а при редиректе это уже не то, тойсть это уже по идее пакет который идёт дальше... или я чего-то не понимаю? подскажите, можно ли всё таки сделать такое правило?
Привет,
может, попробовать так:1. Ставим на INPUT правило для DROP пакетов, идущих прямо на 3128. При этом пакеты на порт 80 пройдут через это правило.
2. Ставим редирект с 80-ого порта на 3128...
Если это не сработает, можно подумать насчет замены REDIRECT-а DNAT-ом; вожможно, тогда понадобитсяа еще одна машина, зато проблему вы на 100% решите.
WWell,
>Привет,
>может, попробовать так:
>
>1. Ставим на INPUT правило для DROP пакетов, идущих прямо на 3128.
>При этом пакеты на порт 80 пройдут через это правило.
>
>2. Ставим редирект с 80-ого порта на 3128...
>
>Если это не сработает, можно подумать насчет замены REDIRECT-а DNAT-ом; вожможно, тогда
>понадобитсяа еще одна машина, зато проблему вы на 100% решите.
>
>
>WWell,
Добрый день уважаемый, я что то не пойму... толи я слишком глуп, толи вы не читали моего сообщения, я писал:
>>-A PREROUTING -d ! 192.168.13.0/255.255.255.192 -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
>>Это типа редирект...
>>ещё старался сделать что то наподобии
>>-I INPUT -i eth1 -p tcp --dport 3128 -j DROP
>>что бы все входящие пакеты по 3128 откидывались...
это я типа такое пытался сделать? или может вы что то не то имеете ввиду? или может я как-то правило не так написал, подскажите...
попробуй
-I INPUT -i eth1 -p tcp -d 192.168.xxx.xxx --dport 3128 -j DROP
где 192.168.xxx.xxx - адрес в локалке твоего сервака.
Таким образом будет запрет на обращение ИМЕННО К ПРОКСЕ а не на порт вообще...
>попробуй
>-I INPUT -i eth1 -p tcp -d 192.168.xxx.xxx --dport 3128 -j
>DROP
>где 192.168.xxx.xxx - адрес в локалке твоего сервака.
>Таким образом будет запрет на обращение ИМЕННО К ПРОКСЕ а не на
>порт вообще...
Дело в том уважаемый что этого я сделать не могу, так как моя прокся раздаёт всем интернет.... =) если я это пропишу то вся моя сетка будет без интернета =) я понимаю что эгоизм это хорошо, но всё же... =)
>>попробуй
>>-I INPUT -i eth1 -p tcp -d 192.168.xxx.xxx --dport 3128 -j
>>DROP
>>где 192.168.xxx.xxx - адрес в локалке твоего сервака.
>>Таким образом будет запрет на обращение ИМЕННО К ПРОКСЕ а не на
>>порт вообще...
>
>
>Дело в том уважаемый что этого я сделать не могу, так как
>моя прокся раздаёт всем интернет.... =) если я это пропишу то
>вся моя сетка будет без интернета =) я понимаю что эгоизм
>это хорошо, но всё же... =)Могу - немогу... ПРОБОВАЛ ИЛИ НЕПРОБОВАЛ????
>>>попробуй
>>>-I INPUT -i eth1 -p tcp -d 192.168.xxx.xxx --dport 3128 -j
>>>DROP
>>>где 192.168.xxx.xxx - адрес в локалке твоего сервака.
>>>Таким образом будет запрет на обращение ИМЕННО К ПРОКСЕ а не на
>>>порт вообще...
>>
>>
>>Дело в том уважаемый что этого я сделать не могу, так как
>>моя прокся раздаёт всем интернет.... =) если я это пропишу то
>>вся моя сетка будет без интернета =) я понимаю что эгоизм
>>это хорошо, но всё же... =)
>
>Могу - немогу... ПРОБОВАЛ ИЛИ НЕПРОБОВАЛ????пробовал, интернет вообще тогда не работает...
>ещё старался сделать что то наподобии
>-I INPUT -i eth1 -p tcp --dport 3128 -j DROP
>что бы все входящие пакеты по 3128 откидывались...
>но когда я вводил это правило (второе) то интернет вообще не пахал,
>подскажите плииизИ правильно не работает!
PREPOUTING идет раньше чем INPUT и FORWARD. Так что с запросами к 3128 порту тебе нужно разбираться там. Фильтровать в PREPOUTING нельзя, но можно сделать:
1.) -A PREROUTING -d ! 192.168.13.0/255.255.255.192 -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 79
2.) -I INPUT -i eth1 -p tcp --dport 79 -j DROPВАЖНО: правило 1. нужно поставить перед твоим прероутингом! Ну и конечно см . http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
>>ещё старался сделать что то наподобии
>>-I INPUT -i eth1 -p tcp --dport 3128 -j DROP
>>что бы все входящие пакеты по 3128 откидывались...
>>но когда я вводил это правило (второе) то интернет вообще не пахал,
>>подскажите плиииз
>
>И правильно не работает!
>PREPOUTING идет раньше чем INPUT и FORWARD. Так что с запросами к
>3128 порту тебе нужно разбираться там. Фильтровать в PREPOUTING нельзя, но
>можно сделать:
>1.) -A PREROUTING -d ! 192.168.13.0/255.255.255.192 -i eth1 -p tcp --dport 3128
> -j REDIRECT --to-port 79
>2.) -I INPUT -i eth1 -p tcp --dport 79 -j DROP
>
>ВАЖНО: правило 1. нужно поставить перед твоим прероутингом! Ну и конечно см
>. http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
Вроде бы сделал так как вы сказали, но это правило так и не сработало, всё равно пропускает через 3128-й порт, даже не знаю чего так...
... в том смысле, что горбатого могила исправит :(Ну конечно же мое правило 1. должно выглядеть так:
1.) -A PREROUTING -d gate.foo.net -i eth1 -p tcp --dport 3128 -j REDIRECT --to-port 79
где gate.foo.net - IP твоего шлюза. Ибо когда в броузере указать proxy, то пакеты шлются в адрес proxy, а не www сайта.
Остальные рекомендации в силе + man tcpdump.
>... в том смысле, что горбатого могила исправит :(
>
>Ну конечно же мое правило 1. должно выглядеть так:
>
>1.) -A PREROUTING -d gate.foo.net -i eth1 -p tcp --dport 3128 -j
>REDIRECT --to-port 79
>
>где gate.foo.net - IP твоего шлюза. Ибо когда в броузере указать proxy,
>то пакеты шлются в адрес proxy, а не www сайта.
>Остальные рекомендации в силе + man tcpdump.
и всё равно ничерта толком не выходит... =(
ладно буду Маны читать... =)