Ciao a tutti,
Sto configurando un server casalingo e mi ritrovo con il seguente problema: i servizi che espongo non sono accessibili all'interno della rete se mi connetto attraverso IP pubblico. Il port forwarding è stato fatto correttamente e infatti dall'esterno si riesce a connettersi senza problemi. Ma quando il dispositivo è connesso alla rete di casa il server non viene trovato. Ovviamente se mi collego tramite indirizzo privato funziona, ma vorrei riuscire se possibile a connettermi sempre all'indirizzo pubblico perché è una scocciatura dover ogni volta cambiare l'indirizzo nelle app che si collegano, a seconda se io sia fuori dalla rete o no. Nemmeno il ping risponde. Ho cambiato da pochi mesi operatore a Sky Wi-Fi, prima con Vodafone non succedeva questo problema.
Consigli? Grazie in anticipo!
Impossibile accedere a IP pubblico da rete interna
Non credo che il router di Sky faccia NAT hairpinning / NAT loopback / NAT Reflection.
Il problema e' il router in cui non gestisce correttamente il DNS rebinding, se possibile devi fare una eccezione manuale se te lo consente altrimenti prova se puoi a cambiare router.
Avevo stesso problema con un router anni fa della Zyxel, ma con un modello specifico lo cambiai mettendo un'altro modello e non ho piu' avuto il problema.
- Modificato
PaoloRossi il blocco del rebinding causa il problema opposto: blocca i record DNS pubblici che hanno IP privati. In questo caso servirebbe quanto detto da mark129, che pero' e' pur sempre sconsigliato, perche' cosi' facendo il server in LAN vede come IP sorgente non piu' l'IP privato del client in LAN, ma l'IP del router (il pubblico o il privato a seconda dell'implementazione, ma sempre un IP del router e non quello "vero" del client vedra').
enJeeneer quello che potresti vedere e' di impostare dei record DNS/Host statici sul router, in maniera tale che il nome DNS sia risolto con l'IP interno dal resolver interno del router, e con l'IP pubblico (normalmente) da fuori. Sempre che tu stia usando un DNS e non IP hardcodati per connetterti al tuo server... Peeeero' stiamo parlando del router di Sky, che a malapena ti lascia cambiare canale Wi-Fi e per farlo devi usare "l'app"...
forse ti conviene far fare da server DNS e DHCP per la tua LAN al tuo server, sai...
[cancellato]
La soluzione più pulita è impostare il DNS locale per risolvere quell'host con l'IP privato quando sei connesso alla rete locale), ed usare un DNS pubblico per l'IP pubblico - e non usare direttamente l'indirizzo IP. Tra l'altro, se cerchi di proteggere la connessione con un certificato TLS (come sarebbe opportuno) creato da una CA pubblica non lo otterrai mai per un IP (a meno che non possiedi quell'IP). Ti serve però registrare un dominio - cosa che ti semplifica tra l'altro la vita, se cambia l'IP (e tra l'altro con Sky WiFi non hai la certezza assoluta che l'IP sia sempre quello) lo devi cambiare solo in due posti, e il tutto continua a funzionare.
[cancellato] Ti serve però registrare un dominio
Basta anche un Dynamic DNS qualunque, oggi che la verifica dei certificati Domain Validated puo' esser fatta anche servendo token sulla 80 del singolo FQDN da verificare, piuttosto che verificando la proprieta' di tutto il dominio via email...
Sky dovrebbe permettere ancora di ottenere un indirizzo IPv4 "completo", a differenza di iliad che non fornisce piu' IP "full stack", quindi non dovrebbero esserci problemi con Sky ad aprire la 80 su internet.
[cancellato] La soluzione più pulita è impostare il DNS locale per risolvere quell'host con l'IP privato quando sei connesso alla rete locale), ed usare un DNS pubblico per l'IP pubblico - e non usare direttamente l'indirizzo IP.
Chissa' appunto se il modem di Sky lo faccia fare...
edofullo in effetti... Se no IPv6 pubblico che lo abbiamo a fare?
Sfortunatamente Sky non permette di cambiare DNS, ma facendo nslookup
mi viene risolto l'IP, quindi il problema era con il NAT. Ho fatto come edofullo ha suggerito, ho impostato sul DDNS l'IPv6 e giustamente, saltando completamente il NAT, ora funziona correttamente.
Grazie a tutti per le risposte, gentilissimi!