2011-10-02 107 views
3

我有一個Cent OS安裝程序運行一個漂亮的標準LAMP堆棧,我有兩個公開可用的IP地址(eth0和eth0:1)。當使用PHP mysql_connect函數綁定到特定的IP地址

我想在連接到遠程託管的MySQL數據庫時使用第二個IP地址(eth0:1)。我怎麼去解決這個問題?

謝謝!

+0

我不完全明白你的問題。你是否想以這種方式將你的PHP腳本綁定到特定的IP地址,當請求來自另一個請求時,該腳本不應該被訪問? – SteAp

+1

我這樣讀:連接到mysql數據庫服務器時,應該使用特定的客戶端網絡接口來執行連接。 AFAIK'mysql_connect()'沒有爲此提供參數,因此這可能是客戶端計算機配置問題。 – hakre

+0

Hakre是正確的,這就是我正在尋找的。你知道任何常見的方法來解決mysql_connect不支持這個事實嗎?我不太確定需要尋找什麼,但我希望至少可以通過代理或爲我使用的端口提供某種規則來始終通過eth0進行通信:1 – Jake

回答

1

如果你有root權限,你可以做SNAT使用iptables使用特定的源IP此特定目標:

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