Re: [nft PATCH 2/2] expr: add jool expressions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ok. This looks doable. I expect to run into trouble along the way, but
I don't have any more objections for now.

Did you receive my second mail from that day?
(https://marc.info/?l=netfilter-devel&m=158700165716521&w=2)
I won't hold it against you if you refuse the bridge, I just need
something to tell my users.

On Sat, Apr 18, 2020 at 1:25 PM Laura Garcia <nevola@xxxxxxxxx> wrote:
>
> On Wed, Apr 15, 2020 at 11:41 PM Alberto Leiva <ydahhrk@xxxxxxxxx> wrote:
> >
> > > Looking at the code, the pool4db is pretty much an adaptation of what
> > > conntrack already does. So, why not to put the efforts in extending
> > > conntrack to support NAT64/NAT46 ?
> >
> > Ok, please don't take this as an aggressively defensive gesture, but I
> > feel like this is an unfair question.
> >
>
> Sorry, but I don't get your point. What I meant is that both pool4db
> and conntrack are natting machines, so extending conntrack (which is
> already integrated in the kernel) with what pool4db does could be a
> good way to go.
>
> Anyway, please let me come back to the technical discussion.
>
> > If I provide a ready and simple but effective means to bridge our
> > projects I feel like it befalls on you to justify why you wish to
> > commit to the far more troublesome course of action.
> >
> > Merging the projects seems to me like several (if not many) months
> > worth of development and testing, little of which would be made in
> > benefit of our users. (No real functionality would be added, and some
> > functionality might be dropped--eg. atomic configuration, session
> > synchronization.)
> >
>
> Atomic configuration is already supported in nftables and extending
> conntrack all the security functionalities and session replication
> with conntrackd will be also available.
>
> > I mean I get that you want to avoid some duplicate functionality, but
> > is this really a more important use of my time than, say, adding MAP-T
> > support? ([0])
> >
> > > This way, the support of this natting is likely to be included in the
> > > kernel vanilla and just configure it with just one rule:
> > >
> > > sudo nft add rule inet table1 chain1 dnat 64 64:ff9b::/96
> >
> > Ok, but I don't think an IP translator is *meant* to be configured in
> > a single line. Particularly in the case of NAT46. How do you populate
> > a large EAM table ([1]) on a line? If your translator instance is
> > defined entirely in a rule matched by IPv6 packets, how do you tell
> > the corresponding IPv4 rule to refer to the same instance?
> >
>
> nft supports maps generation from user space, so something like this
> could be configured:
>
> table inet my_table {
>     map my_eamt {
>         type ipv4_addr : ipv6_addr;
>         flags interval;
>         elements = { 192.0.2.1/32 : 2001:db8:aaaa::5/128,
>                      198.51.100.0/24 : 2001:db8:bbbb::/120,
>                      203.0.113.8/29 : 2001:db8:cccc::/125 }
>     }
> }
>
> And then, use this map to perform the nat rule:
>
> nft add rule inet my_table my_chain snat ip saddr to @my_eamt
>
> Currently, the map structure doesn't work cause the second item should
> be a singleton, but probably it can be fixed easily.
>
> > It is my humble opinion that some level of separation between nftables
> > rules and translator instances is clean design.
> >
>
> My humble opinion is that this model will be hard to accept after the
> great efforts done with nftables that joins different commands that
> were used in the age of iptables.
>
> > > One more thing, it seems that jool only supports PREROUTING, is that right?
> >
> > Yes, although this might presently only be because nobody has asked elsewhat.
> >
> > I tried adding LOCAL_OUT support some years ago and forgot to write
> > down the problems that prevented me from succeeding. I can give it
> > another shot if this is important for you.
> >
>
> My concern is that this can break the normalization of having source
> nat in the postrouting instead of in the prerouting phase. Note that
> integrating a new feature must ensure not breaking other subsystems.
>
> Cheers.



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux