Memcached

Memcached 監聽選定的介面

  • July 8, 2014

我正在一個 Debian 伺服器上設置 Memcached,它有兩個介面 - eth0(公共)和 eth1(私有)。

我希望 Memcached 監聽 eth1 和 lo(環回),這樣即使私有網路出現故障,也可以訪問它,但不能訪問 eth0(公共)。

從 memcached 的手冊頁中,我了解到該-l選項只能採用一個 IP 地址。我想過使用 UNIX 套接字進行本地連接,但手冊頁說

-s

要監聽的 Unix 套接字路徑(禁用網路支持)。

我知道的唯一其他方法是使用 IPTables 阻止通過 eth0 的連接。有沒有其他不使用防火牆的解決方案?

它不像列出一個介面並獲取其所有綁定地址那樣方便,並且需要知道與介面綁定的所有地址,但是可以做到。(請注意,您不能只列出一些介面,正如您所發現的那樣——單個介面、所有介面或 IP 列表。)

-l選項可以採用介面、INADDR_ANY(表示所有介面上的所有地址)或以逗號分隔的 IP 地址列表。IP 地址可能有一個可選的埠規範。所以,例如

memcached -l 127.0.0.1:11211,127.0.0.1:11212,10.1.2.3

memcached 將僅在埠 11211 和 11212 上的 127.0.0.1 上偵聽 lo0 以及由-p或設置的任何埠上的地址 10.1.2.3 (無論它是哪個介面) -U

您需要知道/擁有所有要綁定的地址。這可能是 IP 列表之間的一個很大差距lo0(因為 memcached 的預設內部資源限制不允許綁定到該介面上的 ~2^24 地址)

引用自:https://serverfault.com/questions/609504