iptables: como permitir o tráfego da porta redirecionada

4

Eu tenho um serviço da web em execução no debian 7 e ouvindo na porta 8080. Desejo redirecionar 80 para 8080 para conexões de entrada e permitir apenas a porta 80. Aqui está minha configuração iptables :

root@localhost:~# iptables -v -L --line-numbers
Chain INPUT (policy DROP 76 packets, 6266 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       90  8898 ACCEPT     all  --  lo     any     anywhere             anywhere            
2        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
3     4515 3113K ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 4858 packets, 587K bytes)
num   pkts bytes target     prot opt in     out     source               destination     

e nat table:

root@localhost:~# iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 14 packets, 2288 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REDIRECT   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8080
    0     0 REDIRECT   udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:80 redir ports 8080

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 841 packets, 53415 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 841 packets, 53415 bytes)
 pkts bytes target     prot opt in     out     source               destination 

não consigo estabelecer uma conexão externa na porta 80. Quais são as possíveis deficiências?

    
por Deniz 15.07.2013 / 19:22

1 resposta

2

Quando o usuário HIT porta 80 Em seguida, em iptables é primeiro verificar NAT PREROUTING tabela, em seguida, verifica FILTER tabelas, assim como por seu cenário você precisa permitir a porta 8080 na cadeia de filtro INPUT.

Veja abaixo Exemplo:

Na tabela de filtros:

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT

Na tabela Nat:

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

As regras acima são testadas com o Filter INPUT Policy Drop e está funcionando.

Para a sequência de tabelas, veja abaixo:

  1. Mangle PREROUTING
  2. Nat PREROUTING
  3. ENTRADA mangle
  4. Filtrar INPUT

Para mais detalhes, consulte esta página.

    
por 15.07.2013 / 22:41

Tags