IPv6 UPnP - pinholes ?

Discussion of Transmission that doesn't fit in the other categories
Posts: 2
Joined: Thu Sep 13, 2018 4:30 pm

IPv6 UPnP - pinholes ?

Postby vom513 » Thu Sep 13, 2018 5:48 pm


I debated if I should have posted this in the feature requests sub, but I wanted to confirm some things first.

When you choose "automatically map port" - Transmission will go through the mechanics of requesting a port forward via UPnP (IPv4). This works just fine.

For IPv6 though, even thought a NAT isn't (shouldn't be) required - you still should have your listening/inbound port opened in the firewall. It doesn't seem like Transmission does this. Specifically - it doesn't look like Transmission makes a "WANIPv6FirewallControl" call (UPnP IGD v2).

I have my firewall running the latest stable miniupnpd - and using the cli test tool (upnpc) - I can successfully request a pinhole and it gets added/opened.

So my questions:

- Am I correct in the above ? Does Transmission not have this feature as of yet ?
- If no, should I open a ticket or post in feature requests ?

I'm willing to test if applicable. I'm on macOS 10.13.6 - latest release/stable Transmission and as I said - my firewall seems to be processing IPv6 pinhole requests properly.


Posts: 2
Joined: Thu Sep 13, 2018 4:30 pm

Re: IPv6 UPnP - pinholes ?

Postby vom513 » Fri Sep 14, 2018 7:11 pm

Replying to myself...

I took a quick 'grep -ir' look through Transmission source code (as well as looking closer at upnp.c and port-forwarding.c) and didn't see anything regarding IPv6.

Here's what I run to open a pinhole successfully on my firewall:

Code: Select all

upnpc -6 -A "" 0 2001:db8:1234::5678 12345 tcp 300

The first part is allowing all source addresses ("") and all source ports (0). This is how miniupnpd understands an "any" specification. Not sure if there is an official protocol spec that matches this or differs...

The second part is simply my (fake) IPv6 address (2001:db8:1234::5678) and my port (12345).

Finally this is for TCP with a lifetime of 5 min (300 seconds).

I would think that if Transmission could attempt this in parallel with it's IPv4 port forwarding mechanics, it would be well positioned to work better with IPv6 networks and gateways going forward.

Posts: 1
Joined: Wed Sep 19, 2018 11:58 am

Re: IPv6 UPnP - pinholes ?

Postby Derrils » Wed Sep 19, 2018 11:59 am

An observation on IPv6 operation. In order to provide some network services to the wider internet it is necessary to put pin holes in the IPv6 firewall such that certain ports are forwarded to the correct LAN machine & port. Traditionally this has been done via a upnp type mechanism which also set up the necessary port/address translation for IPv4. A similar mechanism should also work for IPv6 but so far it looks like Asuswrt doesn't work/support this. It looks like miniupnpd should do this, but it's not compiled with IPv6 support.

Thoughts/ideas on this and who to contact at Asus to get this implemented. I'd argue that without this functionality then IPv6 support is incomplete. Or does the firewall not exist in the official Asus firmware?

Return to “General”