Port forwarding con Rinetd
Reindirizzamento semplice del traffico TCP su VPS e server dedicati.
Rinetd è un proxy TCP leggero a processo singolo che inoltra le connessioni da un indirizzo IP e una porta a un altro. È la soluzione ideale per VPS e server dedicati quando hai bisogno di:
- inoltrare una porta pubblica verso un server o servizio interno
- eseguire più servizi sulla stessa porta pubblica
- fornire accesso a servizi dietro NAT o in una rete privata
- configurare rapidamente il port forwarding senza regole iptables complesse
Rinetd utilizza I/O non bloccanti e gira come processo singolo, gestendo così un elevato numero di connessioni simultanee con un impatto minimo sul server.
Installare Rinetd
Ubuntu / Debian:
sudo apt update
sudo apt install rinetd -y
CentOS / RHEL / AlmaLinux / Rocky:
sudo yum install rinetd -y
# oppure
sudo dnf install rinetd -y
Configurare il port forwarding
- Apri il file di configurazione:
sudo nano /etc/rinetd.conf
- Aggiungi le regole di inoltro in fondo al file nel seguente formato:
public_IP external_port internal_IP internal_port
Esempio (inoltro da un IP pubblico a più server interni):
85.85.85.85 12341 192.168.1.5 1234
85.85.85.85 12342 192.168.1.6 1234
85.85.85.85 12343 192.168.1.7 1234
85.85.85.85 12344 192.168.1.8 1234
85.85.85.85 12345 192.168.1.9 1234
- Colonna 1: IP pubblico su cui il server è in ascolto (o
0.0.0.0per tutte le interfacce) - Colonna 2: porta esterna su cui rinetd è in ascolto
- Colonna 3: IP interno a cui inoltrare il traffico
- Colonna 4: porta interna sulla macchina di destinazione
Usa gli spazi (non le tabulazioni) tra le colonne. Aggiungi una riga per ogni regola di inoltro. Salva il file (Ctrl+O → Invio → Ctrl+X).
I nostri prodotti e servizi
- Riavvia rinetd per applicare le modifiche:
sudo systemctl restart rinetd
# oppure
sudo service rinetd restart
Verificare il funzionamento
- Controlla che il servizio sia in esecuzione:
sudo systemctl status rinetd
- Visualizza le porte su cui rinetd è in ascolto:
sudo ss -tuln | grep rinetd
oppure
sudo netstat -tuln | grep rinetd
- Testa l'inoltro:
- Connettiti dall'esterno al tuo IP pubblico sulla porta 12341 → il traffico deve raggiungere 192.168.1.5:1234
- Usa
telnet,nc(netcat) o qualsiasi altro client per verificare.
Note utili
- Per impostazione predefinita, rinetd non registra nulla. Per abilitare il logging, aggiungi in
/etc/rinetd.conf:
log /var/log/rinetd.log
- Per limitare l'accesso a specifici IP sorgente, usa le regole
iptablesofirewall-cmdprima di rinetd. - Sotto carico molto elevato (migliaia di connessioni), rinetd può consumare una quantità significativa di memoria — monitora con
topohtop. - Alternative: socat, iptables DNAT, HAProxy, modulo stream di NGINX — rinetd resta però la soluzione più semplice e leggera per il port forwarding di base.
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!