sfondo
Ho usato un router WIFI come gateway di casa perfettamente fino a quando il mio ISP sembra limitare il numero di dispositivi collegati. E attualmente non esiste alcun piano di aggiornamento realistico dall'ISP per più dispositivi. Quindi sto provando a configurare un router NAT basato su Linux.
componenti
- un Raspberry Pi 2 modello B (RPi), con un adattatore ethernet integrato e 4 porte USB.
- un adattatore Ethernet 100Mbit USB.
- un interruttore con 4 porte.
Configurazione hardware
L'adattatore ethernet integrato di RPi, cioè eth0, verrà utilizzato come adattatore WAN. Un interruttore verrà collegato all'Ri tramite un adattatore Ethernet USB, ad esempio eth1. Quindi questo adattatore ethernet USB dovrebbe funzionare come un adattatore LAN. Dispositivi cablati come il mio laptop e il router WIFI saranno collegati tramite lo switch mentre i dispositivi wireless saranno collegati tramite il router WIFI ovviamente.
Installazione del software
Ho configurato dnsmasq sul RPi semplicemente per fornire sia i servizi DHCP che i servizi DNS. L'adattatore WAN (eth0) ottiene l'indirizzo IP e il DNS dall'ISP tramite DHCP. L'adattatore LAN (eth1) è configurato con l'indirizzo statico 10.0.1.1/24. Routing e NAT sono configurati come:
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth0 -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ho anche attivato l'inoltro ipv4.
Test e risultati
Test 1.
Prima io SIMULARE l'ISP con il mio router WIFI, ovvero, collego l'adattatore WAN del RPi a uno degli slot LAN del router. Quindi collego il mio laptop direttamente all'adattatore LAN del RPi. Il mio laptop ottiene un indirizzo IP 10.0.1.129 da DHCP esattamente come mi aspettavo. Posso eseguire il ping dal mio laptop al router tramite l'RPi con successo. Posso anche accedere alla pagina web amministrativa servita dal router dal mio portatile. Quindi tutto funziona bene.
Test 2.
Collego il RPi al VERO Cavo ISP tramite il suo adattatore WAN. Il laptop è ancora collegato all'adattatore LAN del RPi. Ho una connessione internet sul RPi. Posso ottenere il nome host WAN risolto dal mio portatile, ma non riesco a eseguire il ping e ad aprire le pagine Web WAN. Quindi il test 2 fallisce.
Più tardi prendo un altro approccio.
Ho un dongle USB WIFI bi-modale che può funzionare come client WIFI o router WIFI quando collegato a un computer con Windows XP / 7/8. Collego il cavo dell'ISP al mio portatile in modo da poter accedere a Internet dal mio portatile. Quindi collego il dongle USB WIFI al mio laptop e lo configuro come router WIFI. Con questo approccio il mio iPhone, iPad e laptop possono condividere la connessione a Internet con successo. Credo che questo approccio sia implementato dal servizio Windows ICS (condivisione delle connessioni Internet).
Quindi ecco le mie due domande:
- Qual è la differenza tra il servizio Windows ICS e il NAT & amp; basato su Linux? Routing in particolare la configurazione che ho implementato? Pensavo che Windows ICS fosse solo un sottoinsieme del NAT.
- C'è qualche possibilità che io possa far funzionare il mio RPi come gateway di casa invece del mio portatile? Dopo tutto il laptop consuma molta più energia.