サーバーにElasticSearchをセットアップしたばかりですが、リモートで接続できないようです(デフォルトはポート9200です)。ローカルホスト経由で接続できますが、IPアドレスを指定するとリモート接続できません。これはポートが閉じているためだと思います(しかし、よくわかりません)。したがって、特定のポートが開いているかどうかを確認する方法と、閉じている可能性のあるポートを開く方法を知りたいと思います。
サーバーで開いているポートを確認するには、Sudoとしてこれを実行できます。
iptables --list
TCPポート(ポート9200)を開くには
iptables -I INPUT -p tcp --dport 9200 --syn -j ACCEPT
UPDポートの場合、使用します(ポート9200)
iptables -I INPUT -p udp --dport 9200 -j ACCEPT
最後に、変更を保存するには、次を使用します。
service iptables save
ただし、@ Codezillaが述べたように、おそらくルーターの背後にいて、ポートを転送する必要があります。
ルーターの後ろにいるように聞こえますが、おそらくポートを転送する必要があります。このような場合は、このサイトをチェックして、ポート転送を設定する方法の非常に簡単なウォークスルーを確認してください。ネットワークの外部の人々が特定のポート上の特定のアプリケーション/サービスにアクセスできるようにするには、ルーターのポートを転送する必要があります。基本的に、誰かがたとえばあなたのIPアドレス(またはElasticSearchアプリケーション)でWebサーバーを表示したいときはいつでも、ルーターの背後にある適切なコンピューターにその要求を転送することを知っていることをルーターに伝えます。
http://portforward.com/english/routers/port_forwarding/routerindex.htm
これを行うにはいくつかの方法があります。
まず、ElasticSearchをホストしているオペレーティングシステムはどれですか?ウィンドウズ? Linux?リモートとは、自分のマシン以外のマシンを意味しますか、それともインターネット上のLANに接続されていないコンピューターを意味しますか?
今後の参考のために、POSTで使用しているオペレーティングシステムを教えてください。 Windowsでこれを行う方法についての応答を書いてから20分になるまで、CentOSタグに気づきませんでした...
試してみてください
Sudo iptables -L
そのリストにポート9200を許可するルールがありますか?そうでない場合は、おそらく、9200での接続を許可するための新しいルールを追加する必要があります(TCPを推測します)
これを(rootとして)試してください
iptables -A INPUT -m tcp -p tcp --dport 9200 -j ACCEPT
iptables -A INPUT -m udp -p udp --dport 9200 -j ACCEPT
権限の問題がある場合は、sh
を使用してiptables
構成を保存してみてください。
Sudo sh -c "iptables-save > /etc/iptables/rules.v4"