Client PPTP su DD-WRT che non si raggiungono: cinque controlli
Una maschera 255.255.255.255 è corretta su un collegamento PPP. Fate cinque controlli in ordine: pool, voce CHAP, rotte dei peer, politica FORWARD e intento internet.
Due portatili si collegano al server PPTP di una macchina DD-WRT, ciascuno riceve un indirizzo, e nessuno dei due riesce a fare ping dell'altro. Le cartelle condivise non compaiono mai e il primo pensiero è che la maschera 255.255.255.255 distribuita dal router debba essere sbagliata. Non è la causa, e cambiarla non creerà un solo nuovo vicino. Eseguite i cinque controlli qui sotto in ordine e fermatevi appena uno fallisce, perché ognuno ha la sua cura.
Controllo uno: la /32 non è il difetto
PPTP trasporta PPP, e un collegamento PPP unisce esattamente due estremità: il vostro client e il server. Una maschera di rete descrive quali indirizzi condividono un segmento locale, e qui non c'è alcun segmento, solo il peer all'altro capo di un cavo. Una maschera di tutti uno dice proprio questo, quindi DD-WRT distribuisce il valore corretto per quel tipo di collegamento. L'indirizzo è un indirizzo di peer, non un indirizzo di interfaccia su una LAN.
Una maschera 255.255.255.0 appartiene a un mezzo condiviso con centinaia di dispositivi, e metterla su un'interfaccia PPP non renderebbe comunque un vicino l'altro lato del tunnel.
Controllo due: leggete i valori della pagina del server PPTP
Tutte le impostazioni che contano sono in Servizi, VPN, Server PPTP. Attivate il server, impostate l'indirizzo del server sull'indirizzo LAN del router, e tenete l'intervallo dei client fuori dal pool DHCP così che un client che compone e una macchina cablata non ricevano lo stesso indirizzo. Sotto CHAP-Secrets aggiungete una riga per account nella forma username * password *, senza spazi dentro il nome. Applicate, poi collegatevi con un profilo che nomina il router e uno di quegli account.
Il punto in cui il client si ferma vi dice quale livello ispezionare. Un client che si autentica ma non riceve un indirizzo è un problema di pool o di segreti; un client che riceve un indirizzo e non raggiunge nulla è un problema di instradamento o di firewall.
Controllo tre: cercate una rotta tra i due peer
Ogni tunnel che termina sul router è la propria interfaccia, di solito ppp0, ppp1 e così via. Il traffico da un client all'altro deve essere instradato tra quelle interfacce, e il router deve essere disposto a inoltrarlo. Eseguite ip route sul router e cercate una rotta host per ogni peer connesso, che punti all'interfaccia PPP corrispondente. Se a un peer manca la rotta, il tunnel non è del tutto attivo, qualunque cosa affermi la schermata di stato del client.
Due rotte host verso due interfacce ppp separate è la forma che volete prima di andare oltre.
Controllo quattro: guardate la catena FORWARD, non INPUT
Il traffico tra client viene inoltrato, non accettato localmente, quindi la catena INPUT è il posto sbagliato. Eseguite iptables -L FORWARD -v -n e cercate una regola di scarto che intercetti le interfacce PPP, più i contatori di pacchetti che mostrano se qualcosa arriva alla catena. Una politica di scarto predefinita senza regola di accettazione per il traffico del tunnel produce esattamente il sintomo con cui avete iniziato: ogni client da solo va bene, insieme sono invisibili l'uno all'altro.
Se i ping piccoli funzionano e i trasferimenti grandi si bloccano, il tunnel viene frammentato invece che bloccato. PPTP su PPP di norma vuole MTU e MRU intorno a 1450, e lasciarli a 1500 dà un collegamento che supera le strette di mano e fallisce sui carichi reali.
Controllo cinque: decidete cosa deve fare l'accesso a internet
I client destinati a navigare attraverso l'ufficio hanno bisogno della traduzione dell'indirizzo sorgente verso l'interfaccia WAN. I client destinati solo a raggiungere la LAN hanno bisogno di una rotta e nulla più. Sono intenzioni diverse con insiemi di regole diversi, e la domanda sulla maschera nasconde del tutto questa seconda decisione. Annotate il comportamento che volevate prima di aggiungere una sola regola, perché un client che esce inaspettatamente dalla linea dell'ufficio è una sorpresa che salta fuori in riunione e non nel registro.
Un'ultima nota, estranea alla soluzione: PPTP è obsoleto e la sua autenticazione è rotta da anni. L'elenco qui sopra spiega comunque cosa fa un collegamento PPP, e lo stesso ragionamento vale se in seguito spostate i client su un tunnel moderno.