UPnP NAT reflection

Let's say I have PC1 with a server on port 1234.
PC1 use upnp to open port 1234 on router.
PC2 connects to PC1 from wan and the connection succeeds.
PC3 connects to PC1 from lan using the external or internal router address and the connection fails.

How can I make miniupnpd set this rules so that PC3 can connect from lan using the router's address?

When PC1 uses UPnP to create a redirection, the router will just redirect traffic coming from the WAN port; traffic from the LAN will not enter the router using the WAN port, even if you use the external IP address. You need to use "NAT reflection" for that, and it does not work for UPnP, you will have to configure it manually.

Indeed if I configure it manually it works. The problem is that server sometimes is hosted on PC1, sometimes on PC3. So manual/static configuration is not handy. I'd like to use upnp to set NAT reflection.

I don't understand. PC1 is the server, and PC3 is the client, that is written in your first post und in the last one you wrote, that PC3 ist sometimes the server too? So, which one is it?

I think he wants RFC1918 requests from LAN to the WAN IP of the router to be forwarded like however he configured the port forwarding.

I believe you would need to set up your own iptables rules for that.

No, UPnP will not do NAT reflection for you.