滿足我需求的解決方案是按照sumoanand的建議設置iptables條目。這是我的工作。
使用這樣的事情開始的memcached:
/usr/bin/memcached -p 11211 -l 0.0.0.0 -d -u www-data -m 12288
請記住,-l
參數設置爲0.0.0.0
,基本上可以從任意源連接。如果你保持標準127.0.0.1
這不會工作。
接下來,我們進入iptables。如果您的memcached服務器位於您的LAN上,則以下命令將僅允許來自特定本地服務器的連接。
舉例來說,爲了增加192.168.1.100
到允許列表中,我們發出命令:
iptables -A INPUT -p tcp -s 192.168.1.100 --dport 11211 -j ACCEPT
如果要列入白名單的遠程服務器,例如,25.62.25.62
那麼您發出其他命令:
iptables -A INPUT -p tcp -s 25.62.25.62 --dport 11211 -j ACCEPT
您可以根據需要將多個IP列入白名單,但一定要發出阻止該端口上所有其他連接的最終命令。
iptables -A INPUT -p tcp --dport 11211 -j REJECT
iptables的讀入它們的輸入順序,因此,如果您發出發出任何接受的規則,所有的連接將被拒絕(甚至白名單的)前拒絕所有聲明。
但是,以這種方式發送的數據仍然沒有以任何方式加密。攔截你的memcached服務器和遠程服務器(數據包嗅探器,ISP)的任何東西都能夠完全看到數據。
'php5-memcache'客戶端是否對其進行身份驗證?我研究過SASL,但我仍然對客戶如何驗證它感到困惑,因爲我沒有看到任何功能可以這樣做 – user2103849 2013-04-23 19:03:31