Erro ao redirecionar portas com iptables: Nenhuma cadeia / destino / correspondência com esse nome

3

Estou tentando redirecionar todas as conexões TCP de entrada, originalmente para a porta 80, para a porta 8090, porque estou executando o Confluence em 8090 e quero evitar que ele seja executado como raiz , que é um requisito para ativar o Confluence que se conecta à porta 80.

Para isso, estou usando IPTABLES, mas estou recebendo este erro estranho:

root@psbm-ptc01b05:/# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8090
iptables: No chain/target/match by that name.
root@psbm-ptc01b05:/# iptables -A PREROUTING
iptables: No chain/target/match by that name.
root@psbm-ptc01b05:/#

Esta é a primeira vez que uso o iptables e eu realmente quero que isso funcione. O que eu estou fazendo errado aqui? O que devo fazer?

Obrigado!

Editar: informações adicionais:

Minhas interfaces de rede são as seguintes:

root@psbm-ptc01b05:~# ifconfig -a
eth1      Link encap:Ethernet  HWaddr 00:1c:42:2c:2d:97
          inet addr:176.111.109.11  Bcast:176.111.109.255  Mask:255.255.254.0
          inet6 addr: fe80::21c:42ff:fe2c:2d97/64 Scope:Link
          inet6 addr: 2001:4cc0:3:f::6925/80 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25458482 errors:0 dropped:0 overruns:0 frame:0
          TX packets:628471 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2767947725 (2.7 GB)  TX bytes:60340059 (60.3 MB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:466 errors:0 dropped:0 overruns:0 frame:0
          TX packets:466 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:109338 (109.3 KB)  TX bytes:109338 (109.3 KB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: ::2/128 Scope:Compat
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.137.96.0  P-t-P:10.137.96.0  Bcast:10.159.255.255  Mask:255.224.0.0
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Aparentemente, não tenho módulos carregados. Isso é ruim?

root@psbm-ptc01b05:~# lsmod|grep -E "nf_|xt_|ip"
root@psbm-ptc01b05:~#

O comando lsmod | grep tables também não retorna nada.

A saída do iptables -t nat -L -vn:

root@psbm-ptc01b05:~# iptables -t nat -L -vn
Chain PREROUTING (policy ACCEPT 292K packets, 27M bytes)
 pkts bytes target     prot opt in     out     source               destination
 292K   27M            all  --  *      *       0.0.0.0/0            0.0.0.0/0

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

Chain OUTPUT (policy ACCEPT 981 packets, 80153 bytes)
 pkts bytes target     prot opt in     out     source               destination
root@psbm-ptc01b05:~#

Mais uma sondagem:

root@psbm-ptc01b05:~# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
           all  --  anywhere             anywhere

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
root@psbm-ptc01b05:~#

Mais coisas engraçadas:

root@psbm-ptc01b05:~# lsmod
Module                  Size  Used by
root@psbm-ptc01b05:~#

Este é um VPS pelo caminho.

    
por PedroD 23.06.2015 / 01:25

2 respostas

3

verifique a configuração do seu kernel em relação a CONFIG_IP_NF_TARGET_REDIRECT

Você precisa ativar isso para usar o alvo -j REDIRECT.

    
por 23.06.2015 / 13:27
1

Parece que você não tem nenhum módulo carregado que precise.

A propósito, qual distro você está usando? qual versão do kernel: uname -a

Verifique se os módulos mencionados por @ikrabbe estão listados quando você executa um destes comandos abaixo:

grep -i =m /usr/src/linux/.config
cat /proc/modules | grep nat
find /lib/modules/*/ -type f -iname '*.ko' | grep redirect

Depende do seu sistema operacional e da versão do kernel, será fácil atendê-lo

    
por 23.06.2015 / 20:34