Differenze tra le versioni di "Rete del GOLEM"

Da GolemWiki.
Jump to navigation Jump to search
(Riportata riconfigurazione della rete, spostata parte VLAN)
 
(20 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]]
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;
+
* '''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à).
* '''LAN''' - Abbiamo a disposizione 12 porte ethernet nelle sale dell'Officina;
+
* '''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>
* '''WiFi interna''' - Oltre alla Ethernet LAN servirà un ulteriore dispositivo per la connessione tramite dispositivi wireless (WLAN);
+
* '''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.
* '''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.
+
* '''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.
  
== Materiali a disposizione ==
+
= Apparati =
* Antenne per ponte radio e relativi router;
+
Dove possibile, cerchiamo di utilizzare materiale di recupero. Se potesse, anche il VPS sarebbe di seconda mano.
* Switch Allied Telesyn (24 porte);
+
La Routerboard e le due Ubiquiti ci sono state gentilmente offerte da Sokom.
* 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 ==
+
== atena.golem.linux.it ==
 +
VPS presso OVH.
  
Nell'attuale configurazione si tratta di comune PC:
+
{| class="wikitable"
* CPU: P4 @ 2.40GHz
+
|+golem.linux.it
* RAM: 1Gb
+
! nic
* Hard Disk: 250 Gb
+
! 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;
 +
|}
  
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 ==
 +
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.
  
=== Proxy+cacher ===
+
<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.
  
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.
+
NAT dst=xxx.xxx.xxx.xxx to 192.168.7.128 (''tutto il traffico IPv4 passa indisturbato verso porceddu'').
  
A titolo di reference si riportano i files di configurazione di rilievo, privati dei commenti e già adattati alla presenza della rete wireless condivisa:
+
{{Note
 +
|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.
 +
}}
  
'''squid - /etc/squid3/squid.conf'''
+
{| class="wikitable"
+
|+scatolotto
acl SSL_ports port 443
+
! nic
acl Safe_ports port 80          # http
+
! addr4
acl Safe_ports port 21          # ftp
+
! addr6
acl Safe_ports port 443        # https
+
! descrizione
acl Safe_ports port 70          # gopher
+
|-
acl Safe_ports port 210        # wais
+
| '''enp3s0'''
acl Safe_ports port 1025-65535  # unregistered ports
+
| xxx.xxx.xxx.xxx/xx
acl Safe_ports port 280        # http-mgmt
+
|
acl Safe_ports port 488        # gss-http
+
| collegata al modem (attualmente, parabola Starlink). IP dinamico sotto NAT.
acl Safe_ports port 591        # filemaker
+
|-
acl Safe_ports port 777        # multiling http
+
| '''tun0'''
acl CONNECT method CONNECT
+
|
acl our_networks src 192.168.'''xx'''.0/24
+
| 2001:470:c844::200
http_access allow our_networks
+
| tunnel OpenVPN verso golem.linux.it per connettività IPv6
http_access deny !Safe_ports
+
|-
http_access deny CONNECT !SSL_ports
+
| '''enp2s0'''
http_access allow localhost manager
+
| 192.168.7.1/24
http_access deny manager
+
| fe80:.../64
http_access allow localhost
+
| collegata al router point-to-point
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'''
+
</div>
 
domain-needed
 
bogus-priv
 
interface=br0
 
dhcp-range=192.168.'''xx'''.101,192.168.'''xx'''.254,12h
 
  
'''script iptables'''
+
== porceddu ==
+
Mikrotik Routerboard RB3011UiAS
#!/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.
+
[https://git.golem.linux.it/argilla/router-officina Configurazione]
  
=== Condivisione rete Wireless ===
+
NAPT src=192.168.5.0/24 to 192.168.7.1 (''tutto il traffico IPv4 della LAN viene "nattato" e inoltrato a scatolotto'').
  
Per impostare la scheda WiFi in modalità Access Point si fa uso di <code>hostapd</code>.
+
{| class="wikitable"
Prima di tutto bisogna verificare se la scheda di rete supporta tale modalità
+
|+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.
 +
|}
  
  # '''iw list'''
+
== cassiopea ==
+
Server di recupero.
Supported interface modes:
+
{| class="wikitable"
    * IBSS
+
|+ hardware
    * managed
+
| CPU
    * AP                <===
+
| Intel Xeon X3330 @ 2.66GHz
    * AP/VLAN
+
|-
    * WDS
+
| RAM
    * monitor
+
| 6 GiB
    * mesh point
+
|-
 +
| SO
 +
| Proxmox
 +
|-
 +
| Disk
 +
| (RAID1 2x 250GiB) = 250GiB, OS + (2x (2x 500 GiB)) = 2TiB, storage VM
 +
|}
  
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.
+
= History =
 +
Alcune vecchie configurazioni sono disponibili nella [[Discussione:Rete del GOLEM | pagina di discussione]].
  
# '''nano /etc/network/interfaces'''
+
== 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;
# 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;