Правило tproxy iptables теперь работает в ядре 3.10Linux

Ответить
Anonymous
 Правило tproxy iptables теперь работает в ядре 3.10

Сообщение Anonymous »

Я использую iptables для перехвата входящего трафика Sidecar и использую режим tproxy.
вот мое решение:

Код: Выделить всё

iptables -t mangle -A PREROUTING -j TSTF_PREROUTING
iptables -t mangle -A TSTF_PREROUTING -p tcp --tcp-flags SYN,ACK SYN,ACK -j RETURN
iptables -t mangle -A TSTF_PREROUTING ! -i lo -p tcp -m conntrack ! --ctstate ESTABLISHED -j TPROXY --on-port 20092 --on-ip 0.0.0.0 --tproxy-mark 0x1/0x1

ip rule add fwmark 0x1/0x1 pref 100 table 100
ip route add local default dev lo table 100
PS: боковой прокси-сервер прослушивает 20092.
вот в чем проблема: это работает на ядре 5.x, но не на ядре 3.10
p>
решение состоит в том, чтобы перехватить синхронизацию и подтверждение tproxy, но обойти SYN,ACK , поэтому запрос, начинающийся из контейнера, не будет затронут.
Curl 10.28.121.25 # из внешнего IP-адреса модуля Curl
вот tcpdump:
введите здесь описание изображения
вы можете увидеть последний ответ будет первым.
Это меня смущает.
есть идеи по этому поводу? спасибо.
PS: Правило istio iptables слишком сложное, я пытаюсь сделать простое.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ernel-3-10
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»