tailscale: Harmless PCP map errors in router logs (seemingly) caused by tailscaled on raspberry pi

Describe the bug I’m running tailscale on my raspberry pi, and my router is showing the following (benign) errors repeatedly (192.168.50.244 is the pi):

Router logs
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: PCP MAP: failed to add mapping UDP 0->192.168.50.244:0 'PCP MAP 7ed3eaa1041b0ec7b8b44166'
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: Failed to remove PCP mapping internal port 0, protocol UDP
Oct  6 22:17:03 miniupnpd[4133]: PCP: External IP in request didn't match interface IP 
Oct  6 22:17:03 miniupnpd[4133]: PCP MAP: failed to add mapping UDP 0->192.168.50.244:0 'PCP MAP 864f0d611e688e35bc49a0e8'

When I stop tailscaled.service the errors stop, and when I start it up again they resume, so I’m assuming with very little data that it is the cause. Below are the version and netcheck outputs:

$ tailscale netcheck

Report:
	* UDP: true
	* IPv4: yes, <redacted>
	* IPv6: yes, <redacted>
	* MappingVariesByDestIP: false
	* HairPinning: false
	* PortMapping: UPnP, NAT-PMP, PCP
	* Nearest DERP: 1 (nyc)
	* DERP latency:
		- 1, nyc = 26.3ms
		- 2, sfo = 93.5ms
		- 3, sin = 267.6ms
		- 4, fra = 109.6ms
		- 5, syd = 233.5ms
$ tailscale version
1.0.5-g31b5dec0a

To Reproduce Steps to reproduce the behavior:

  1. Running the tailscaled.service
  2. See errors in router logs

Expected behavior No errors in router logs

Version information:

  • Device: ASUS RT-AX88U
  • OS: Standard router firmware
  • OS version: 3.0.0.4.384_9566-g7411682
  • Tailscale version: 1.0.5-g31b5dec0a

Additional context

Notes from @bradfitz from email exchange with info@

PMP and UPnP we can query without side effects. PCP requires an action to learn whether it exists. But it should be a harmless no-op action that succeeds, then we should un-do it, and we shouldn’t be doing it super often.

I’ve tried sshing into the router to get the miniupnpd version but that’s proving to be difficult as the command seems to be at a version that doesn’t provide a way to get the version from the binary and I can’t seem to find the version number in syslog. Any other ways to get that info?

Love the product! Keep up the good work!

Front logo Front conversations

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 16 (10 by maintainers)

Commits related to this issue

Most upvoted comments

I just pushed a fix (https://github.com/tailscale/tailscale/commit/05e5233e07857dea256c3d1b0088b368cf9f5243) for the flood of requests and cherry-picked it to the 1.2 stable branch. It’ll be in 1.2.10. I’ll also cut an unstable build tomorrow. (which will be numbered something greater than 1.3.87)

I’ll keep this open until I’ve verified it’s good for everybody.