openwrt / openwrt/packages

miniupnpd: Fails to honor ext_perform_stun=allow-filtered setting

Open
#29,314 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Package Name

miniupnpd

Maintainer

common packages maintainers

OpenWrt Version

25.12.2

OpenWrt Target/Subtarget

generic

Steps to Reproduce
  1. Add "option ext_perform_stun 'allow-filtered'" to /etc/config/upnpd
  2. restart miniupnpd
  3. Check /var/etc/miniupnpd.conf
  4. Setting doesn't appear in /var/etc/miniupnpd.conf
Actual Behaviour

In a CGNAT configuration with STUN enabled we get the error message when starrting miniupnpd

Wed May 6 08:41:12 2026 daemon.warn miniupnpd[357761]: STUN: ext interface wan with private IP address 192.168.70.10 is now possibly behind restrictive or symmetric NAT with public IP address XX.XX.XX.XX which does not support port forwarding
Wed May 6 08:41:12 2026 daemon.warn miniupnpd[357761]: NAT on upstream router blocks incoming connections set by miniupnpd
Wed May 6 08:41:12 2026 daemon.warn miniupnpd[357761]: Turn off NAT on upstream router or change it to full-cone NAT 1:1 type
Wed May 6 08:41:12 2026 daemon.warn miniupnpd[357761]: Port forwarding is now disabled
Wed May 6 08:41:12 2026 daemon.warn miniupnpd[357761]: Set ext_perform_stun=allow-filtered if you still want to use port forwarding in current situation
Wed May 6 08:41:12 2026 daemon.notice miniupnpd[357761]: HTTP listening on port 5000

But setting this in the conf file and restarting miniupnpd ignores the value and the created /var/etc/miniupnpd.conf that is used to start miniupnpd is missing this option leading to the same error as described in the error messages above.

In addition a LuCI option would be helpful to get this setting from the LUCI UI, but i can log another enhancement request once this issue is resolved.

Confirmation Checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how the /etc/config/upnpd option ext_perform_stun is transformed into /var/etc/miniupnpd.conf when miniupnpd restarts. Confirm the allow-filtered value is preserved in the generated configuration, then verify that the resulting service behavior no longer omits this setting.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.