web-dev-qa-db-ja.com

iptablesでポートをリダイレクトする際のエラー:その名前によるチェーン/ターゲット/一致がありません

すべての着信TCP接続を最初はポート80に、ポート8090にリダイレクトしようとしています。これは、8090でConfluenceを実行していて、rootとして実行しないようにするためです。 =、これはポート80へのConfluence接続を有効にするための要件です。

このために私はIPTABLESを使用していますが、この奇妙なエラーが発生しています:

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:/#

Iptablesを使用するのはこれが初めてであり、これを実際に機能させたいだけです。ここで何が悪いのですか?私は何をすべきか?

ありがとう!

編集:追加情報:

私のネットワークインターフェースは次のとおりです。

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

どうやら私はモジュールがロードされていません。これは悪いですか?

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

コマンドlsmod | grep tablesも何も返しません。

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:~#

もう1つのプローブ:

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:~#

もっと面白いもの:

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

ちなみにこれはVPSです。

3
PedroD

カーネル構成をCONFIG_IP_NF_TARGET_REDIRECTで確認します

-j REDIRECTターゲットを使用するには、それを有効にする必要があります。

3
ikrabbe

必要なモジュールがロードされていないようです。

ちなみに、どのディストリビューションでどのカーネルバージョンを使用していますか:uname -a

以下のコマンドのいずれかを実行するときに、@ ikrabbeによって言及されているモジュールがリストされていることを確認してください。

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

OSとカーネルのバージョンによっては、簡単にサポートできます。

1
Yam Gotham