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.
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.
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.
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