Gateway-Router

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian
Gateway-Router

Sommario


Introduzione

Una macchina linux può essere configurata per svolgere tutte le funzioni svolte da un qualsiasi router/gateway dedicato e reperibile in commercio. Infatti sarebbe più corretto dire che sono questi dispositivi a offrire le stesse funzionalità che può offrire una macchina linux, in quanto molto spesso il software installato non è altro che una versione minimale e personalizzata di linux.

Warning.png ATTENZIONE
Ricordarsi che tutto quanto qui scritto presuppone che sia stato abilitato l'IP forwarding sulla macchina che si vuole usare come gateway/router, ovvero impostare a 1 il valore della variabile net.ipv4.ip_forward in /etc/sysctl.conf


Gateway

La principale funzionalità di un router-gateway è quella di avviare, condividere e gestire la connessione ad internet all'interno di una LAN. Prima dell'avvento delle connessioni di tipo DSL erano comuni i modem interni, mentre oggi è esattamente l'opposto, pertanto anche configurando un computer come router/gateway non sarà mai possibile fare a meno di un router/gateway dedicato, in quanto non sono più sostanzialmente reperibili in commercio dispositivi che fungano da modem puri. Si hanno quindi tre possibili scenari:

  • Router/Gateway configurabile in modalità Full-bridge, in tal caso il dispositivo può funzionare come modem puro e quindi la macchina linux può gestire direttamente anche autenticazione all'ISP ed incapsulamento dei dati. Il software richiesto in tale caso è Pppoeconf;
  • Router/Gateway configurabile in modalità Half-bridge, dove il dispositivo si occupa solo di autenticazione ed incapsulamento dei dati. Tutti gli altri servizi potranno/dovranno essere delegati al computer linux. Sebbene il dispositivo non possa funzionare modem puro questa modalità non introduce un livello di NAT/firewall esattamente come quella "full-bridge" (e quindi non dovrebbe introdurre alcuna latenza aggiuntiva, visto che si evita di fare due volte NAT);
  • Router/Gateway utilizzabile solo in modalità standard. In questo caso l'unica possibilità è disattivare tutti i servizi che si intendono gestire tramite macchina linux e configurare il dispositivo affinché passi tutto il traffico senza filtrarlo alla suddetta macchina linux. Di norma tutti i dispositivi commerciali permettono di inoltrare tutto il traffico non filtrato ad un dispositivo della propria LAN. Tale opzione viene generalmente chiamata "DMZ" (demilitarize zone), ma ogni costruttore può usare una sua dicitura particolare. Per quanti servizi si possano disattivare, autenticazione, incapsulmanento e NAT dei dati rimarrà sempre a carico del suddetto dispositivo.

Indipendentemente dallo scenario è consigliato usare una macchina dotata di due schede di rete, in modo da separare completamente la propria LAN dal mondo esterno. Nel caso di scenario Half-bridge e/o standard è anche consigliabile configurare due subnet differenti per ciascuna scheda di rete.

Subnet differenti

Nel caso si optasse per la configurazione con subnet diverse si avrebbe una situazione per cui il Gateway/Router/Modem esterno (es.: IP 192.168.2.1) è collegato ad una porta del PC Gateway/Router Linux (es. IP 192.168.2.74), mentre tutti gli altri PC della LAN sono collegati alla seconda porta del PC Gateway/Router Linux (es. IP 192.168.1.172).

-----------            ----------------------------            --------------
G/R esterno                     G/R linux                          LAN
192.168.2.1    <-->    192.168.2.74 | 192.168.1.172    <-->    192.168.1.0/24
-----------            ----------------------------            --------------

Se così fosse è utile osservare quanto segue:

  • Il gateway predefinito del PC Gateway/Router Linux deve essere l'IP del Gateway/Router/Modem esterno (192.168.2.1).
  • Il gateway predefinito di tutti i dispositivi della subnet 192.168.1.0/24 deve essere l'IP della seconda interfaccia del PC Gateway/Router Linux (192.168.1.172).
  • L'unico dispositivo su cui è necessario configurare una rotta statica è il Gateway/Router/Modem esterno, ed in particolare (rimanendo all'esempio soprastante) i valori sono 192.168.1.0 | 255.255.255.0 | 192.168.2.74. Questo perché un PC dotato di due interfacce con IP appartenenti a subnet diverse sa instradare automaticamente e correttamente i pacchetti appartenenti alle subnet associate alle singole interfacce, mentre i PC della LAN hanno quest'ultimo PC impostato come gateway.

/etc/network/interfaces

Si ritiene utile riportare una configurazione d'esempio che include anche direttive menzionate in altre guide:

auto eth1
iface eth1 inet static
	address 192.168.2.74
	netmask 255.255.255.0
	network 192.168.2.0
	broadcast 192.168.2.255
	gateway 192.168.2.1
	post-up /bin/ip route flush table 1
	post-up /bin/ip route add default via 192.168.2.1 table 1
	post-up /bin/ip rule add from 192.168.2.74 table 1

auto eth0
iface eth0 inet static
	address 192.168.1.172
	netmask 255.255.255.0
	network 192.168.1.0
	broadcast 192.168.1.255
	post-up /bin/ip route add 192.168.1.0/24 dev eth0 src 192.168.1.172 table 1

Routing

Il routing (instradamento) dei pacchetti è un'attività normalmente poco rilevante per le piccole reti come quelle domestiche e dei piccoli uffici. In tali contesti infatti le impostazioni automatiche sono più che sufficienti per gestire il normale traffico dati.
Apprendere i rudimenti di tali materia è di norma richiesto solo quando si ha la necessità di creare più di una subnet all'interno della propria LAN, pertanto chi fosse interessato può far riferimento a questa breve guida dedicata a Iproute2, una suite di strumenti appunto pensata per la configurazione del routing in tutte le sue declinazioni.

Firewall e NAT

Entrambe le funzionalità possono essere gestite attraverso il firewall integrato nel kernel linux, ovvero iptables oppure nftables.

Wireless Access Point

Una macchina linux equipaggiata con un'interfaccia di rete wireless può essere configurata come punto d'accesso per tutti i dispositivi senza fili. Si veda questa guida.

DNS e DHCP server

È anche possibile configurare il proprio PC linux per quanto segue:

  1. assegnare automaticamente un IP privato ad uno o più dispositivi connessi alla propria LAN;
  2. risolvere centralmente i nomi host e FQDN (Fully Qualified Domain Name) della propria LAN, invece che dover editare il file /etc/hosts di ogni singolo dispositivo (sempre ammesso che sia possibile);
  3. creare una cache degli indirizzi (o meglio dei FQDN) di internet già richiesti, ovvero evitare di dover continuamente contattare i server DNS esterni per risolvere i suddetti nomi di dominio/indirizzi se già risolti in precedenza.

Per tutti e tre i punti si può far riferimento a questa guida.

DNS Dinamici

Se il proprio ISP non mette a disposizione un IP pubblico statico è sempre possibile sottoscrivere e configurare un apposito servizio che permetta di tenere traccia dell'IP pubblico attualmente associato al proprio Gateway/Router esterno (ovvero offrono un record DNS dedicato).
Tali servizi offrono di solito anche la possibilità di aggiornare il suddetto record DNS in modo automatico attraverso DDClient.

OpenSSH

Implementazione libera del protocollo SSH, usato principalmente per connettersi (e quindi amministrare) da remoto un altro dispositivo tramite shell. Guida OpenSSH.

OpenVPN

Guida per creare sia una propria VPN (configurazione server e client) che per collegarsi ad un servizio commerciale (configurazione client). Usando ovviamente OpenVPN.




Guida scritta da: Wtf 15:42, 16 feb 2019 (CET) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized