nftables: use after-srcnat postrouting hook. enable ipfrag notrack

This commit is contained in:
bol-van
2022-03-22 13:58:02 +03:00
parent f3508030b1
commit 38883a67a9
3 changed files with 22 additions and 1 deletions

View File

@@ -478,6 +478,13 @@ It must be done manually, `blockcheck.sh` cannot auto fix this for you.
Or just move to `nftables`. You can create hooks with any priority there.
Looks like there's no way to do ipfrag using iptables for forwarded traffic if NAT is present.
`MASQUERADE` is terminating target, after it `NFQUEUE` does not work.
nfqws sees packets with internal network source address. If fragmented NAT does not process them.
This results in attempt to send packets to internet with internal IP address.
You need to use nftables instead with hook priority 101 or higher.
## tpws
tpws is transparent proxy.

View File

@@ -507,6 +507,13 @@ options ip6table_raw raw_before_defrag=1
Либо можно раз и навсегда избавиться от этой проблемы, используя nftables. Там можно создать netfilter hook
с любым приоритетом. Используйте приоритет -401 и ниже.
При использовании iptables и NAT, похоже, что нет способа прицепить обработчик очереди после NAT.
MASQUERADE является финальным таргетом, после него NFQUEUE не срабатывает.
Пакет попадает в nfqws с source адресом внутренней сети, затем фрагментируется и уже не обрабатывается NAT.
Так и уходит во внешюю сеть с src ip 192.168.x.x. Следовательно, метод не срабатывает.
Видимо единственный рабочий метод - отказаться от iptables и использовать nftables.
Хук должен быть с приоритетом 101 или выше.
tpws
-----