В настоящее время пытаюсь установить соединение (используя сокеты) между моим localPC (windows) и моей виртуальной машиной (Ubuntu). Они оба находятся в одной подсети и могут быть проверены.

Перешли к функциям Windows, дополнительным настройкам, добавили входящее правило и исходящее правило для номера порта (установите для локального и удаленного порта одинаковые номера). Рядом с правилами входа и выхода есть зеленая галочка. Команда netstat-an не показывает мой порт. Так что я не могу сказать, если это даже открыто.

Внутри Ubuntu я выполнил команду: sudo ufw allow ###/tcp . Тем не менее, когда я бегу:

sudo ufw status verbose
Status: inactive

Однако я все еще не могу понять, открыт порт или нет. Примечание. Используемый порт не конфликтует с портом любого другого приложения.

Поиск проблемы:

Я все еще могу пропинговать обе системы друг от друга. Когда я запускаю netcat на моем локальном ПК (Windows) как таковой:

ncat ip_of_vm ###
Ncat: No connection could be made because the remote machine refused it

Когда я запускаю Netcat на виртуальной машине (Ubuntu) в направлении моего локального ПК:

nc ip_of_localPC ###

Это просто висит. Нет сообщения об ошибке.

Фон

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

1 ответ1

0

Причина, по которой ваш ufw говорит, что он неактивен, заключается в том, что прежде чем вы сможете открыть порты с его помощью, вам нужно запустить sudo ufw enable Однако это не мое предлагаемое решение, потому что в настоящее время с отключенным UFW нет брандмауэра, чтобы закрыть порты в первую очередь.

На вашем сервере запустите nc -l ### на клиенте и запустите команду, как и раньше. Опция -l заставляет netcat прослушивать входящее соединение.

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