0

いつものようにポート 3306 からアクセスされるデータベース (MySQL) を備えた新しい Linux サーバー (Debian 6.0) を入手しました。

一部のユーザーのポートの問題により (ポート 3306 はネットワーク ファイアウォールによってブロックされることが多いため)、ポート 80 または 443 でデータベースにアクセスしたいと考えて803306ます。

次のコマンドを試しました:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3306

しかし、次のエラーが発生しました:

iptables: その名前によるチェーン/ターゲット/一致はありません。

この問題を解決するのを手伝ってくれる人はいますか? NAT テーブルが空です ( PREROUTINGPOSTROUTINGOUTPUTエントリがない) ( でチェックiptables -t nat -n -L)

4

1 に答える 1

1

iptablesの場合、NAT機能に必要なカーネルモジュール:

次のコマンドを実行して、カーネルにモジュールをロードします。

  # modprobe iptable_nat
  # modprobe ipt_REDIRECT

上記のモジュールがカーネルでコンパイルされていることを確認してください。

[root@instructor tmp]# grep REDIRECT /boot/config-$( uname -r )
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_BRIDGE_EBT_REDIRECT=m

VPSサーバーの場合:

modprobeコマンドを使用してホストサーバーでモジュールを有効にする

ホストサーバーから次のコマンドを実行して、VPS

vzctl set VEID --iptables iptable_nat --iptables ipt_REDIRECT

ファイルにルールを追加する/etc/vz/conf/veid.conf

IPTABLES="iptable_nat ipt_REDIRECT"
于 2013-02-04T20:56:36.330 に答える