CentOS5.5を実行しているOpenVZコンテナで単純なポート転送を設定しようとしています。コマンドを実行するとエラーが発生します。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables v1.3.5: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
同じコマンドは、ハードウェアノードまたはその他の物理サーバーで正常に機能します。ハードウェアノードでその特定のコンテナのポート転送を設定できることは知っていますが、それは解決策ではありません。
OpenVZホストノードでVMゲストに対してnetfilterサポートが有効になっていないようです。OpenVZホストの管理者の場合は、「ファイアウォールの設定」というタイトルのセクションを参照してください。コンテナごとの構成が可能になります」 OpenVZ wikiのこのページ 。
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_filter
modprobe ipt_state
これらのいずれかを試してください。
私はiptable_filterを推測します。
そして、コマンドを再実行してください。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
それは機能しましたか?