Невозможно получить доступ к одному серверу в сети, при этом возможен доступ к другим

Невозможно получить доступ к одному серверу в сети, при этом возможен доступ к другим

Я не уверен в терминологии; я постараюсь быть максимально ясным, но учтите, что я могу использовать неправильное слово.

У меня есть несколько серверов Ubuntu, все подключены к одной сети. Я могу получить доступ к каждому из этих серверов по SSH, но только если я подключен к той же сети через VPN.

Фон:

Я пытаюсь запустить лицензионное программное обеспечение, которое должно обслуживать лицензию на других серверах в сети. Лицензионное программное обеспечение, по-видимому, работает правильно на указанном сервере, и этот сервер также может получить доступ к лицензионному программному обеспечению. Любой другой сервер в сети не может подключиться к этому серверу, на котором запущено лицензионное программное обеспечение.

Чтобы устранить эту сетевую проблему, вместо устранения неполадок в фирменном программном обеспечении я попытался запустить простые серверы Python Flask на каждом из серверов. Подобно фирменному программному обеспечению, Flask, похоже, работает правильно, но я не могу подключиться к нему с другого сервера в той же сети, но я могу подключиться к нему с того же сервера.

Проблема:

Когда я запускаю простую"привет мир!" сервер Flaskна Server_1или Server_2с помощью host=0.0.0.0и port=5000я могу подключаться к любому другому серверу Server_1и с него, используя .Server_2ip_of_Server:5000

Однако если я запускаю тот же сервер Flask на Server_3с теми же параметрами, я не могу подключиться к нему из Server_1или Server_2. Ошибка, которую я получаю при попытке подключения через . Когда я пытаюсь подключиться через Chrome, я получаю вместо wgetэтого .failed: No route to host.ERR_CONNECTION_TIMED_OUT

Я также всегда могу подключиться к localhost:5000с каждого из серверов. То есть, я могу подключиться к серверу Flask, работающему на Server_1через Server_1localhost:5000, но я не могу подключиться к серверу Flask, работающему на Server_1через Server_2localhost:5000.

Что я пробовал:

Сначала я подумал, что это проблема брандмауэра.

Я пытался отключить' iptablesиспользуя следующее:

sudo iptables-save > /root/firewall.rules
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Это, похоже, не повлияло на проблему. Я тоже попробовал sudo ufw disable, но это тоже не повлияло на проблему.

Это заставляет меня думать, что это не брандмауэр, но я не уверен, правда ли это. Я также не знаю, как продолжить отладку этой проблемы.

решение1

Вывод wget «Нет маршрута к хосту» означает, что ни у Server_1, ни Server_2у нет «пути» к Server_3, это не проблема брандмауэра или Flask, а скорее проблема IP (интернет-протокола).

Чтобы исправить это, я предлагаю убедиться, что вы можете выполнить команду «ping» Server_3, убедиться, что устройство подключено к Интернету, и что при использовании wget вы используете правильный IP-адрес. Для правильного указания ошибки потребуются дополнительные сведения, например, запуск traceroute.

Связанный контент