Ci sono diverse soluzioni possibili. TeamViewer funzionerà perché fondamentalmente è stato chiamato "backconnect". Ciò significa che TeamViewer dalla vista del firewall agisce come un client, non come un server inizializzando la connessione invece di attendere la connessione in entrata come fa un server. In questo modo TeamViewer ignora i firewall statefull.
Se lo desideri puoi anche utilizzare un port forwarding. Ciò significa che si configura il firewall in modo da anticipare tutto il traffico in entrata da host esterni su una porta specifica a un altro host sulla LAN. Questo è chiamato PAT (Port Address Translation) ed è ampiamente utilizzato. Il modo in cui può essere implementato dipende dal router, ma quasi tutti i router supportano questo.
Puoi anche espandere questa soluzione con portknocking che è un tipo di approccio alla sicurezza attraverso l'oscurità. Significa che una connessione è accettata solo dopo che un pacchetto definito è stato ricevuto prima dalla stessa fonte.