persistir roteamento de porta de 80 para 8080

22

Eu uso a instância amazon EC2, que funciona via Ubuntu. Por padrão, de acordo com as restrições de segurança, não posso colocar meu aplicativo na porta 80, portanto, apenas vinculo a porta 8080 e, em seguida, defino o redirecionamento de roteamento da porta 80 para 8080 por meio do seguinte comando:

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

Mas eu descobri que quando eu reinicializo o servidor, essas configurações não estão mais ativas até que eu chame este comando novamente.

Então, minha pergunta é como ativar o trabalho de redirecionamento da porta mesmo se o sistema foi reinicializado?

    
por Ph0en1x 28.02.2014 / 17:52

4 respostas

18

Você pode adicionar este comando em /etc/rc.local , então ele será executado automaticamente após a reinicialização.

    
por nux 28.02.2014 / 18:17
15

Use o comando iptables-save. As regras de firewall nunca devem entrar no script rc.local. rc.local é a última coisa a ser executada. Se uma regra de bloqueio foi colocada em rc.local, há um pequeno intervalo de tempo em que um invasor pode explorar uma regra que não está em vigor. Embora isso provavelmente não importe com esta situação, ainda é melhor não entrar em um mau hábito que pode te morder mais tarde.

    
por MeOMy 29.04.2015 / 19:54
4

Aqui está como a documentação do ipattable oficial nos ensina. Veja aqui

Adicione estas duas linhas em / etc / network / interfaces:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules

A linha "post-down iptables-save > /etc/iptables.rules" salvará as regras a serem usadas na próxima inicialização.

    
por Stavarengo 19.11.2016 / 17:55
0

Eu descobri um conjunto de diretórios no Ubuntu 16.04 em /etc/network que executará scripts em vários momentos durante a inicialização e o desligamento da rede:

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

Então, descobri que poderia descarregar a configuração como de costume:

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

Em seguida, criei um arquivo '/etc/network/if-pre-up.d/restore:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... e sinalizou como executável

$ sudo chmod 755 /etc/network/if-pre-up.d/restore
    
por mikebridge 06.04.2017 / 23:18