web-dev-qa-db-ja.com

サーバーでポートが開いているかどうかを確認するにはどうすればよいですか?閉じている場合、どうすれば開くことができますか?

サーバーにElasticSearchをセットアップしたばかりですが、リモートで接続できないようです(デフォルトはポート9200です)。ローカルホスト経由で接続できますが、IPアドレスを指定するとリモート接続できません。これはポートが閉じているためだと思います(しかし、よくわかりません)。したがって、特定のポートが開いているかどうかを確認する方法と、閉じている可能性のあるポートを開く方法を知りたいと思います。

2
Eva

サーバーで開いているポートを確認するには、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が述べたように、おそらくルーターの背後にいて、ポートを転送する必要があります。

5
Greg

ルーターの後ろにいるように聞こえますが、おそらくポートを転送する必要があります。このような場合は、このサイトをチェックして、ポート転送を設定する方法の非常に簡単なウォークスルーを確認してください。ネットワークの外部の人々が特定のポート上の特定のアプリケーション/サービスにアクセスできるようにするには、ルーターのポートを転送する必要があります。基本的に、誰かがたとえばあなたのIPアドレス(またはElasticSearchアプリケーション)でWebサーバーを表示したいときはいつでも、ルーターの背後にある適切なコンピューターにその要求を転送することを知っていることをルーターに伝えます。

http://portforward.com/english/routers/port_forwarding/routerindex.htm

2
Codezilla

これを行うにはいくつかの方法があります。

まず、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
1
Richie086

権限の問題がある場合は、shを使用してiptables構成を保存してみてください。

Sudo sh -c "iptables-save > /etc/iptables/rules.v4"
1
DaviideSnow