!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

904 Members
on your Router! Declaratively manage your switching, routing, wireless, tunneling and more.271 Servers

Load older messages


SenderMessageTime
17 May 2026
@emilazy:matrix.orgemily(relatedly, what's the state of the art for NAT64 at this point? did that NetworkManager etc. stuff or the kernel-space stuff happen?)16:03:18
@hexa:lossy.networkhexapcp is something your isp would need to support16:03:20
@hexa:lossy.networkhexanm nat64 support did not land in the current release16:03:37
@hexa:lossy.networkhexait will land in the next16:03:40
@emilazy:matrix.orgemilyin this situation I'm imagining the gateway/router doing the NAT6416:04:36
@emilazy:matrix.orgemilyso it has a public v416:04:41
@emilazy:matrix.orgemilyquestion is, how can clients ask "give me an exposed v4 port that forwards to this port on my v6, thanks"16:05:01
@hexa:lossy.networkhexaI only tried jool so far, and I don't think it supports pcp16:05:02
@emilazy:matrix.orgemilyoh yeah it would be a separate daemon for sure16:05:13
@raitobezarius:matrix.orgraitobezariusMAP-T16:05:13
@emilazy:matrix.orgemilyI mean it's really just a matter of port forwarding on the v4 end16:05:22
@emilazy:matrix.orgemilyright (omg why are there so many overlapping acronyms and similar-but-not-quite-identical mechanisms in this stuff)16:06:01
@raitobezarius:matrix.orgraitobezariussomething something about the people writing them16:06:16
@raitobezarius:matrix.orgraitobezariusjool supports MAP-T16:06:23
@emilazy:matrix.orgemilycorrect me if I'm wrong, but MAP-T requires an explicit table of "this IPv4 addr + port → this IPv6 addr + port" right?16:06:23
@raitobezarius:matrix.orgraitobezariusport range, but yes16:06:36
@emilazy:matrix.orgemilyso my question is more about: how can clients dynamically request such a forward16:06:44
@emilazy:matrix.orgemilyso that you don't need static configuration for what in v6 land is just opening a listening socket16:06:56
@raitobezarius:matrix.orgraitobezariusi never heard about a dynamic protocol for this16:06:57
@raitobezarius:matrix.orgraitobezariusi only know about static allocations16:07:07
@raitobezarius:matrix.orgraitobezariusin MAP-T, the static allocation is such that you can reasonably preconfigure picking a port in the x*65k/n slice16:07:24
@emilazy:matrix.orgemilywell depends how many clients and how many v4 addresses you have :D16:07:53
@emilazy:matrix.orgemilyI think PCP is the correct shape (being the v6-aware successor to NAT-PMP/UPnP) but I'm just not sure if it can handle v6 on the internal end and v4 on the external16:08:34
@raitobezarius:matrix.orgraitobezariusyeah, I'm not super familiar with PCP16:08:58
@emilazy:matrix.orgemily If the PCP-controlled device is stateless (that is, it does not establish any per-flow state, and simply rewrites the address and/or port in a purely algorithmic fashion, including no rewriting), the PCP server simply returns an answer indicating the external IP address and port yielded by this stateless algorithmic translation. This allows the PCP client to learn its external IP address and port as seen by remote peers. Examples of stateless translators include stateless NAT64, 1:1 NAT44, and NPTv6 [RFC6296], all of which modify addresses but not port numbers, and pure firewalls, which modify neither the address nor the port. 16:09:07
@emilazy:matrix.orgemilylooks like it does envision there might be 6/4 mapping in there!16:09:15
@raitobezarius:matrix.orgraitobezariusthe only way I achieved these things were static allocations via SIIT-DC or MAP-T16:09:20
@emilazy:matrix.orgemilymy thinking is that if you have PCP hooked up to the NAT64, then you can also have shim UPnP/NAT-PMP servers that take normal v4 port-forwarding requests, translate them to PCP NAT64 requests, and then translate back16:10:42
@emilazy:matrix.orgemilyso if you have kernel v4→v6 translation automatic port forwarding "just works" (maybe)16:11:08
@emilazy:matrix.orgemily"When the address field holds an IPv4 address, an IPv4-mapped IPv6 address [RFC4291] is used (::ffff:0:0/96). This has the first 80 bits set to zero and the next 16 set to one"16:11:52

Show newer messages


Back to Room ListRoom Version: 6