Ich richte Memcached auf einem Debian-Server ein, der zwei Schnittstellen hat - eth0 (öffentlich) und eth1 (privat).
Ich möchte, dass Memcached sowohl eth1 als auch lo (Loopback) abhört, damit auf es zugegriffen werden kann, auch wenn das private Netzwerk ausfällt, aber NICHT eth0 (öffentlich).
Aus der Manpage für memcached geht hervor, dass die -l
Option nur eine IP-Adresse annehmen kann. Ich dachte daran, UNIX-Sockets für lokale Verbindungen zu verwenden, aber die Manpage sagt
-s
Unix-Socket-Pfad zum Abhören ( deaktiviert die Netzwerkunterstützung ).
Die einzige andere Methode, die ich kenne, ist das Blockieren von Verbindungen über eth0 mithilfe von IPTables. Gibt es eine andere Lösung, die die Firewall nicht nutzt?
Wie in der akzeptierten Antwort ausgeführt, unterstützen neuere Versionen dies:
oder
Ältere Versionen (im Lieferumfang von CentOS 6.5 oder früher enthalten) unterstützen dies noch nicht. Sie können entweder alle Schnittstellen, eine einzelne IP-Adresse oder einen Socket abhören .
Keine Kombination davon.
Ihre einzige Möglichkeit, dies zu lösen, besteht darin, es an alle Schnittstellen zu binden und die öffentliche Schnittstelle zu Firewall oder nur an 127.0.0.1 zu binden und Anforderungen über iptables an eth1: 11211 an lo0: 11211 weiterzuleiten.
quelle