An alternative with simpler networking is to to rig up a little Web server on your home OpenWrt router, listening on the WAN interface. When the URL is requested (with authentication of some kind), it runs `etherwake` with the hardcoded MAC address and the hardcoded interface (e.g., `eth1.1`).
Then your UI to wake up your machine, from anywhere in the world, would be to access that URL via a Web browser or `curl` script.
For accessing the machine once it's awakened, probably you have a single TCP port forward configured on the router, forwarded to the port on the machine for SSH or whatever service is exposed. No other networking config.
(You could alternatively code a small "wake-on-demand" program that runs on the router, and initially listens on the port that will be forwarded to the service of the machine, but is resilient against port-scanning (maybe in a service-specific way to validate requests before waking machine), and reliable in setting and unsetting the port forward in the router when the machine is up and down.)
Then your UI to wake up your machine, from anywhere in the world, would be to access that URL via a Web browser or `curl` script.
For accessing the machine once it's awakened, probably you have a single TCP port forward configured on the router, forwarded to the port on the machine for SSH or whatever service is exposed. No other networking config.
(You could alternatively code a small "wake-on-demand" program that runs on the router, and initially listens on the port that will be forwarded to the service of the machine, but is resilient against port-scanning (maybe in a service-specific way to validate requests before waking machine), and reliable in setting and unsetting the port forward in the router when the machine is up and down.)