Я пытаюсь открыть порт на моей машине с Linux, но у меня возникли некоторые проблемы. Я просмотрел некоторую информацию о переадресации портов и обнаружил, что такое переадресация портов и для чего она используется? и пост jcrowfordor (длинный пост с изображением) помог мне понять это лучше.

Но у меня все еще есть проблемы с открытием порта. Я посмотрел учебники и видео, и он всегда говорит:

  • 1-Forward порт в маршрутизаторе
  • 2-Скачать UFW
  • 3. Создайте правило в ufw, разрешающее входящий трафик на этот порт.

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

Кроме того, вся настройка брандмауэра + перенаправление портов маршрутизатора может быть ненужным, потому что у меня есть виртуальная машина Linux Mint, которая принимает входящий трафик на любой порт, который я связываю с помощью netcat (я использую sudo nc -l номер порта). Это почему? Я ничего не настроил, кроме отключения брандмауэра Linux Mint. Если я отключаю брандмауэр другого Linux, он все равно отказывается от соединений.

Мои сомнения относительно переадресации портов:

  1. Когда компьютер из сети хочет установить связь с другим компьютером в этой сети, считается ли пакет, отправляемый маршрутизатору, входящим трафиком? Если да, то для того, чтобы конечный компьютер получил его, мне нужно перенаправить порт на маршрутизаторе, верно?
  2. Что если я хочу, чтобы 2 или более компьютеров могли получать соединения через один и тот же порт? Нужно ли перенаправлять этот порт в маршрутизаторе для всех этих компьютеров?
  3. Если да, как маршрутизатор узнает, на какой компьютер он должен отправлять входящий трафик? Что происходит, когда он приходит из сети и когда он выходит из сети?

2 ответа2

1

1) нет он идет прямо к серверу локальной сети, не пересекая маршрутизатор (он никогда не будет получен в глобальной сети маршрутизаторов). Большинство коммерческих маршрутизаторов не позволяют внутреннему хосту подключаться к маршрутизаторам WAN. Те, которые поддерживают то, что называется NAT Hairpinning. Чтобы проверить правило переадресации порта NAT без закрепления, вы должны сделать это из другой сети.

2) Если вы хотите, чтобы tcp\80 на двух разных боксах переадресовывал, вам придется использовать разные номера внешних портов, чтобы WAN:80 -> PC1:80 и WAN:81 -> PC2:80. Номера портов на стороне WAN должны быть уникальными, иначе он не может сказать, какой сервер вы хотите использовать, а переадресация NAT всегда одноадресная, поэтому вы не можете отправить пакет на оба внутренних сервера.

3) Правила NAT требуют, чтобы вы указали локальный IP-адрес сервера локальной сети, который будет принимать пакеты, поступающие на порт.

0

Решение проблемы netcat:

Используйте порт nc -l -p вместо порта nc -l. Так просто.

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