Por que você não faz o Flask para ouvir em todos os IPs públicos?
Externally Visible Server
If you run the server you will notice that the server is only accessible from your own computer, not from any other in the network. This is the default because in debugging mode a user of the application can execute arbitrary Python code on your computer.
If you have debug disabled or trust the users on your network, you can make the server publicly available simply by changing the call of the run() method to look like this:
app.run(host='0.0.0.0')
This tells your operating system to listen on all public IPs.