Cosa dovrei fare?
Sul router, disabilitare NAT e il firewall WAN.
Sul modem, aggiungere una route statica che dice "192.168.0.x può essere raggiunto tramite <IP del router>".
Se il modem non ti consente di aggiungere route statiche, fallo invece su PC1 o unisci subnet in una.
la gente dice che non possiamo comunicare tra diverse sottoreti
Stanno massicciamente generalizzando . La comunicazione tra diverse sottoreti è una caratteristica fondamentale dell'IP (e persino delle reti esistenti prima dell'IP) e molte reti più grandi sono costituite da sottoreti interconnesse. È così che è stata costruita Internet stessa.
Esiste solo un tipo specifico di pacchetti che generalmente non è in grado di attraversare i router in diverse sottoreti: pacchetti broadcast e / o multicast che alcune app e giochi utilizzano per il rilevamento dei peer. Ad esempio, quando chiedi a Windows di mostrare quali computer dispongono di Condivisione file disponibile, questo è limitato alla stessa sottorete. Quando esegui il ping pc2.local
, che utilizza LLMNR / mDNS multicast, anche questo è limitato alla stessa sottorete.
Tuttavia, ciò non si applica alla comunicazione diretta (unicast). Se si dà il sistema operativo un indirizzo specifico per la connessione a, i router saranno felicemente inoltrare i pacchetti attraverso sottoreti, per quanto possono - che si tratti di un'altra sottorete nella stessa LAN, o che si tratti di un altro lato del mondo. È così che raggiungi i siti Web, dopo tutto.
Quindi in breve,
- PC1 e PC2 non saranno in grado di "vedersi" nell'elenco "Computer vicini".
- PC1 e PC2 saranno in grado di connettersi tra loro tramite il loro indirizzo IP.
- PC1 e PC2 potrebbero non essere in grado di risolvere reciprocamente i nomi host, a seconda del meccanismo utilizzato (il DNS normale funzionerà, ma mDNS / LLMNR / NetBIOS no).
La prossima è la domanda sul perché le comunicazioni nella tua rete sembrano avvenire solo in una sola direzione (verso l'esterno, ma non verso l'interno). Sono due (o forse tre) problemi separati e sfortunatamente molti modem / router economici - specialmente quelli emessi dall'ISP - non ti permetteranno di risolverli.
Quindi, prima di continuare, considera se hai bisogno di due sottoreti. Sarebbe più semplice (e garantito il funzionamento) avere una sola sottorete di grandi dimensioni utilizzando una connessione LAN↔LAN anziché LAN↔WAN tra i due router, come in questa risposta .
Detto ciò:
Abilitazione della comunicazione tra sottoreti
In primo luogo, le tabelle di routing: attualmente, non è possibile raggiungere "verso l'interno" dalla rete modem 192.168.1.x nella rete router 192.168.0.x, poiché il modem non ha una route per questa rete. Di default ha solo due percorsi:
- destinazione 0.0.0.0/0: tramite il gateway dell'ISP
- destinazione 192.168.1.0/24: direttamente sulle porte LAN
È necessario informare il modem che tutti i pacchetti per 192.168.0.x devono passare attraverso il router, aggiungendo una "route statica" attraverso la configurazione del modem:
- destinazione 192.168.0.0/24 (maschera di rete 255.255.255.0) tramite il router 192.168.1.x
Sostituisci 'x' con qualunque cosa il tuo router "interno" ritenga essere il suo indirizzo WAN.
Nota: molti router / modem economici non consentono di configurare percorsi statici. Se il tuo modem non funziona, sei sfortunato e dovrai unire entrambe le sottoreti in una sola.
In alternativa puoi invece configurare la stessa route statica direttamente su PC1. (PC1 ha anche la stessa tabella di routing, ad eccezione del modem come gateway predefinito.)
In secondo luogo, i firewall: molto probabilmente, il tuo router "interno" è stato costruito con il presupposto che la sua porta WAN si collegherà direttamente a Internet e quindi dovrebbe avere un firewall che blocca deliberatamente le connessioni in entrata e continuerà a bloccarle anche dopo aver ottenuto il tabelle di routing corrette.
Per ora, puoi disabilitare in sicurezza il firewall del router interno, poiché le connessioni da Internet sono già bloccate dal router esterno.
Terzo, NAT. Ormai, avresti dovuto chiedere: "Ma se la rete del modem non sa dove inviare nuove connessioni alla rete del router, come fa a sapere dove inviare le risposte per le connessioni in entrata?"
Attualmente sei in grado di raggiungere "esternamente" perché il tuo router interno ha NAT abilitato sulla sua porta WAN (di nuovo, perché è costruito per connettersi a Internet, non a un'altra rete locale).
Con SNAT (aka masquerading) abilitato, il router riscrive tutti i pacchetti che attraversano la sua porta WAN e si trova da dove provengono realmente le connessioni. Pertanto, quando PC2 si collega a PC1, PC1 pensa effettivamente che la connessione provenga dal router stesso . Poiché si trovano nella stessa sottorete, PC1 sa già come inviare una risposta al router e il router annulla la traduzione e inoltra il pacchetto a PC2.
Se il router interno consente di disabilitare NAT, disabilitarlo. Ciò impedirà alle comunicazioni di smettere di funzionare in entrambe le direzioni, ma è una buona cosa nel tuo caso: la presenza di NAT nasconde il vero motivo per cui le comunicazioni non funzionavano completamente prima.
(Nota: in alcuni router, NAT e firewall sono controllati da una singola impostazione o interruttore 'mode'. Le interfacce di configurazione variano così tanto tra i produttori che è impossibile offrire ulteriori dettagli.)