Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
Jump to navigation Jump to search
 
(16 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: 2x 250 GB (RAID1) + 1x 2TB
 
  
−
Il suo mestiere è:
+
{{Note
−
* separare rete interna da rete esterna (router);
+
|type=reminder
−
* eseguire il DHCP sulla rete interna (assegnare gli indirizzi IPv4 privati);
+
|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.
−
* condividere la rete wireless;
+
}}
−
* fare la [[ Apt-cacher | cache dei pacchetti ]] e di un po' tutto quello che passa su HTTP;
 
−
* collegarsi ad un server [[VPN del GOLEM| VPN]] per accedervi dall'esterno;
 
−
* collegarsi al nostro tunnel [[IPv6 @ GOLEM | IPv6]] e fare da gateway verso il futuro;
 
  
−
È 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).
+
{| 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
 +
|}
  
−
=== Proxy+cacher ===
+
</div>
  
−
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.
+
== porceddu ==
 +
Mikrotik Routerboard RB3011UiAS
  
−
A titolo di reference si riportano i files di configurazione di rilievo, privati dei commenti e già adattati alla presenza della rete wireless condivisa:
+
[https://git.golem.linux.it/argilla/router-officina Configurazione]
  
−
'''squid - /etc/squid3/squid.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'').
−
 
−
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'''
+
{| class="wikitable"
−
+
|+porceddu
−
domain-needed
+
! nic
−
bogus-priv
+
! addr4
−
interface=br0
+
! addr6
−
dhcp-range=192.168.'''xx'''.101,192.168.'''xx'''.254,12h
+
! 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.
 +
|}
  
−
'''script iptables'''
+
== cassiopea ==
−
+
Server di recupero.
−
#!/bin/sh
+
{| class="wikitable"
−
+
|+ hardware
−
# IP dello Squid server
+
| CPU
−
SQUID_SERVER="192.168.'''xx.yy'''"
+
| Intel Xeon X3330 @ 2.66GHz
−
+
|-
−
# Interface connected to Internet
+
| RAM
−
INTERNET="ethE"
+
| 6 GiB
−
+
|-
−
# Interface connected to LAN
+
| SO
−
LAN_IN="br0"
+
| Proxmox
−
+
|-
−
# Squid port
+
| Disk
−
SQUID_PORT="3128"
+
| (RAID1 2x 250GiB) = 250GiB, OS + (2x (2x 500 GiB)) = 2TiB, storage VM
−
+
|}
−
# 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.
+
= History =
 +
Alcune vecchie configurazioni sono disponibili nella [[Discussione:Rete del GOLEM | pagina di discussione]].
  
−
=== Condivisione rete Wireless ===
+
== 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;
−
Per impostare la scheda WiFi in modalità Access Point si fa uso di <code>hostapd</code>.
 
−
Prima di tutto bisogna verificare se la scheda di rete supporta tale modalità
 
−
 
 
−
# '''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;