Я пытался создать локальный прозрачный прокси, используя следующие правила pf:
rdr pass inet proto tcp from $Out to any port 80 -> 127.0.0.1 port 3129
pass out on $Out route-to lo0 inet proto tcp from $Out to any port 80 keep state
но проблема в том, что когда прокси-сервер пытается подключиться к удаленному серверу (порт 80), он также перенаправляется, создавая бесконечный цикл перенаправления. Что я могу сделать?
Ага. Вторая строка (первое правило, отличное от естественного) вообще не нужна.
Используйте что-нибудь вроде set skip on lo0
- все равно фильтровать не нужно.