database - 端口重定向不起作用 (80->3306)

标签 database linux redirect forwarding

我有一个新的 Linux 服务器(Debian 6.0)和一个数据库(MySQL),像往常一样通过端口 3306 访问。

现在由于某些用户的端口问题(因为3306端口经常被网络防火墙屏蔽),我想通过80或者443端口访问数据库,所以必须从80端口重定向> 到 3306 以保持数据库正常工作。

我试过以下命令:

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

但是我得到了以下错误:

iptables: No chain/target/match by that name.

谁能帮我解决这个问题? NAT 表为空(PREROUTINGPOSTROUTINGOUTPUT 没有条目)(使用 iptables -t nat -n -L 检查)

最佳答案

在 NAT 功能所需的 iptables 内核模块中:

运行以下命令在内核中加载模块:

  # 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"

关于database - 端口重定向不起作用 (80->3306),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14695164/

相关文章:

php - 通过 getJSON 将变量发送到数据库查询的最佳方法是什么?

c - 将数据包从一台linux服务器发送到另一台服务器(LINUX)

ruby-on-rails - 在 RoR : Which one to use out of redirect_to and head :moved_permanently? 中重定向

codeigniter ion auth https 重定向无限循环

linux - NASM 为注册 bug 增加值(value)

asp.net - web.config urlmapping

database - Zend 与现有的 Propel ORM

ruby - 如何处理 'lock' 数据库行

sql - 数据库模式 SQL 行与列

Linux awk 文本文件处理