Задать вопрос
@lohmag

Tproxy и FORWARD?

Надо настроить полностью прозрачный прокси, для фильтрации некоторых url. Сделал как написано в мануале, вроде работает:
ip -f inet rule add fwmark 1 lookup 100
ip -f inet route add local default dev eth0 table 100
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129

Проблема в том, что этот сервер у меня еще как firewall, который в цепочке FORWARD блочит определенные ip,
а http трафик, который уходит на squid c помощью tproxy, через FORWARD уже не проходит.
Как это можно реализовать?
Tproxy не хочет лезть в POSTROUTING
TPROXY target: used from hooks POSTROUTING, but only usable from PREROUTING
  • Вопрос задан
  • 4731 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    6 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
Решения вопроса 1
vvpoloskin
@vvpoloskin
Инженер связи
Все идет от непонимания работы iptables) А именно того, что через цепочку FORWARD идет только транзитный трафик, в то время как вы хотите обрабатывать локальный (он же на проксю идет локальную?) Выводы следующие: фильтровать придется также и н INPUT (ну или OUTPUT). Посмотрите внимательно порядок прохождения пакетов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы