別のマシンからmemcachedに接続する方法


22

別のマシン(サーバーにアクセスできる)からmemcachedを使用しようとしていますが、その方法がわかりません。

memcachedマシンで実行して接続をテストできます

telnet 127.0.0.1 port

そしてそれは動作しますが、他のマシンでは接続しようとし続けるだけです

telnet machine_address port
Trying machine_address...

動作させるために他の何かを設定する必要があるかどうかはわかりません。他のサービスを実行しようとすると、ポートが機能するため、ポートが機能し、アクセス可能であることがわかります。

OSはubuntuです


仮想マシンでも同じ問題が発生しています。telnetは「接続拒否」を返します。memcacheマシンのローカルtelnetは機能します。ポートを許可するようにルータにルールを追加して11211ポートを許可するようにiptablesのルールを明示的に、ノーサイコロ、、ないサイコロ...追加されました
Purefan

回答:


25

/etc/memcached.conf内:

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

それを変更する

-l 0.0.0.0

そして、memcachedを再起動します。


残念ながらうまくいきませんでした。
オスカーデルベン

1
netstat -ln4tthen の出力をチェックして、127.0.0.1:11211または0.0.0.0:11211でリッスンしているかどうかを確認します。
マジェンコ

出力は0.0.0.0:*
オスカーデルベン

これを理解するのにどれだけ時間がかかったのか恥ずかしい。ありがとう@Majenko
Ascherer

@マジェンコあなたが話しているLocal Address
chanchal118 16

3

-l行を編集し/etc/memcached.confます。これは、起動オプションが保存される場所です。

次の行は、memcachedがすべてのインターフェイスでリッスンできるようにします。

sudo sed 's/-l/#-l/' /etc/memcached.conf && sudo service memcached restart

0

2つの基本的な可能性があります。

  • ローカルループバックインターフェイスでのみリッスンするようにmemcachedインスタンスを設定しましたnetstat -l。これを出力で確認できます。
  • iptables明示的に許可されている接続を除き、すべての着信接続を拒否するようにファイアウォールを設定しました。

nestatとiptablesの両方でポートが許可されています。IPテーブルでは、tcp dpt:11211
オスカーデルベン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.