UPNP service not working correctly on multiple interfaces

  • I am using embedded edition with snapshot 0719. I have WAN, LAN, and WLAN.

    LAN is 192.168.10.x
    WLAN is 192.168.11.x

    Both interfaces can reach the internet and each other fine.

    I enable UPNP on both LAN and WLAN together but windows is not registering the UPNP gateway when connected via WLAN (did not try LAN).

    When I just change the UPNP to listen on WLAN only, everything works on the WLAN.

    Any clue here?

  • UPNP only works on one interface as far as I know.

  • There is an option to select multiple interfaces right now. Maybe a mistake in the gui. Anyways, is it possible to reprogram it to make it work with multiple interfaces?

  • The issue is miniupnpd will listen on multiple ips, but it won't broadcast the notifications to them. I'll look at the code and maybe we can get something working.

  • Just wanted to update this thread. Miniupnpd was just updated to fully support running on multiple interfaces. I've just compiled it and am looking for somebody to test this out since my WLAN is on the same interfaces as my LAN. Send me a PM or email if your interested.

  • This has been committed and is available in the snapshots. Let me know how it works for you. If you just want to upgrade the miniupnpd binary heres how.

    On the console select the shell option. At the prompt type the following

    cd /tmp
    fetch http://wgnrs.dynalias.com:81/pfsense/miniupnpd/upnp_support
    fetch http://wgnrs.dynalias.com:81/pfsense/miniupnpd/sbin/miniupnpd
    chmod +x upnp_support
    ./upnp_support replace

    This will replace the binary and will output an md5 checksum that matches 8C79B4F22C0D88636808DD4522F97454.

    The upnp_support file can also be used to start, stop, view the status, debug, etc miniupnpd. I wrote this to address the issue of having no rc file since miniupnpd is built in to pfSense.

  • The script (upnp_support) contains DOS line endings, which stops the script running.  I had to do a quick edit to make it run.

    Edit: Fixed the gibberish at the end of the last sentence.

  • My mistake, I use vim in windows to edit the files and didn't realize it wasn't in unix format. Whats interesting is I tested it on my pfSense box and it ran fine. Anyway I updated the file using dos2unix to make sure.