persiste il routing delle porte da 80 a 8080


23

Uso l'istanza di Amazon EC2 che funziona tramite Ubuntu. Per impostazione predefinita, in base alle restrizioni di sicurezza, non riesco a collegare la mia applicazione alla porta 80, quindi devo solo collegarla alla porta 8080 e quindi impostare il reindirizzamento del routing dalla porta 80 a 8080 tramite il comando seguente:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

Ma ho scoperto che quando riavvio il server queste impostazioni non sono più attive fino a quando invoco di nuovo questo comando.

Quindi la mia domanda è: come abilitare il lavoro di reindirizzamento delle porte anche se il sistema è stato riavviato?

Risposte:


18

È possibile aggiungere questo comando in /etc/rc.local, quindi verrà eseguito automaticamente dopo il riavvio.


Già fatto, ma grazie ancora per la risposta
Ph0en1x,

benvenuto amico mio, è un bel trucco
nux

2
Funziona, ma la vera risposta è la risposta di @ MeOMy di seguito.
Dirk Groeneveld,

15

Utilizzare invece il comando iptables-save. Le regole del firewall non dovrebbero mai andare nello script rc.local. rc.local è l'ultima cosa da eseguire. Se una regola di blocco è stata inserita in rc.local c'è un piccolo lasso di tempo in cui un attaccante può sfruttare una regola che non è in atto. Anche se probabilmente non importa con questa situazione, è comunque meglio non prendere una cattiva abitudine che potrebbe morderti in seguito.


1
ha eseguito "sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080" e "sudo iptables-save". Ma il routing è stato ripristinato al riavvio. Ho frainteso come fare questo?
gromit190,

2
La risposta è incompleta iptables-save > some-file-pathsalva le regole e quindi le ripristineresti tramite iptables-restore < some-file-pathin rc.local. Oppure installa ciò iptables-persistentche fa durante l'avvio come servizio.
Thomas Ward

Mi piacerebbe capire come farlo. Sii più specifico, per favore
gromit190,

4

Ecco come ci insegna la documentazione ufficiale di ipttable. Vedere qui

Aggiungi queste due linee in / etc / network / interfaces:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules

La riga "post-down iptables-save> /etc/iptables.rules" salverà le regole da utilizzare al prossimo avvio.


Complimenti per l'utilizzo del metodo ufficialmente raccomandato e, in questo caso, il metodo più semplice, per completare questa attività. Farei +2 se potessi usando il metodo KISS.
DeeJayh,

0

Ho scoperto una serie di directory su Ubuntu 16.04 in /etc/networkcui verranno eseguiti gli script in varie occasioni durante l'inizializzazione e l'arresto della rete:

if-down.d
if-post-down.d  
if-pre-up.d  
if-up.d
interfaces.d

Quindi ho scoperto che avrei potuto scaricare la configurazione come al solito:

$ sudo sh -c "iptables-save > /etc/iptables.rules"

Quindi ho creato un file `/etc/network/if-pre-up.d/restore:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... e lo ha contrassegnato come eseguibile

$ sudo chmod 755 /etc/network/if-pre-up.d/restore
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.