Ciao a tutti. Dovendo sostituire un DGN2200v3 amod con una soluzione più aggiornata per sfruttare la 200M ho intenzione di creare una soluzione casalinga, configurando un sistema unix come un router.
In questo caso il sistema è un NAS Synology con due interfacce di rete. Lo ho specificato per una questione di comodità nelle informazioni che riporterò di seguito, anche se non strettamente necessario in sé.
Quest'oggi ho provato a configurare il tutto ma ho riscontrato delle anomalie: alcuni siti vanno ed altri no. Proprio non capisco.
Venendo al sodo:
interfaccia eth0: usata come LAN interna, rete 192.168.0.0/24, DHCP NAS abilitato con quest'ultimo con IP statico 192.168.0.1
interfaccia eth1: usata come WAN, prende indirizzo da DHCP del modem con rete 192.168.1.0/24
interfaccia ppp0: connessione PPPoE stabilita sull'interfaccia eth1
Di seguito, tutta la configurazione avviene tramite uno script bash personale il quale si occupa anche si soddisfare dei prerequisiti richiesti da Synology, come per esempio il caricamento di determinati moduli tramite insmod ed altre necessità diciamo proprietarie del sistema in sé. Senza andare a riportare tutto lo script affronterò le questioni di carattere generale.
Attivazione dell'ip forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
sysctl -p
Routing:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Da quanto capito la seconda regola serve per risolvere la problematica di differenza di dimensione del MTU fra i pacchetti Ethernet (1500 byte) e quelli PPPoE (impostato a 1492 byte in modo automatico)
Già dando questi pochi comandi via shh ho provato a navigare tramite un client connesso alla LAN (eth0) del NAS e navigava, ma solo su alcuni siti. Per altri siti la pagina rimaneva bloccata in "creazione di una connessione protetta".
Effettivamente non ho affrontato il discorso DNS. /etc/resolv.conf è automaticamente popolato con il DNS primario passato dalla PPPoE, aggiungendo poi il NAS stesso.
In ogni caso anche provando ad impostare un client in configurazione statica (usando i DNS google) e non tramite DHCP la situazione non cambia. Alcuni siti si aprono senza problemi mentre su altri il caricamento rimane infinito.
A questo punto se non è un problema di DNS cosa è ? Le regole di routing tramite iptables dovrebbero essere giuste.
In secondo luogo dovrei affrontare il discorso firewall, inserendo delle regole di DROP con iptables. Ma ovviamente è un aspetto secondario se la navigazione non funziona correttamente neanche con policy ACCEPT in default.