Il serverone e il server di posta elettronica

Golem - novembre 2025

Leandro

Created: 2025-11-25 mar 13:59

Il serverone del Flug

Premessa

Questa presentazione per mostrare come abbiamo organizzato la presenza in rete del nostro gruppo basandosi su pochi mezzi e basse spese, potendo contare sulla disponibilità di spazio e di competenze tecniche.

Anche come forma di “ringraziamento” al Golem per la messa a disponibilità dell’hardware.

Il serverone del Flug

Breve cronaca

L’attuale configurazione del Flug ha ripreso l’attività nel giugno 2023 trovando presto anche l’appoggio del Golem.

Presto è sorta l’esigenza di ritagliarsi uno spazio riservato per poter fare i propri balocchi in libertà e quindi abbiamo pensato di attivare un nostro server autogestito che potesse essere considerato sicuro (almeno rispetto ad attacchi fisici), avesse bassi costi di gestione e di acquisto.

Questo a ragione delle condizioni del gruppo che ci sta dietro:

  • gruppo composto da relativamente poche persone
  • buone competenze tecniche generali e quindi la gestione del computer poteva essere condivisa
  • scarsa disponibilità economica
Il serverone del Flug

Quello che vogliamo ottenere

  • autogestione per quanto possibile
  • possibilità di sperimentare da parte di tutte le persone coinvolte nella gestione
  • preservare la riservatezza per quanto possibile dei dati presenti (attualmente credo ancora molto pochi)
Il serverone del Flug

La soluzione

  • tenere quanto possibile in ambito privato
  • e quindi necessariamente ridurre per quanto possibile comuni ed ingombro
Il serverone del Flug

Struttura

Il serverone del Flug

Virtual Private Server (VPS)

VPS (provider gandi) per poter usare un ip statico di buona qualità

VPS con configurazione minima e quindi come spesa

Ma lo stesso è la maggiore voce di spesa attualmente

Il serverone del Flug

VPN

Fa girare una vpn (wireguard) con regole di iptables che “girano” le connessioni verso determinate porte verso l’altro capo della vpn e rifiutano le altre

Esempi di regole di nftables

iptables -A FORWARD -i Flug -j ACCEPT; 
iptables -t nat -A POSTROUTING -o enX0 -j MASQUERADE; 
ip6tables -A FORWARD -i Flug -j ACCEPT; 
ip6tables -t nat -A POSTROUTING -o enX0 -j MASQUERADE; 

# icmp
iptables -A INPUT -p icmp -j ACCEPT;
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT; 
  
# server coraggio ssh e mosh
iptables -t nat -A PREROUTING -i enX0 -p tcp --dport 222 -j DNAT --to-destination 10.8.8.2:22
iptables -t nat -A PREROUTING -i enX0 -p udp --dport 60001 -j DNAT --to-destination 10.8.8.2:22

L’uso della vpn ci permette anche di poter spostare fisicamente il server vero e proprio quando se ne presenti l’occasione o necessità

Il serverone del Flug

Server DNS

Fa girare il server DNS (yadifa) che fa da DNS autoritativo per il dominio firenze.linux.it

Il serverone del Flug

Serverone

Nella ricerca della soluzione hardware a suo tempo intervenne il Golem offrendoci due soluzioni

La scelta è stata per questo

serverone.jpg

Il serverone del Flug

Software

Debian stabile AMD64

Uso di pacchetti ufficiali per quanto possibile

Il serverone del Flug

Hardware

System:
  Host: coraggio Kernel: 6.1.0-41-amd64 arch: x86_64 bits: 64 Console: pty pts/1 Distro: Debian
    GNU/Linux 12 (bookworm)
Machine:
  Type: Desktop Mobo: PC Engines model: APU v: 1.0 serial: <superuser required> BIOS: coreboot
    v: 4.0 date: 09/08/2014
CPU:
  Info: dual core model: AMD G-T40E bits: 64 type: MCP cache: L2: 1024 KiB
  Speed (MHz): avg: 1000 min/max: 800/1000 cores: 1: 1000 2: 1000
Graphics:
  Message: No PCI device data found.
Audio:
  Message: No device data found.
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
  IF: enp1s0 state: up speed: 1000 Mbps duplex: full mac:
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
  IF: enp2s0 state: down mac:
  Device-3: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
  IF: enp3s0 state: down mac:
  IF-ID-1: Flug state: unknown speed: N/A duplex: N/A mac: N/A
  IF-ID-2: GolemIPv6 state: unknown speed: N/A duplex: N/A mac: N/A
  IF-ID-3: wg0 state: unknown speed: N/A duplex: N/A mac: N/A
Drives:
  Local Storage: total: 43.57 GiB used: 9.34 GiB (21.4%)
  ID-1: /dev/sda model: SATA SSD size: 14.91 GiB
  ID-2: /dev/sdb type: USB vendor: SanDisk model: Ultra Fit size: 28.65 GiB
Partition:
  ID-1: / size: 13.64 GiB used: 8.84 GiB (64.8%) fs: ext4 dev: /dev/sda1
Swap:
  ID-1: swap-1 type: partition size: 976 MiB used: 180.8 MiB (18.5%) dev: /dev/sda5
Sensors:
  System Temperatures: cpu: 66.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 166 Uptime: 4d 18h 49m Memory: 1.89 GiB used: 727.6 MiB (37.6%) Init: systemd
  target: graphical (5) Shell: Zsh inxi: 3.3.26
Il serverone del Flug

Processore

CPU: dual core AMD G-T40E (-MCP-) speed/min/max: 902/800/1000 MHz Kernel: 6.1.0-41-amd64 x86_64
Il serverone del Flug

Memoria

➜  ~ free -h
               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       664Mi       154Mi        30Mi       1.3Gi       1.2Gi
Swap:          975Mi       154Mi       821Mi
Il serverone del Flug

Dischi

➜  ~ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              14G  8.8G  4.2G  69% /
/dev/mapper/UsBackup   29G  296M   27G   2% /var/backups/flug

Lo spazio disponibile è evidentemente poco e quindi abbiamo pensato al progetto spinosauro (tutt’ora coperto da segreto industriale)

Il serverone del Flug

Uptime

➜  ~ tuptime
System startups:        47  since  22:36:27 09/05/24
System shutdowns:       35 ok  +  11 bad
System life:            1yr 79d 20h 11m 57s

Longest uptime:         50d 5h 20m 8s  from  10:15:37 10/04/24
Average uptime:         9d 11h 5m 14s
System uptime:          99.97%  =  1yr 79d 17h 6m 20s

Longest downtime:       1h 30m 12s  from  12:45:02 06/29/25
Average downtime:       4m 2s
System downtime:        0.03%  =  3h 5m 37s

Current uptime:         2d 6h 32m 10s  since  11:16:14 11/22/25
Il serverone del Flug

Servizi

  • xmpp (prosody)
  • gemini (gmid)
  • web (nginx) con wordpress per il sito del gruppo
  • smtp (opensmtpd)
  • imap (dovecot)
  • ssh (sshd)
  • cvs (breezy)

Più altre piccole cose sperimentali (bridge fra xmpp e matrix, cartella personale per gli utenti con indirizzo web ~/utente)

Il serverone del Flug

Idee future

  • accesso in IPV6 usando la classe di indirizzi dal provider del VPS
    • servizi “personali” raggiungibili ad indirizzi IPV6 specifici
    • dare connessione IPV6
  • cambiare il firewall per usare nftables
  • superare il problema dello spazio disco con il progetto spinosauro (dopo il primo fallimento hardware)
  • portare il sito anche su ipfs, i2p e gopher
  • iscrivetevi al flug, proponete e realizzate
Il serverone del Flug

Elenco delle spese

A partire da maggio 2024

 514.10 €  Attivo:FlugBank
-665.00 €  Entrate:Donazioni
 150.90 €  Spese
  50.00 €    :Eventi:LinuxDay
 100.90 €    Hosting:Serverone