TL; DR : Sto cercando uno script o un lavoro cron, che verrà periodicamente eseguito su un host linux (fedora su raspberry pi) che controllerà se esiste ancora una regola di port forwarding nel router e lo aggiungerà se non lo è . Lo scopo è quello di avere sempre accesso all'host raspberry pi linux tramite SSH, VNC e l'interfaccia web di trasmissione, da qualsiasi macchina su Internet al di fuori della mia rete domestica. La configurazione è riportata di seguito:
Router :
Beetel 440Tx1 router ADSL2 + modem + wifi.
Installazione :
Il router è connesso a Internet (ISP Broadband) e ha un IP esterno dinamico. Fornisce una rete domestica privata ai miei computer con IP interni 192.168.xy che fungono anche da DHCP.
Host :
Un host ARM raspberry pi con Fedora Linux, sempre in esecuzione con server ssh, vnc, daemon di trasmissione avviati all'avvio. Ha anche il DUC (client di aggiornamento dinamico) no-ip.com dyndns gratuito che controlla abitualmente l'IP esterno e lo lega alla stringa host. Quindi posso sempre trovare l'IP esterno del mio router risolvendo la mia stringa dyndns come myrouter.no-ip.org . Il pi ha un IP interno statico come 192.168.1.z.
Port Forwarding :
Devi accedere al router usando la GUI / il browser con le credenziali di fabbrica solo se connesso a quella rete tramite cavo Ethernet o Wi-Fi protetto da password
http://192.168.1.1/html/index1.html
Ho impostato la regola accedendo per inoltrare qualsiasi traffico alle porte 22, 5900, 9091 sull'IP esterno ai rispettivi programmi di ascolto (sshd, vncserver, trasmissione-demone) sul pi a 192.168.1.z.
Problema :
Questo router perde la suddetta regola di port forwarding quando viene riavviato (il router) o anche se si verifica un picco di energia elettrica e l'UPS deve intervenire momentaneamente e di solito ottiene un IP esterno diverso dal mio ISP in modo dinamico.
Requisito :
Uno script o cron job che può essere eseguito sul mio fedora linux pi che può accedere al mio router e periodicamente eseguire il polling per l'esistenza di quella regola di port forwarding e crearlo se manca. Aiuto apprezzato.