2

Я просто настроил ElasticSearch на своем сервере, но не могу подключиться к нему удаленно (по умолчанию это порт 9200). Я могу подключиться к нему через локальный хост, но не могу подключиться к нему удаленно, когда укажу IP-адрес. Я предполагаю, что это потому, что порт закрыт (но я не уверен). Таким образом, я хотел бы знать, как проверить, открыт ли данный порт, и, кроме того, как открыть порт, который может быть закрыт.

4 ответа4

5

Чтобы проверить открытые порты на вашем сервере, вы можете сделать это как sudo:

iptables --list

Чтобы открыть порт TCP (порт 9200)

iptables -I INPUT -p tcp --dport 9200 --syn -j ПРИНЯТЬ

Для порта UPD вы бы использовали (порт 9200)

iptables -I INPUT -p udp --dport 9200 -j ПРИНЯТЬ

Наконец, чтобы сохранить изменения, используйте:

сервис Iptables сохранить

Однако, как упомянул @Codezilla, вы, вероятно, находитесь за маршрутизатором и должны перенаправить порты.

2

Похоже, вы находитесь за маршрутизатором, вам, вероятно, нужно перенаправить порты. Если это так, посетите этот сайт, чтобы узнать, как настроить переадресацию портов. Вы должны перенаправить порты на вашем маршрутизаторе, чтобы люди, находящиеся за пределами вашей сети, могли получить доступ к определенным приложениям / службам на определенных портах. По сути, он сообщает маршрутизатору, что всякий раз, когда кто-то хочет просмотреть веб-сервер, например, по вашему IP-адресу (или приложениям ElasticSearch), он знает, что перенаправляет этот запрос на соответствующий компьютер за вашим маршрутизатором.

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

1

Есть несколько способов сделать это ..

Во-первых, на какой операционной системе вы размещаете ElasticSearch? Окна? Linux? Когда вы говорите удаленно, вы имеете в виду машины, отличные от вашей машины, или компьютеры, не подключенные к вашей локальной сети через Интернет?

Для дальнейшего использования, пожалуйста, скажите, какую операционную систему вы используете НА ПОСТЕ. Я не замечал теги CentOS до тех пор, пока мне не понадобилось 20 минут, чтобы написать ответ о том, как это сделать в Windows ...

Пытаться

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

Если у вас есть проблемы с разрешениями, вы можете попробовать использовать sh для сохранения конфигурации iptables :

sudo sh -c "iptables-save > /etc/iptables/rules.v4"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .