All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carl Lei <xecycle@gmail.com>
To: netfilter@vger.kernel.org
Subject: Re: nft tproxy failed to redirect on one system
Date: Wed, 22 Nov 2023 10:59:58 +0800	[thread overview]
Message-ID: <20231122105958.76a2cb30@xcws1> (raw)
In-Reply-To: <327D57E822A265D5+20230822181631.528b64c2@xcws1>

On Tue, 22 Aug 2023 18:16:31 +0800
Carl Lei <me@xecycle.info> wrote:

> On Tue, 22 Aug 2023 12:05:01 +0200
> Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> 
> > On Mon, Aug 21, 2023 at 03:48:07PM +0800, Carl Lei wrote:
> > > Btw: sent to wrong address, re-sent to list...
> > > 
> > > On Fri, 11 Aug 2023 12:00:43 +0800
> > > Carl Lei <me@xecycle.info> wrote:
> > > 
> > > > Sorry for being incomplete, but I added nftrace before these
> > > > rules and saw packets went through the same chain of rules,
> > > > first hitting tproxy in mangle, then meta mark 42 counter
> > > > accept in input-new-isolated. But on one system it works for
> > > > local programs AND network-received packets, on another system
> > > > it works only for local programs.  On the bad system the
> > > > packets instead gets directed to whatever program originally
> > > > listening on the original port, or rejected; e.g. I have an
> > > > nginx listening on 0.0.0.0:80 but no programs on 443, then curl
> > > > http in a vm connected to vbr0 goes to my nginx, and curl https
> > > > gets rejected.  I expect them to go to that program listening
> > > > on 1081.  
> > > 
> > > Looked closer at the trace, I found that on the bad system, when
> > > the packet goes back to input rules, its trace id changed; on the
> > > good system it does not change.  Perhaps this explains it, but I
> > > don't know why it was changed?
> > 
> > Could you provide more detailed information on your setup? You refer
> > to a system where this works fine and another where this does not,
> > but you do not specify kernel and userspace versions?
> 
> Sorry I forgot that in my first email, indeed I replied to myself
> several times and already provided versions, but I did not realize I
> sent to a wrong address.  My used versions are (copying from my
> previous mails):
> 
> "they are both running Arch Linux, the good system running kernel
> 6.4.8-arch1-1, the bad system I tried both 6.4.4 and 6.4.9; nftables
> version both 1:1.0.7-2; the proxy program on 1081 is also identical,
> running identical config."
> 
> > Some simple script with 'ip netns' as a reproducer might also help
> > that might help people jump in a provide feedback.
> 
> I will try ASAP to make a reproducer.

Sorry for the delay, I finally figured out what is going on.

When I do `modprobe br_netfilter`, which automatically sets sysctl
net/bridge/bridge-nf-call-iptables=1, the rule breaks --- the packet
would change trace id when it comes back to INPUT chains.  After I set
that sysctl to 0, the rule works again.

And yes, the packet is coming from a container, having a veth connected
to a bridge on the host.

  reply	other threads:[~2023-11-22  3:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230811120043.0c3c6302@xcws1>
2023-08-21  7:48 ` nft tproxy failed to redirect on one system Carl Lei
2023-08-22 10:05   ` Pablo Neira Ayuso
2023-08-22 10:16     ` Carl Lei
2023-11-22  2:59       ` Carl Lei [this message]
2023-08-11  4:00 Carl Lei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231122105958.76a2cb30@xcws1 \
    --to=xecycle@gmail.com \
    --cc=netfilter@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.