Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
m (Configurazione del Server -- minor updates)
 
(4 versioni intermedie di uno stesso utente non sono 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]]
  
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]]
+
* '''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.
  
* '''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;
+
La maggior parte sono di recupero. Se potesse, anche il VPS sarebbe di seconda mano.
* '''LAN''' - Abbiamo a disposizione 12 porte ethernet nelle sale dell'Officina;
 
* '''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 ==
+
== 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);
+
{| class="wikitable"
* PC generico ad uso server (doppia scheda eth);
+
|+golem.linux.it
* Mikrotik RouterBoard b/g/n 2.4 GHz (per WLAN);
+
! nic
* <del>[[A10-OLinuXino-LIME | OLinuXino A10 LIME]]</del>
+
! 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::2
 +
| tramite OpenVPN fornisce connettività IPv6 alle macchine dell'officina e ai soci del GOLEM;
 +
|}
  
 +
== modem.tim ==
 +
{| class="wikitable"
 +
|+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
 +
|
 +
|
 +
|}
  
== 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=192.168.1.128 to 192.168.7.128 (''tutto il traffico IPv4 passa indisturbato verso porceddu'').
  
Nell'attuale configurazione si tratta di un server di recupero:
+
{| class="wikitable"
* CPU: Intel Xeon X3330  @ 2.66GHz
+
|+scatolotto
* RAM: 4 GB
+
! nic
* Hard Disk: 2x 250 GB (RAID1) + 1x 2TB
+
! 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
 +
|}
  
Il suo mestiere è:
+
== porceddu ==
* separare rete interna da rete esterna (router);
+
Mikrotik Routerboard RB3011UiAS
* eseguire il DHCP sulla rete interna (assegnare gli indirizzi IPv4 privati);
 
* 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).
+
NAPT src=192.168.5.0/24 to 192.168.7.1 (''tutto il traffico IPv4 della LAN viene "nattato" e inoltrato a scatolotto'').
  
=== Proxy+cacher ===
+
{| 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.
 +
|}
  
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.
+
== serverozzo ==
 +
Server di recupero.
 +
{| class="wikitable"
 +
|+ hardware
 +
| CPU
 +
| Intel Xeon X3330  @ 2.66GHz
 +
|-
 +
| RAM
 +
| 6 GiB
 +
|-
 +
| SO
 +
| Debian 10
 +
|}
  
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"
 +
|+dischi
 +
! disk
 +
! size
 +
! descrizione
 +
|-
 +
|
 +
| 230 GiB
 +
| sistema operativo
 +
|-
 +
| md0 (2x 300GiB)
 +
| 300 GiB
 +
| RAID1 software, videoregistrazioni, backup VPS, ...
 +
|}
  
'''squid - /etc/squid3/squid.conf'''
+
== andromeda ==
+
{| class="wikitable"
acl SSL_ports port 443
+
|+ hardware
acl Safe_ports port 80          # http
+
| CPU
acl Safe_ports port 21          # ftp
+
| Intel Xeon E5504 @ 2.00GHz (dual socket)
acl Safe_ports port 443        # https
+
|-
acl Safe_ports port 70          # gopher
+
| RAM
acl Safe_ports port 210        # wais
+
| 12 GiB
acl Safe_ports port 1025-65535  # unregistered ports
+
|-
acl Safe_ports port 280        # http-mgmt
+
| SO
acl Safe_ports port 488        # gss-http
+
| Proxmox
acl Safe_ports port 591        # filemaker
+
|-
acl Safe_ports port 777        # multiling http
+
| Disk
acl CONNECT method CONNECT
+
| (3x 500GiB) RAID5 hardware
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'''
+
= 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'''
 
 
#!/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 ==
 
  
 +
== Legacy ==
 
* Tanto tempo fa, in un'Officina lontana, la gestione della rete era affidata al serverone, che ora giace defunto nel magazzino;
 
* 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 15:03, 10 ott 2020

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.

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::2 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 Debian 10
dischi
disk size descrizione
230 GiB sistema operativo
md0 (2x 300GiB) 300 GiB RAID1 software, videoregistrazioni, backup VPS, ...

andromeda

hardware
CPU Intel Xeon E5504 @ 2.00GHz (dual socket)
RAM 12 GiB
SO Proxmox
Disk (3x 500GiB) RAID5 hardware

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;