Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
Jump to navigation Jump to search
 
(17 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:Network-2023-01.png|600px|right]]
  
La rete è stata in fase di testing tra dicembre 2016 e marzo 2017.
+
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]].
Da aprile 2017 la rete è completamente operativa.
 
  
== Esigenze ==
+
= Rete di accesso =
[[File:Rete_GOLEM.png|right|thumb|300px|Struttura ''beta'' della rete]]
+
* '''Connessione satellitare''': col nostro potenziale sponsor [https://www.sokom.it/ Sokom], è in fase di sperimentazione una connessione Starlink (connessione tramite satelliti in orbita bassa, a bassa latenza e alta velocità).
 +
* '''Ponte radio:''' temporaneamente dismesso <strike>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.</strike>
 +
* '''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 non-managed 10/100/1000.
 +
* '''WLAN:''' realizzata con tecnologia WiFi. Abbiamo un access point in sala corsi che copre tutta l'officina (Ubiquiti UniFi), in aggiunta ad un ulteriore access point esterno attualmente non configurato.
  
* '''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;
+
= Apparati =
* '''Separazione delle reti''' - Rete ''interna'' GOLEM e rete ''esterna'' (ponte radio/gateway esterno) devono essere separate;
+
Dove possibile, cerchiamo di utilizzare materiale di recupero. Se potesse, anche il VPS sarebbe di seconda mano.
* '''LAN''' - Abbiamo a disposizione 12 porte ethernet nelle sale dell'Officina;
+
La Routerboard e le due Ubiquiti ci sono state gentilmente offerte da Sokom.
* '''WiFi interna''' - Oltre alla Ethernet LAN servirà un ulteriore dispositivo per la connessione tramite dispositivi wireless (WLAN);
 
* '''Server/Caching''' - Si vorrebbe usare un server locale sia come semplice server locale (storage di dati condivisi) che come sistema di cache HTTP/DEB utile soprattutto per aggiornare rapidamente sistemi Linux (si veda [[apt-cacher]] o simili). Il traffico di rete dovrà attraversare il server.
 
  
== Materiali a disposizione ==
+
== atena.golem.linux.it ==
* Antenne per ponte radio e relativi router: modello TPLINK CPE210 a 2.4GHz;
+
VPS presso OVH.
* Switch Allied Telesyn 100Mbps (24 porte);
 
* PC generico ad uso server (doppia scheda eth);
 
* Mikrotik RouterBoard b/g/n 2.4 GHz (per WLAN);
 
* <del>[[A10-OLinuXino-LIME | OLinuXino A10 LIME]]</del>
 
  
 +
{| class="wikitable"
 +
|+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
 +
|-
 +
| '''wg0'''
 +
|
 +
| 2001:470:c844:100::1
 +
| tramite WireGuard fornisce connettività IPv6 alle macchine dell'officina e ai soci del GOLEM;
 +
|}
  
== Velocità rilevate ==
+
== scatolotto ==
* VDSL 30/10. Velocità effettiva: 25 Mbps down / 10 Mbps up.
+
Lo scopo principale di ''scatolotto'' era di realizzare la VPN con OpenVPN, in quanto non supportata dal router Mikrotik.
* Ponte radio 2.4 GHz 300Mbps. Velocità effettiva: 36Mbps down/up full duplex (''da ri-misurare'' e comunque variabile dipendentemente da fenomeni atmosferici)
+
Adesso, con la sperimentazione di WireGuard, la VPN può essere installata direttamente sulla Mikrotik e la necessità di avere ''scatolotto'' viene meno.
* Rete Ethernet 100Mbps. Velocità effettiva: 100Mbps fulle duplex.
 
* Rete WLAN Mikrotik: 300Mbps. Velocità misurata: 100Mbps (''da provare con dispositivi wireless n'')
 
  
== Configurazione del Server ==
+
<div style="border-left: 5px solid red; opacity: 0.6;">
 +
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.
  
Nell'attuale configurazione si tratta di un server di recupero:
+
NAT dst=xxx.xxx.xxx.xxx to 192.168.7.128 (''tutto il traffico IPv4 passa indisturbato verso porceddu'').
* CPU: Intel Xeon X3330  @ 2.66GHz
 
* RAM: 4 GB
 
* Hard Disk: 250 GB
 
  
Il suo mestiere è separare rete interna da rete esterna (router), effettuare il DHCP sulla rete interna, condividere la rete wireless, fare la [[ Apt-cacher | cache dei pacchetti ]] e collegarsi ad un server [[VPN del GOLEM| VPN]] per accedervi dall'esterno.
+
{{Note
È inoltre utilizzato come appoggio per file ingombranti e/o "semilavorati" che non possono essere spostati sul VPS (ad es. le registrazioni delle [[Ore del GOLEM]] in fase di ritocco).
+
|type=reminder
 +
|text=È in testing la modifica delle regole di routing. La coppia di regole di NAT è stata sostituita con <code>iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE</code>. In questo modo il forwarding ipv4 viene fatto dal default gateway attualmente assegnato tramite DHCP sull'interfaccia WAN enp3s0. Le vecchie regole sono comunque state mantenute, commentate, nel file di configurazione caricato all'avvio.
 +
}}
  
=== Proxy+cacher ===
+
{| class="wikitable"
 +
|+scatolotto
 +
! nic
 +
! addr4
 +
! addr6
 +
! descrizione
 +
|-
 +
| '''enp3s0'''
 +
| xxx.xxx.xxx.xxx/xx
 +
|
 +
| collegata al modem (attualmente, parabola Starlink). IP dinamico sotto NAT.
 +
|-
 +
| '''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
 +
|}
  
La configurazione è spiegata alla pagina [[Apt-cacher]]. Si usa il solo squid per la cache e netmasq come DHCP server (e server DNS) anziché dhcpd.
+
</div>
  
A titolo di reference si riportano i files di configurazione di rilievo, privati dei commenti e già adattati alla presenza della rete wireless condivisa:
+
== porceddu ==
 +
Mikrotik Routerboard RB3011UiAS
  
'''squid - /etc/squid3/squid.conf'''
+
[https://git.golem.linux.it/argilla/router-officina Configurazione]
 
acl SSL_ports port 443
 
acl Safe_ports port 80          # http
 
acl Safe_ports port 21          # ftp
 
acl Safe_ports port 443        # https
 
acl Safe_ports port 70          # gopher
 
acl Safe_ports port 210        # wais
 
acl Safe_ports port 1025-65535  # unregistered ports
 
acl Safe_ports port 280        # http-mgmt
 
acl Safe_ports port 488        # gss-http
 
acl Safe_ports port 591        # filemaker
 
acl Safe_ports port 777        # multiling http
 
acl CONNECT method CONNECT
 
acl our_networks src 192.168.'''xx'''.0/24
 
http_access allow our_networks
 
http_access deny !Safe_ports
 
http_access deny CONNECT !SSL_ports
 
http_access allow localhost manager
 
http_access deny manager
 
http_access allow localhost
 
http_access deny all
 
http_port 192.168.'''xx.yy''':3128 transparent
 
maximum_object_size 400 MB
 
cache_dir ufs /var/spool/squid3 60000 16 256
 
coredump_dir /var/spool/squid3
 
refresh_pattern deb$            1576800 100%    1576800
 
refresh_pattern Packages.gz$    1440    100%    1440
 
refresh_pattern pkg.tar.xz$    43200  100%    43200
 
refresh_pattern ^ftp:          1440    20%    10080
 
refresh_pattern ^gopher:        1440    0%      1440
 
refresh_pattern -i (/cgi-bin/|\?) 0    0%      0
 
refresh_pattern .              360    20%    4320
 
  
'''dnsmasq - /etc/dnsmasq.conf'''
+
NAPT src=192.168.5.0/24 to 192.168.7.1 (''tutto il traffico IPv4 della LAN viene "nattato" e inoltrato a scatolotto'').
 
domain-needed
 
bogus-priv
 
interface=br0
 
dhcp-range=192.168.'''xx'''.101,192.168.'''xx'''.254,12h
 
  
'''script iptables'''
+
{| class="wikitable"
+
|+porceddu
#!/bin/sh
+
! nic
+
! addr4
# IP dello Squid server
+
! addr6
SQUID_SERVER="192.168.'''xx.yy'''"
+
! descrizione
+
|-
# Interface connected to Internet
+
| '''ether1'''
INTERNET="ethE"
+
| 192.168.7.128/24
+
| fe80:.../64
# Interface connected to LAN
+
| collegata a scatolotto point-to-point
LAN_IN="br0"
+
|-
+
| '''bridge-officina'''
# Squid port
+
| 192.168.5.20/24
SQUID_PORT="3128"
+
| 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.
# 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 to ( $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
 
  
Sostituire con '''xx''' ed '''yy''' i parametri di rete corretti.
+
== cassiopea ==
 +
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
 +
|}
  
=== Condivisione rete Wireless ===
+
= History =
 +
Alcune vecchie configurazioni sono disponibili nella [[Discussione:Rete del GOLEM | pagina di discussione]].
  
Per impostare la scheda WiFi in modalità Access Point si fa uso di <code>hostapd</code>.
+
== Legacy ==
Prima di tutto bisogna verificare se la scheda di rete supporta tale modalità
+
* Tanto tempo fa, in un'Officina lontana, la gestione della rete era affidata al serverone, che adesso è stato donato e ne abbiamo perse le tracce;
 
 
# '''iw list'''
 
 
Supported interface modes:
 
    * IBSS
 
    * managed
 
    * AP                <===
 
    * AP/VLAN
 
    * WDS
 
    * monitor
 
    * mesh point
 
 
 
La scheda wireless deve essere esattamente al pari dell'interfaccia ethernet interna (<code>ethI</code>), dunque si legano entrambe in un bridge. In questo modo entrambi i devices saranno visti da squid, iptables, etc.. come un singolo oggetto.
 
 
 
# '''nano /etc/network/interfaces'''
 
 
# Interfaccia di rete esterna
 
allow-hotplug ethE
 
auto ethE
 
iface ethE inet dhcp
 
 
# Interfaccia di rete interna al GOLEM
 
allow-hotplug ethI
 
auto ethI
 
iface ethI inet static
 
        address 0.0.0.0
 
 
# Ponte/Bridge per il WiFi
 
auto br0
 
iface br0 inet static
 
        address '''192.168.xx.yy'''
 
        netmask 255.255.255.0
 
        bridge_ports ethI
 
 
 
Naturalmente in luogo di <code>address 192.168.xx.yy</code> dovrà essere posto l'IP statico del server.
 
Non si inserisce qui l'interfaccia wireless perché sarà <code>hostapd</code> a fare i dovuti settaggi e ad aggiungerla al bridge, operando come segue:
 
 
 
# '''nano /etc/hostapd/hostapd.conf'''
 
 
# Interfaccia di rete
 
interface=wlan0
 
driver=nl80211
 
 
# Nome della rete (SSID)
 
ssid=GOLEM-WiFi
 
hw_mode=g
 
 
# Canale di trasmissione
 
channel=6
 
macaddr_acl=0
 
 
# Righe per la protezione
 
auth_algs=1
 
ignore_broadcast_ssid=0
 
wpa=2
 
 
# Password del WiFi
 
wpa_passphrase=''password''
 
 
wpa_key_mgmt=WPA-PSK
 
wpa_pairwise=TKIP
 
rsn_pairwise=CCMP
 
 
# aggiunge l'interfaccia al bridge
 
bridge=br0
 
 
 
== Fatti storici ==
 
 
 
* 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 [[A10-OLinuXino-LIME | OLinuXino A10 LIME]];
 
* Durante la permanenza temporanea in ex-Ospedale Vecchio si è fatto uso di un [[A10-OLinuXino-LIME | OLinuXino A10 LIME]];
 
* Di ritorno alla Vela, attuale Officina, si è sperimentata una soluzione [[A10-OLinuXino-LIME | OLinuXino ]] + [[VLAN]], ma per praticità di gestione è stata scartata;
 
* Di ritorno alla Vela, attuale Officina, si è sperimentata una soluzione [[A10-OLinuXino-LIME | OLinuXino ]] + [[VLAN]], ma per praticità di gestione è stata scartata;
  
[[Category:Officina]]
+
[[Category:Sysop]]
[[Category:Howto]]
 

Versione attuale delle 10:01, 26 lug 2024

Network-2023-01.png

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

  • Connessione satellitare: col nostro potenziale sponsor Sokom, è in fase di sperimentazione una connessione Starlink (connessione tramite satelliti in orbita bassa, a bassa latenza e alta velocità).
  • Ponte radio: temporaneamente dismesso 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 non-managed 10/100/1000.
  • WLAN: realizzata con tecnologia WiFi. Abbiamo un access point in sala corsi che copre tutta l'officina (Ubiquiti UniFi), in aggiunta ad un ulteriore access point esterno attualmente non configurato.

Apparati

Dove possibile, cerchiamo di utilizzare materiale di recupero. Se potesse, anche il VPS sarebbe di seconda mano. La Routerboard e le due Ubiquiti ci sono state gentilmente offerte da Sokom.

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
wg0 2001:470:c844:100::1 tramite WireGuard fornisce connettività IPv6 alle macchine dell'officina e ai soci del GOLEM;

scatolotto

Lo scopo principale di scatolotto era di realizzare la VPN con OpenVPN, in quanto non supportata dal router Mikrotik. Adesso, con la sperimentazione di WireGuard, la VPN può essere installata direttamente sulla Mikrotik e la necessità di avere scatolotto viene meno.

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=xxx.xxx.xxx.xxx to 192.168.7.128 (tutto il traffico IPv4 passa indisturbato verso porceddu).

Golem-template-note-reminder.png È in testing la modifica delle regole di routing. La coppia di regole di NAT è stata sostituita con iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE. In questo modo il forwarding ipv4 viene fatto dal default gateway attualmente assegnato tramite DHCP sull'interfaccia WAN enp3s0. Le vecchie regole sono comunque state mantenute, commentate, nel file di configurazione caricato all'avvio.


scatolotto
nic addr4 addr6 descrizione
enp3s0 xxx.xxx.xxx.xxx/xx collegata al modem (attualmente, parabola Starlink). IP dinamico sotto NAT.
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

Configurazione

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.

cassiopea

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 adesso è stato donato e ne abbiamo perse le tracce;
  • 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;