At the very least, I don't think the magic packet would get through a network address translator. This system works even from separate LANs. The only requirement is that I configure my router to forward one specific port to the Arduino, so that my laptop can initiate communication. The other endpoint (the network that my laptop connects to) does not require any special configuration.