redirezione della porta 80

0 views
Skip to first unread message

Piviul

unread,
Oct 4, 2021, 9:20:03 AMOct 4
to
Ciao a tutti, sono molto arrugginito in materia anche perché l'ultima
volta che ho avuto necessità analoghe si utilizzava ancora iptables...

Comunque avrei bisogno di redirezionare tutto il traffico in entrata
sulla porta 80 verso un altro ip, sempre sulla stessa porta. Una volta
impostato come valore di default, da script avrei bisogno di cambiare
l'ip di destinazione ma solo per un breve periodo, poi riportarlo
nuovamente al suo valore di default.

Qualcuno potrebbe darmi un aiutino?

Piviul

Matteo Bini

unread,
Oct 4, 2021, 1:40:03 PMOct 4
to
Ciao Piviul.
Io utilizzerei nftables [1] e farei così.

Aggiungerei le seguenti righe al file di configurazione di nftables
(/etc/nftables.conf):
table inet nat {
chain prerouting {
type nat hook prerouting priority 0;
}
}
Dopodiché scriverei uno script bash di questo tipo:
nft -f /etc/nftables.conf
nft add rule inet nat prerouting tcp dport 80 dnat ip to $IP
Scegli tu come valorizzare la variabile IP. Questo script è per IPv4.

In questo modo, quando viene eseguito lo script, nftables cancella tutte le
regole in memoria e le va a ripescare dal file di configurazione, poi aggiunge
la regola che interessa a te, ovvero il reindirizzamento di tutti i pacchetti
per la porta 80 a un certo IP.

Sulla wiki di nftables ho trovato un esempio simile a quello che ti serve [2].
Saluti.

--
Matteo Bini

[1] https://wiki.nftables.org/
[2] https://wiki.nftables.org/wiki-nftables/index.php/Performing_Network_Address_Translation_(NAT)#Destination_NAT

Piviul

unread,
Oct 5, 2021, 3:10:02 AMOct 5
to
Il 04/10/21 19:38, Matteo Bini ha scritto:
grazie Matteo, sono riuscito anche se non dovrebbe nattare. Ho
installato firewalld come consigliato da debian e utilizzato
firewall-cmd per impostare le regole, veramente molto semplice:

firewall-cmd
--remove-forward-port=port=80:proto=tcp:toport=80:toaddr=$IP_OLD
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=80:toaddr=$IP_NEW

dove IP_OLD lo prendo andando a leggere il risultato di firewall-cmd
--list-forward-ports:

# firewall-cmd --list-forward-ports | sed
's/^port=80:proto=tcp:toport=80:toaddr=//'

Ciao e grazie!

Piviul

Marco Ciampa

unread,
Oct 5, 2021, 4:00:02 AMOct 5
to
sudo apt install redir
man redir

--

Saluton,
Marco Ciampa
Reply all
Reply to author
Forward
0 new messages