Joined: 12 Apr 2022
Location: Berkeley, California, USA
|Posted: Fri May 13, 2022 1:02 am Post subject: MiniUPnPd 2.2.0 PCP maps to IPv6 link-level address!
I have a Turris Omnia router running MiniUPnPd, package version 2.2.0-5. Turris runs an OpenWRT derivative. I'd appreciate if you could give me a clue or two to help me to debug this. As you can see from the log below, MiniUPnPd makes a mapping to the outward-facing IPv6 link-local address of the router in response to my PCP client, rather than the global IPv6 address I would expect. This might be RFC-compliant but it's not very useful . The code is a bit difficult to read for a newbie, and I haven't figured out where it got this address. Could this be due to a misconfiguration on OpenWRT or Turris's part? Is this a known bug and there's a need for an upgrade? Or is my PCP client (my own creation) somehow _asking_ for this when it sets the requested address to 16 bytes of zeroes? If not, where in the MiniUPnPd code should I look for what's going wrong?
May 13 00:12:11 turris miniupnpd: ReceiveNATPMPOrPCPPacket: packet destination: fe80::6f0:21ff:fe31:914b scope_id=21
May 13 00:12:11 turris miniupnpd: PCP request received from [fe80::a6e5:7cff:fee8:bf20%br-lan]:5351 60bytes
May 13 00:12:11 turris miniupnpd: get_lan_for_peer() looking for LAN interface index=21
May 13 00:12:11 turris miniupnpd: ifname=br-lan index=21 str=192.168.10.1 addr=c0a80a01 mask=ffffff00
May 13 00:12:11 turris miniupnpd: updating pinhole to fe80::a6e5:7cff:fee8:bf20:8080 TCP
May 13 00:12:11 turris miniupnpd: PCP MAP: added mapping TCP 8080->fe80::a6e5:7cff:fee8:bf20:8080 'PCP MAP 09ff6be04521aa34a5971dc8'