【问题标题】:Binding to a specific ip address when using the PHP mysql_connect function使用 PHP mysql_connect 函数时绑定到特定的 IP 地址
【发布时间】:2011-11-29 14:30:15
【问题描述】:

我有一个运行非常标准的 LAMP 堆栈的 Cent OS 设置,并且我有两个公开可用的 IP 地址(eth0 和 eth0:1)。

我想在连接到远程托管的 MySQL 数据库时使用第二个 IP 地址 (eth0:1)。我该怎么办?

谢谢!

【问题讨论】:

  • 我不完全理解你的问题。你想将你的 PHP 脚本绑定到一个特定的 IP 地址,当请求来自另一个时,脚本不应该是可访问的?
  • 我是这样读的:连接到mysql数据库服务器时,应该使用特定的客户端网络接口来执行连接。 AFAIK mysql_connect() 没有为此提供参数,因此这可能是客户端计算机配置问题。
  • Hakre 是正确的,这就是我要找的。您知道解决 mysql_connect 不支持这一事实的任何常用方法吗?我不确定要寻找什么,但我希望至少可以代理或为我用来始终通过 eth0:1 通信的端口提供某种规则

标签: php mysql linux proxy lamp


【解决方案1】:

如果您具有 root 访问权限,则可以使用 iptables 进行 SNAT,以将特定源 IP 用于此特定目标:

iptables -t nat -A POSTROUTING -o eth0 -d <mysql_server_ip> -j SNAT --to-source <source_ip>

【讨论】:

    猜你喜欢
    • 2012-03-14
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2023-02-12
    • 1970-01-01
    相关资源
    最近更新 更多