LINUX.ORG.RU
ФорумAdmin

Запара с pf


0

1

Следующее правило по идее должно редиректить весь http трафик на прокси, а сам прокси должен ходить в инет свободно.

pass in quick on $int_if inet proto tcp from { 192.168.0.0/24, !192.168.0.10 } to any port 80 rdr-to 192.168.0.10 port 3128

Однако на сайты ходить не могу. Как будто !192.168.0.10 игнорируется.



Последнее исправление: JackDaniel (всего исправлений: 2)

Он вполне может игнорироваться, так как совпадает с 192.168.0.0/24

Вообще странно это, всего один адрес на прозрачном проксике, это чревато вот например такими глюками.

Я бы попробовал в from указать один адресок, например 192.168.0.15 и с него проверить как работает. Это ж дело двух секунд, и сразу все прояснит.

redixin ★★★★
()
Ответ на: комментарий от redixin

Да это я уже понял. Поставил в правило 1 единственный адрес из той же подсети что и прокси - ничего не работает. Если в правиле другая подсеть - работает.

JackDaniel
() автор топика

Естественно !192.168.0.10 игнорируется. Эта ошибка начинающих даже в мануале pf описана:

Beware of constructs like the following, dubbed «negated lists», which are a common mistake: pass in on fxp0 from { 10.0.0.0/8, !10.1.2.3 }

While the intended meaning is usually to match «any address within 10.0.0.0/8, except for 10.1.2.3», the rule expands to: pass in on fxp0 from 10.0.0.0/8 pass in on fxp0 from !10.1.2.3

which matches any possible address. Instead, a table should be used.

anonymous
()
Ответ на: комментарий от anonymous

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

JackDaniel
() автор топика

В этом случае есть свои тонкости. Применительно к Линуксу и iptables можно прочитать здесь: http://tldp.org/HOWTO/TransparentProxy-6.html Адаптировать для pf думаю можно без особых проблем.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.