I recently swapped my router for a Billion 7800VDOX, and noticed some attempted connections to my iMac from external addresses. On investigation I found that a uPnP port had been opened on the router with port range 0-0 (internal and external.) This has the effect, verified with an external port scanner, of opening ALL port numbers on the router and directing them to the iMac. I deleted the mapping and ran Wireshark and captured an external address request at the same time as the mapping was restored.
Frame 496: 102 bytes on wire (816 bits), 102 bytes captured (816 bits) on interface 0
Ethernet II, Src: Apple_d0:7e:eb (d4:9a:20:d0:7e:eb), Dst: BillionE_cb:49:27 (00:04:ed:cb:49:27)
Internet Protocol Version 4, Src: 192.168.1.131, Dst: 192.168.1.254
User Datagram Protocol, Src Port: 5353 (5353), Dst Port: 5351 (5351)
Source Port: 5353
Destination Port: 5351
Length: 68
Checksum: 0x8527 [validation disabled]
[Stream index: 0]
Port Control Protocol, Map Request
Version: 2
0... .... = R: Request
.000 0001 = Opcode: Map (1)
Reserved: 0
Requested Lifetime: 7200
Client IP Address: ::ffff:192.168.1.131
Map Request
Mapping Nonce: f88237920f8cd6c0a3765f39
Protocol: 6
Reserved: 0
Internal Port: 9
Suggested External Port: 0
Suggested External IP Address: ::ffff:xxx.181.81.112
This was preceded by a SOAP request to get the external IP address of the router. Checking the source port (5353) with lsof I found it owned by mDNSResponder.
My assumption as to what is happening is that mDNSResponder is using this just to get the external IP address of the router, and doing so using a supposedly harmless request to map port 0, which should be an invalid port. However the Billion router is treating this as, either by design or programming error, as a request to open all ports. Turning off uPnP on the router solves the problem (even though as pointed out this is not actually uPnP.)
Anyone have any other suggestions?