Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
Jump to navigation Jump to search
(Riportata riconfigurazione della rete, spostata parte VLAN)
(8 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 fase di testing.
 
  
== 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 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 ==
+
= Apparati =
* Antenne per ponte radio e relativi router;
+
La maggior parte sono di recupero. Se potesse, anche il VPS sarebbe di seconda mano.
* Switch Allied Telesyn (24 porte);
 
* PC generico ad uso server (doppia scheda eth, scheda wireless b/g);
 
* <del>Mikrotik RouterBoard 433 (per WLAN)</del>
 
* <del>[[A10-OLinuXino-LIME | OLinuXino A10 LIME]]</del>
 
  
== Configurazione del Server ==
+
== golem.linux.it ==
 +
VPS presso OVH.
 +
{| 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::2
 +
| tramite OpenVPN fornisce connettività IPv6 alle macchine dell'officina e ai soci del GOLEM;
 +
|}
  
Nell'attuale configurazione si tratta di comune PC:
+
== modem.tim ==
* CPU: P4 @ 2.40GHz
+
{| class="wikitable"
* RAM: 1Gb
+
|+modem.tim
* Hard Disk: 250 Gb
+
! 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
 +
|
 +
|
 +
|}
  
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.
+
== 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.
  
=== Proxy+cacher ===
+
NAT dst=192.168.1.128 to 192.168.7.128 (''tutto il traffico IPv4 passa indisturbato verso porceddu'').
  
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.
+
{| class="wikitable"
 +
|+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
 +
|}
  
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'''
+
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'''
+
== serverozzo ==
+
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"
+
| Debian 10
+
|}
# 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.
+
{| class="wikitable"
 +
|+dischi
 +
! disk
 +
! size
 +
! descrizione
 +
|-
 +
|
 +
| 230 GiB
 +
| sistema operativo
 +
|-
 +
| md0 (2x 300GiB)
 +
| 300 GiB
 +
| RAID1 software, videoregistrazioni, backup VPS, ...
 +
|}
  
=== Condivisione rete Wireless ===
+
== andromeda ==
 +
{| class="wikitable"
 +
|+ hardware
 +
| CPU
 +
| Intel Xeon E5504 @ 2.00GHz (dual socket)
 +
|-
 +
| RAM
 +
| 12 GiB
 +
|-
 +
| SO
 +
| Proxmox
 +
|-
 +
| Disk
 +
| (3x 500GiB) RAID5 hardware
 +
|}
  
Per impostare la scheda WiFi in modalità Access Point si fa uso di <code>hostapd</code>.
+
= History =
Prima di tutto bisogna verificare se la scheda di rete supporta tale modalità
+
Alcune vecchie configurazioni sono disponibili nella [[Discussione:Rete del GOLEM | pagina di discussione]].
 
 
# '''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 delle 14: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;