Networking · 4 min read · Jan 15, 2026
Port-Forwarding Con rinetd Su Debian Etch
Port-Forwarding Con rinetd Su Debian Etch
Versione 1.0
Autore: Falko Timme
Questo articolo mostra come è possibile effettuare il port-forwarding con rinetd su Debian Etch. rinetd consente di inoltrare porte da un sistema a un altro. Questo è utile se hai spostato i tuoi siti web su un nuovo server con un indirizzo IP diverso. Naturalmente, hai modificato i tuoi record DNS, ma potrebbero volerci alcuni giorni affinché le modifiche DNS diventino effettive, ed è qui che entra in gioco rinetd. Se i client utilizzano ancora i vecchi record DNS, rinetd può reindirizzarli al nuovo server. Con rinetd, non devi preoccuparti delle regole iptables.
Non fornisco alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
In questo esempio sto cercando di reindirizzare il traffico HTTP (porta 80) dall’indirizzo IP 192.168.0.101 all’indirizzo IP 192.168.0.100.
Si prega di notare che rinetd non è in grado di reindirizzare FTP perché FTP richiede più di un socket.
2 Installazione e Configurazione di rinetd
Per installare rinetd, eseguiamo semplicemente
apt-get install rinetd
Il file di configurazione di rinetd è /etc/rinetd.conf. Per inoltrare il traffico HTTP da 192.168.0.101 a 192.168.0.100, aggiungiamo la riga 192.168.0.101 80 192.168.0.100 80:
vi /etc/rinetd.conf
| # # questo è il file di configurazione per rinetd, il server di reindirizzamento internet # # puoi specificare regole globali di autorizzazione e negazione qui # solo gli indirizzi IP sono abbinati, i nomi host non possono essere specificati qui # i caratteri jolly che puoi usare sono * e ? # # consenti 192.168.2.* # nega 192.168.2.1? # # le regole di inoltro vengono qui # # puoi specificare regole di autorizzazione e negazione dopo una specifica regola di inoltro # per applicare solo a quella regola di inoltro # # indirizzo di binding porta di binding indirizzo di connessione porta di connessione 192.168.0.101 80 192.168.0.100 80 # informazioni di registrazione logfile /var/log/rinetd.log # decommenta la seguente riga se desideri un formato di logfile in stile web-server # logcommon |
Poi riavviamo rinetd:
/etc/init.d/rinetd restart
Ora esegui
netstat -tap
e dovresti vedere che rinetd sta ascoltando sulla porta 80 ( www):
server2:~# netstat -tap
Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo Locale Indirizzo Estero Stato PID/Nome Programma
tcp 0 0 :sunrpc : LISTEN 1956/portmap
tcp 0 0 server2.example.com:www : LISTEN 2485/rinetd
tcp 0 0 :3025 : LISTEN 2347/rpc.statd
tcp 0 0 :auth : LISTEN 2306/inetd
tcp 0 0 localhost.localdom:smtp : LISTEN 2294/exim4
tcp6 0 0 :ssh : LISTEN 2326/sshd
tcp6 0 0 server2.example.com:ssh ::ffff:192.168.0.3:4776 ESTABLISHED2409/0
server2:~#
Ora, quando indirizzi il tuo browser a una pagina web sull’indirizzo IP 192.168.0.101, dovrebbe ricevere quella pagina dal server con l’indirizzo IP 192.168.0.100.
Invece di specificare i numeri di porta in /etc/rinetd.conf, puoi anche utilizzare i nomi dei servizi. I nomi dei servizi sono memorizzati in /etc/services, quindi quando apri quel file, vedrai che il servizio per la porta 80 è chiamato www su Debian.
grep 80 /etc/services
server2:~# grep 80 /etc/services
www 80/tcp http # WorldWideWeb HTTP
www 80/udp # HyperText Transfer Protocol
socks 1080/tcp # socks proxy server
socks 1080/udp
amanda 10080/tcp # amanda backup services
amanda 10080/udp
omirr 808/tcp omirrd # online mirror
omirr 808/udp omirrd
canna 5680/tcp # cannaserver
zope-ftp 8021/tcp # zope management by ftp
webcache 8080/tcp # WWW caching service
tproxy 8081/tcp # Transparent Proxy
omniorb 8088/tcp # OmniORB
omniorb 8088/udp
server2:~#
Quindi potresti usare la seguente configurazione in /etc/rinetd.conf, ha lo stesso effetto della prima:
vi /etc/rinetd.conf
| # # questo è il file di configurazione per rinetd, il server di reindirizzamento internet # # puoi specificare regole globali di autorizzazione e negazione qui # solo gli indirizzi IP sono abbinati, i nomi host non possono essere specificati qui # i caratteri jolly che puoi usare sono * e ? # # consenti 192.168.2.* # nega 192.168.2.1? # # le regole di inoltro vengono qui # # puoi specificare regole di autorizzazione e negazione dopo una specifica regola di inoltro # per applicare solo a quella regola di inoltro # # indirizzo di binding porta di binding indirizzo di connessione porta di connessione 192.168.0.101 www 192.168.0.100 www # informazioni di registrazione logfile /var/log/rinetd.log # decommenta la seguente riga se desideri un formato di logfile in stile web-server # logcommon |
E per far sì che rinetd ascolti su tutti gli indirizzi IP configurati sul sistema in cui è installato, possiamo usare 0.0.0.0 come indirizzo di binding:
vi /etc/rinetd.conf
| # # questo è il file di configurazione per rinetd, il server di reindirizzamento internet # # puoi specificare regole globali di autorizzazione e negazione qui # solo gli indirizzi IP sono abbinati, i nomi host non possono essere specificati qui # i caratteri jolly che puoi usare sono * e ? # # consenti 192.168.2.* # nega 192.168.2.1? # # le regole di inoltro vengono qui # # puoi specificare regole di autorizzazione e negazione dopo una specifica regola di inoltro # per applicare solo a quella regola di inoltro # # indirizzo di binding porta di binding indirizzo di connessione porta di connessione 0.0.0.0 80 192.168.0.100 80 # informazioni di registrazione logfile /var/log/rinetd.log # decommenta la seguente riga se desideri un formato di logfile in stile web-server # logcommon |
Dopo aver riavviato rinetd…
/etc/init.d/rinetd restart
… rinetd dovrebbe ora ascoltare su tutte le interfacce ( *:www):
netstat -tap
server2:~# netstat -tap
Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo Locale Indirizzo Estero Stato PID/Nome Programma
tcp 0 0 :sunrpc : LISTEN 1956/portmap
**tcp 0 0 :www : LISTEN 2503/rinetd*
tcp 0 0 :3025 : LISTEN 2347/rpc.statd
tcp 0 0 :auth : LISTEN 2306/inetd
tcp 0 0 localhost.localdom:smtp : LISTEN 2294/exim4
tcp 0 0 server2.example.com:www 192.168.0.3:4798 TIME_WAIT -
tcp6 0 0 :ssh : LISTEN 2326/sshd
tcp6 0 148 server2.example.com:ssh ::ffff:192.168.0.3:4776 ESTABLISHED2409/0
server2:~#
3 Link
- rinetd: http://www.boutell.com/rinetd
- Debian: http://www.debian.org
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.