Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
Jump to navigation Jump to search
(→‎scatolotto: regole iptables aggiornate su scatolotto)
 
(14 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
 +
|-
 +
| '''tun0'''
 +
|
 +
| 2001:470:c844::11
 +
| tramite OpenVPN 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.
+
SBC AMD GX-412TC SOC.
* Ponte radio 2.4 GHz 300Mbps. Velocità effettiva: 36Mbps down/up full duplex (''da ri-misurare'' e comunque variabile dipendentemente da fenomeni atmosferici)
+
Monta una Debian minimale su SD read-only. La configurazione si resetta ad ogni avvio.
* Rete Ethernet 100Mbps. Velocità effettiva: 100Mbps fulle duplex.
+
Per cambiarla in maniera permanente, fermare GRUB da seriale e rimuovere ''fsprotect'' dalla command line del kernel.
* Rete WLAN Mikrotik: 300Mbps. Velocità misurata: 100Mbps (''da provare con dispositivi wireless n'')
 
  
== Configurazione del Server ==
+
NAT dst=xxx.xxx.xxx.xxx to 192.168.7.128 (''tutto il traffico IPv4 passa indisturbato verso porceddu'').
  
Nell'attuale configurazione si tratta di un server di recupero:
+
{{Note
* CPU: Intel Xeon X3330  @ 2.66GHz
+
|type=reminder
* RAM: 4 GB
+
|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.
* 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.
+
{| class="wikitable"
È 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).
+
|+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 ===
+
== porceddu ==
 +
Mikrotik Routerboard RB3011UiAS
  
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.
+
NAPT src=192.168.5.0/24 to 192.168.7.1 (''tutto il traffico IPv4 della LAN viene "nattato" e inoltrato a scatolotto'').
  
A titolo di reference si riportano i files di configurazione di rilievo, privati dei commenti e già adattati alla presenza della rete wireless condivisa:
+
{| 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.
 +
|}
  
'''squid - /etc/squid3/squid.conf'''
+
== cassiopea ==
+
Server di recupero.
acl SSL_ports port 443
+
{| class="wikitable"
acl Safe_ports port 80          # http
+
|+ hardware
acl Safe_ports port 21          # ftp
+
| CPU
acl Safe_ports port 443        # https
+
| Intel Xeon X3330 @ 2.66GHz
acl Safe_ports port 70          # gopher
+
|-
acl Safe_ports port 210        # wais
+
| RAM
acl Safe_ports port 1025-65535  # unregistered ports
+
| 6 GiB
acl Safe_ports port 280        # http-mgmt
+
|-
acl Safe_ports port 488        # gss-http
+
| SO
acl Safe_ports port 591        # filemaker
+
| Proxmox
acl Safe_ports port 777        # multiling http
+
|-
acl CONNECT method CONNECT
+
| Disk
acl our_networks src 192.168.'''xx'''.0/24
+
| (RAID1 2x 250GiB) = 250GiB, OS + (2x (2x 500 GiB)) = 2TiB, storage VM
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'''
+
= History =
+
Alcune vecchie configurazioni sono disponibili nella [[Discussione:Rete del GOLEM | pagina di discussione]].
domain-needed
 
bogus-priv
 
interface=br0
 
dhcp-range=192.168.'''xx'''.101,192.168.'''xx'''.254,12h
 
  
'''script iptables'''
+
== 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;
#!/bin/sh
 
 
# IP dello Squid server
 
SQUID_SERVER="192.168.'''xx.yy'''"
 
 
# Interface connected to Internet
 
INTERNET="ethE"
 
 
# Interface connected to LAN
 
LAN_IN="br0"
 
 
# 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 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.
 
 
 
=== Condivisione rete Wireless ===
 
 
 
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 20:17, 21 mar 2023

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

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=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

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;