Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
Jump to navigation Jump to search
(Aggiornato: il VPS vecchio nel frattempo è bruciato nell'incidente di Strasburgo, e andromeda ha smesso di funzionare correttamente)
(11 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
In questa pagina sono raccolte tutte le informazioni relative alla struttura della rete LAN/Internet dell'[[Officina Informatica]].
+
[[File:Rete-ottobre-2020.jpeg|600px|right]]
Al momento la rete è in implementazione.
 
  
== Esigenze ==
+
In questa pagina sono raccolte tutte le informazioni relative alla struttura della rete dell'[[Officina Informatica]]. La rete è stata in fase di testing tra dicembre 2016 e marzo 2017. Da aprile 2017 la rete è completamente operativa. Dall'estate 2018 la rete è [[IPv6 @ GOLEM | dual-stack IPv4/IPv6]].
[[File:Rete_GOLEM.png|right|thumb|300px|Struttura ''beta'' della rete]]
 
  
* '''Ponte radio''' - Poiché non arriva cavo telefonico all'Officina, è necessario realizzare una connessione a distanza con un modem/router interno all'area della vela. Si userà un ponte radio ''bridge'' presumibilmente a 5GHz;
+
= Rete di accesso =
* '''Separazione delle reti''' - Rete ''interna'' GOLEM e rete ''esterna'' (ponte radio/gateway esterno) devono essere separate;
+
* '''Ponte radio:''' a causa di vincoli architettonici, il modem si trova nell'edificio nord. Viene usato un ponte radio in banda libera a 2.4 GHz di circa 100m. La presenza del ponte radio non limita la velocità della rete di accesso, perché la VDSL è più lenta, e non influisce in maniera significativa sulla latenza. Il ponte è realizzato con due antenne TP-Link CPE210.
* '''LAN''' - Abbiamo a disposizione 12 porte ethernet nelle sale dell'Officina;
+
* '''LAN:''' realizzata con tecnologia Ethernet, abbiamo a disposizione 12 porte, 6 nella sala officina (3 + 3) e 6 in sala corsi (2 + 2 + 2). La LAN è realizzata con uno switch HP non-managed 10/100.
* '''WiFi interna''' - Oltre alla Ethernet LAN servirà un ulteriore dispositivo per la connessione tramite dispositivi wireless (WLAN);
+
* '''WLAN:''' realizzata con tecnologia WiFi, c'è un access point in sala corsi che copre tutta l'officina e pure lo spazio esterno. L'access point è una Ubiquiti UniFi.
* '''Server/Caching''' - Si vorrebbe usare il minicomputer [[A10-OLinuXino-LIME | OLinuXino]] sia come semplice server locale (storage di dati condivisi) che come sistema di cache per aggiornare sistemi debian-based ([[apt-cacher]] o simili) e non. Il traffico di rete dovrà attraversare l'Olinuxino.
 
  
== Materiali a disposizione ==
+
= Apparati =
* Antenne per ponte radio e relativi router (presumibilmente Mikrotik)
+
La maggior parte sono di recupero. Se potesse, anche il VPS sarebbe di seconda mano.
* Switch Allied Telesyn (24 porte)
 
* Mikrotik RouterBoard 433 (per WLAN) ?
 
* [[A10-OLinuXino-LIME | OLinuXino A10 LIME]]
 
  
== Cenni VLAN ==
+
== atena.golem.linux.it ==
<!-- <div style="padding: 1em;border: 1px dashed #2f6fab;color: black;background-color: #f9f9f9;"> -->
+
VPS presso OVH.
VLAN = Virtual LAN, insieme di tecnologie che permettono di suddividere una rete basata su switch, in più reti logicamente non comunicanti tra loro, ma che condividono la stessa infrastuttura fisica.
 
(riadattato da Wikipedia)
 
  
Noi creeremo due VLAN (interna = #1 = LAN locale ed esterna = #2 = verso il ponte radio). I membri di una VLAN non possono comunicare con quelli dell'altra VLAN (le informazioni trasmesse vengono automaticamente ''taggate'' dallo switch con l'ID della VLAN di partenza). I membri di entrambe le VLAN (per noi l'OlinuXino) devono ''taggare'' manualmente i pacchetti per notificare allo switch su quale VLAN indirizzarli.
+
{| class="wikitable"
<!-- </div> -->
+
|+golem.linux.it
 +
! nic
 +
! addr4
 +
! addr6
 +
! descrizione
 +
|-
 +
| '''he6in4'''
 +
|
 +
| 2001:470:1f12:69::2/64
 +
| tramite un tunnel 6in4 con Hurrican Electric, fornisce l'accesso alla rete IPv6
 +
|-
 +
| '''tun0'''
 +
|
 +
| 2001:470:c844::11
 +
| tramite OpenVPN fornisce connettività IPv6 alle macchine dell'officina e ai soci del GOLEM;
 +
|}
  
== Piano d'azione ==
+
== modem.tim ==
Poiché OLinuXino ha una sola scheda di rete fisica, si configura lo switch per supportare due VLAN (Virtual LAN) (isolate fra loro: come fossero LAN gestite da due switch diversi, ndr).
+
{| class="wikitable"
* VLAN#1 - Antenna WLAN e porte ethernet LAN fanno parte della VLAN interna
+
|+modem.tim
* VLAN#2 - Il ponte radio fa parte della VLAN esterna
+
! nic
 +
! addr4
 +
! addr6
 +
! descrizione
 +
|-
 +
| '''wan'''
 +
| 79.11.35.249/32
 +
|
 +
| Gestita da TIM. NAT dst=79.11.35.249/32 to 192.168.1.128. Il NAT funziona solo se il livello di trasporto è TCP o UDP.
 +
|-
 +
| '''eth0'''
 +
| 192.168.1.1/24
 +
|
 +
|
 +
|}
  
OLinuXino appartiene ad entrambe e funge da router di collegamento. OLinuXino sarà sicuramente anche il gateway predefinito per le macchine della VLAN#1, ed anche il loro server DNS. Inoltre, farà anche da server DHCP.
+
== scatolotto ==
 +
SBC AMD GX-412TC SOC.
 +
Monta una Debian minimale su SD read-only. La configurazione si resetta ad ogni avvio.
 +
Per cambiarla in maniera permanente, fermare GRUB da seriale e rimuovere ''fsprotect'' dalla command line del kernel.
  
OLinuXino dovrà gestire le due VLAN. Anche se ha una sola scheda di rete fisica, esso è cosciente dell'esistenza delle due VLAN, perciò si "sdoppia" la scheda di rete fisica in due schede virtuali, una per ogni VLAN.
+
NAT dst=192.168.1.128 to 192.168.7.128 (''tutto il traffico IPv4 passa indisturbato verso porceddu'').
  
=== Configurazione VLAN su switch ===
+
{| class="wikitable"
[[Image:Switchone-config.jpeg|300px|right]]
+
|+scatolotto
* Creazione due VLAN:
+
! nic
** ID #1 - interno
+
! addr4
** ID #2 - esterno
+
! addr6
* Si imposta per ogni porta il PVID (Port VLAN IDentifier), ossia si informa lo switch a quale delle due VLAN appartiene la porta ''per default''. Le porte dalla 1 alla 21 hanno PVID #1 (danno verso l'interno), dalla 22 alla 24 hanno PVID #2 (danno verso l'esterno).
+
! descrizione
* Poi si imposta la porta 22 sia come membro della VLAN #2 (lo è già per default) che per la VLAN #1. Per default si ha che la porta 22 è:
+
|-
** '''untagged''' per la VLAN #2 (informazioni non taggate vengono riportate sulla VLAN #2);
+
| '''enp1s0'''
** '''tagged''' per la VLAN #1 (ossia per spedire informazioni sulla VLAN #1 l'OlinuXino dovrà saperle taggare);
+
| 192.168.1.128/24
* Lo stesso si è fatto per la 23, ma al momento è inutilizzata.
+
|
 +
| collegata al modem tramite il ponte radio
 +
|-
 +
| '''tun0'''
 +
|
 +
| 2001:470:c844::200
 +
| tunnel OpenVPN verso golem.linux.it per connettività IPv6
 +
|-
 +
| '''enp2s0'''
 +
| 192.168.7.1/24
 +
| fe80:.../64
 +
| collegata al router point-to-point
 +
|}
  
== Configurazione OLinuXino ==
+
== porceddu ==
=== VLAN ===
+
Mikrotik Routerboard RB3011UiAS
Installare il pacchetto <code>vlan</code>
 
# apt-get install vlan
 
  
Abilitare il modulo per il protocollo 8021q e inserirlo per il caricamento all'avvio.
+
NAPT src=192.168.5.0/24 to 192.168.7.1 (''tutto il traffico IPv4 della LAN viene "nattato" e inoltrato a scatolotto'').
  
'''Nota''': questo non è necessario sul '''nostro''' OLinuXino, perché il modulo è linkato staticamente.
+
{| class="wikitable"
 +
|+porceddu
 +
! nic
 +
! addr4
 +
! addr6
 +
! descrizione
 +
|-
 +
| '''ether1'''
 +
| 192.168.7.128/24
 +
| fe80:.../64
 +
| collegata a scatolotto point-to-point
 +
|-
 +
| '''bridge-officina'''
 +
| 192.168.5.20/24
 +
| 2001:470:c844:200::1/64
 +
| DHCPv4 e radvd per le macchine dell'officina. Bridge di più porte, a cui sono collegati lo switch e andromeda.
 +
|}
  
  # modprobe 8021q
+
== serverozzo ==
# echo 8021q >> /etc/modules
+
Server di recupero.
 +
{| class="wikitable"
 +
|+ hardware
 +
| CPU
 +
| Intel Xeon X3330 @ 2.66GHz
 +
|-
 +
| RAM
 +
| 6 GiB
 +
|-
 +
| SO
 +
| Proxmox
 +
|-
 +
| Disk
 +
| (RAID1 2x 250GiB) = 250GiB, OS + (2x (2x 500 GiB)) = 2TiB, storage VM
 +
|}
  
Configurare il file ''/etc/network/interfaces''
+
<!--
 +
== andromeda ==
 +
{| class="wikitable"
 +
|+ hardware
 +
| CPU
 +
| Intel Xeon E5504 @ 2.00GHz (dual socket)
 +
|-
 +
| RAM
 +
| 12 GiB
 +
|-
 +
| SO
 +
| Proxmox
 +
|-
 +
| Disk
 +
| (3x 500GiB) RAID5 hardware
 +
|}
 +
-->
  
# VLAN 2 - Untagged. Prendi il DCHP dalla rete esterna
+
= History =
auto eth0
+
Alcune vecchie configurazioni sono disponibili nella [[Discussione:Rete del GOLEM | pagina di discussione]].
iface eth0 inet dhcp
 
  
# VLAN 1 - Bisogna taggare. Mi dò un IP statico
+
== Legacy ==
auto eth0.1
+
* Tanto tempo fa, in un'Officina lontana, la gestione della rete era affidata al serverone, che ora giace defunto nel magazzino;
iface eth0.1 inet static
+
* Durante la permanenza temporanea in ex-Ospedale Vecchio si è fatto uso di un [[A10-OLinuXino-LIME | OLinuXino A10 LIME]];
address 192.168.5.10
+
* Di ritorno alla Vela, attuale Officina, si è sperimentata una soluzione [[A10-OLinuXino-LIME | OLinuXino ]] + [[VLAN]], ma per praticità di gestione è stata scartata;
netmask 255.255.255.0
 
vlan-raw-device eth0
 
  
La dicitura ''eth0.1'' indica la VLAN 1, che è raggiungibile fisicamente attraverso ''eth0''.
+
[[Category:Sysop]]
 
 
'''In breve''': l'OlinuXino, come detto prima, deve saper taggare i pacchetti per poter dialogare contemporaneamente con l'interno e con l'esterno. Ora, poiché la porta dove è connesso (22) è ''untagged'' per VLAN #2 ciò che lui butta in rete va di per sé verso tale VLAN (l'esterno). Per la VLAN #1 invece l'informazione deve essere taggata, da qui la seconda parte del file ''interfaces''.
 
 
 
=== DHCP Server ===
 
L'OLinuXino si deve occupare di assegnare gli indirizzi IP sulla rete ''interna'' VLAN 1. Poiché si dovrà occupare anche di rispondere alle richieste DNS provenienti dalla rete ''interna'' VLAN 1, installiamo ''dnsmasq'', che fa tutto lui.
 
 
 
# apt-get install dnsmasq
 
 
 
Modifichiamo ''/etc/dnsmasq.conf'':
 
 
 
# Accettare le richieste solo su questa interfaccia di rete
 
interface=eth0.1
 
 
 
# Assegnare gli indirizzi IP di questo intervallo
 
dhcp-range=192.168.5.101,192.168.5.254,12h
 
 
 
Automaticamente, ai computer che richiedono un indirizzo IP, viene anche comunicato anche:
 
* Indirizzo del gateway (OLinuXino)
 
* Indirizzo del server DNS (OLinuXino)
 
Se questi servizi non risiedono sull'OLinuXino, spulciare ''dnsmasq.conf'' per modificare questo comportamento (a noi non interessa).
 
 
 
=== DNS Server ===
 
Lo fa già da sé, ma nel file ''dnsmasq.conf'' decommentiamo anche queste due linee per non far uscire inutilmente query DNS che non potranno essere risolte da nessuno:
 
 
 
domain-needed
 
bogus-priv
 
 
 
=== Squid ===
 
Installare ''Squid'' per tenere una copia di tutto il traffico HTTP, che a questo punto passa attraverso l'OLinuXino.
 
# apt-get install squid3
 
Vedere [[Apt-cacher#Squid-Only | Squid]].
 
 
 
=== Firewall ===
 
Script per il firewall, per mandare i pacchetti sulla 80 (HTTP) a Squid, e gli altri direttamente fuori.
 
 
 
#!/bin/sh
 
# Squid server IP
 
SQUID_SERVER="192.168.5.10"
 
 
# Interface connected to Internet
 
INTERNET="eth0"
 
 
# Interface connected to LAN
 
LAN_IN="eth0.1"
 
 
# Squid port
 
SQUID_PORT="3128"
 
 
# Clean old firewall
 
iptables -F
 
iptables -X
 
iptables -t nat -F
 
iptables -t nat -X
 
iptables -t mangle -F
 
iptables -t mangle -X
 
 
# Load IPTABLES modules for NAT and IP conntrack support
 
modprobe ip_tables
 
modprobe ip_conntrack
 
modprobe iptable_nat
 
modprobe ipt_MASQUERADE
 
echo 1 > /proc/sys/net/ipv4/ip_forward
 
 
# Set this system as a router for rest of LAN
 
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE
 
 
# DNAT port 80 request coming from LAN systems to squid 3128 ($SQUID_PORT), aka transparent proxy
 
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
 
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
 
 
 
==Bibliografia==
 
* [https://it.wikipedia.org/wiki/VLAN VLAN | Wikipedia]
 
* [http://www.netsetup.it/networking-livello2/porte-tagged-untagged PVID, tagged, untagged | NetSetup]
 
* [https://wiki.debian.org/it/NetworkConfiguration Configurazione VLAN | Debian Wiki]
 

Versione delle 10:30, 28 giu 2021

Rete-ottobre-2020.jpeg

In questa pagina sono raccolte tutte le informazioni relative alla struttura della rete dell'Officina Informatica. La rete è stata in fase di testing tra dicembre 2016 e marzo 2017. Da aprile 2017 la rete è completamente operativa. Dall'estate 2018 la rete è dual-stack IPv4/IPv6.

Rete di accesso

  • Ponte radio: a causa di vincoli architettonici, il modem si trova nell'edificio nord. Viene usato un ponte radio in banda libera a 2.4 GHz di circa 100m. La presenza del ponte radio non limita la velocità della rete di accesso, perché la VDSL è più lenta, e non influisce in maniera significativa sulla latenza. Il ponte è realizzato con due antenne TP-Link CPE210.
  • LAN: realizzata con tecnologia Ethernet, abbiamo a disposizione 12 porte, 6 nella sala officina (3 + 3) e 6 in sala corsi (2 + 2 + 2). La LAN è realizzata con uno switch HP non-managed 10/100.
  • WLAN: realizzata con tecnologia WiFi, c'è un access point in sala corsi che copre tutta l'officina e pure lo spazio esterno. L'access point è una Ubiquiti UniFi.

Apparati

La maggior parte sono di recupero. Se potesse, anche il VPS sarebbe di seconda mano.

atena.golem.linux.it

VPS presso OVH.

golem.linux.it
nic addr4 addr6 descrizione
he6in4 2001:470:1f12:69::2/64 tramite un tunnel 6in4 con Hurrican Electric, fornisce l'accesso alla rete IPv6
tun0 2001:470:c844::11 tramite OpenVPN fornisce connettività IPv6 alle macchine dell'officina e ai soci del GOLEM;

modem.tim

modem.tim
nic addr4 addr6 descrizione
wan 79.11.35.249/32 Gestita da TIM. NAT dst=79.11.35.249/32 to 192.168.1.128. Il NAT funziona solo se il livello di trasporto è TCP o UDP.
eth0 192.168.1.1/24

scatolotto

SBC AMD GX-412TC SOC. Monta una Debian minimale su SD read-only. La configurazione si resetta ad ogni avvio. Per cambiarla in maniera permanente, fermare GRUB da seriale e rimuovere fsprotect dalla command line del kernel.

NAT dst=192.168.1.128 to 192.168.7.128 (tutto il traffico IPv4 passa indisturbato verso porceddu).

scatolotto
nic addr4 addr6 descrizione
enp1s0 192.168.1.128/24 collegata al modem tramite il ponte radio
tun0 2001:470:c844::200 tunnel OpenVPN verso golem.linux.it per connettività IPv6
enp2s0 192.168.7.1/24 fe80:.../64 collegata al router point-to-point

porceddu

Mikrotik Routerboard RB3011UiAS

NAPT src=192.168.5.0/24 to 192.168.7.1 (tutto il traffico IPv4 della LAN viene "nattato" e inoltrato a scatolotto).

porceddu
nic addr4 addr6 descrizione
ether1 192.168.7.128/24 fe80:.../64 collegata a scatolotto point-to-point
bridge-officina 192.168.5.20/24 2001:470:c844:200::1/64 DHCPv4 e radvd per le macchine dell'officina. Bridge di più porte, a cui sono collegati lo switch e andromeda.

serverozzo

Server di recupero.

hardware
CPU Intel Xeon X3330 @ 2.66GHz
RAM 6 GiB
SO Proxmox
Disk (RAID1 2x 250GiB) = 250GiB, OS + (2x (2x 500 GiB)) = 2TiB, storage VM


History

Alcune vecchie configurazioni sono disponibili nella pagina di discussione.

Legacy

  • Tanto tempo fa, in un'Officina lontana, la gestione della rete era affidata al serverone, che ora giace defunto nel magazzino;
  • Durante la permanenza temporanea in ex-Ospedale Vecchio si è fatto uso di un OLinuXino A10 LIME;
  • Di ritorno alla Vela, attuale Officina, si è sperimentata una soluzione OLinuXino + VLAN, ma per praticità di gestione è stata scartata;