2

Прежде всего, я новичок в сети.

У меня 2 ПК в двух разных сетях. Я пытаюсь установить связь между ними.

  • Сначала я получил публичный IP-адрес сети PC1: wget http://ipinfo.io/ip -qO – . Результат был a.b.c.d .
  • На ПК1 я использую netcat для прослушивания порта nc -l -v 5555 .
  • На ПК2 пытаюсь подключиться с помощью nc a.b.c.d 5555 . В результате я не могу подключиться.

У меня нет брандмауэра, и в моей конфигурации маршрутизатора включена переадресация портов:

конфигурация роутера

Я сделал еще один тест с выделенным веб-сайтом:

тестирование порта

Что я тут не так сделал?


Обновление 1.

В комментариях / обсуждении было указано, что, вероятно, существует другой маршрутизатор, который выполняет NAT (преобразование сетевых адресов). Меня попросили проверить WAN IP-адрес моего маршрутизатора. Вот статус:

WAN статус роутера

IP-адрес отличается от публичного IP-адреса, который я обнаружил ранее. Что делать сейчас?


Обновление 2.

Мне удалось получить другой (внешний) конфиг роутера. У этого есть надлежащий публичный IP на его интерфейсе WAN (a.b.c.d). Я добавил правило переадресации портов. Это указывает на мой (внутренний) маршрутизатор локальный IP (192.168.9.1).

переадресация портов на крайнем маршрутизаторе

Тем не менее, моя связь с nc не работает. Что случилось?

1 ответ1

1

Когда ваш маршрутизатор выполняет NAT, он имеет разные IP-адреса в своих интерфейсах WAN и LAN. То же самое относится к внешнему маршрутизатору в вашей настройке. Это выглядит так (все цифры являются фактическими IP-адресами, взятыми из ваших скриншотов):

Internet
  |
WAN IP: a.b.c.d
outer router
LAN IP: 192.168.1.254
  |
WAN IP: 192.168.1.100
inner router
LAN IP: 192.168.9.1
  |
PC1 with IP 192.168.9.100

Ваш внутренний маршрутизатор рассматривается как 192.168.9.1 на вашем ПК1, но внешний маршрутизатор может достичь внутреннего только по адресу 192.168.1.100 .

Решение: перенастройте внешний маршрутизатор для переадресации порта на 192.168.1.100 (не на 192.168.9.1). Переадресация портов на внутреннем маршрутизаторе, кажется, в порядке.


Есть также улучшение, которое вы можете сделать. Обычно домашний маршрутизатор предлагает динамические IP-адреса через DHCP, а пул начинается с 192.168.???.100 (это можно изменить, это просто обычное значение по умолчанию). IP-адреса вашего ПК1 и внутреннего маршрутизатора (его WAN-интерфейса) заканчиваются на 100 . Я думаю, что они были получены через DHCP из соответствующих динамических пулов. Ваш скриншот (обновление 1) говорит об этом без сомнения: "Динамический IP".

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

Чтобы избежать этого, вы должны назначить статический IP-адрес для вашего WAN-интерфейса внутреннего маршрутизатора (вы должны сделать это в конфигурации внешнего маршрутизатора, затем перезагрузить внутренний) и на свой ПК1 (в конфигурации внутреннего маршрутизатора, затем перезагрузить ПК1). Настройка может выглядеть следующим образом (пример):

Internet
  |
WAN IP: a.b.c.d
outer router
LAN IP: 192.168.1.254
  |
WAN IP: 192.168.1.5 (static, cannot change by itself)
inner router
LAN IP: 192.168.9.1
  |
PC1 with IP 192.168.9.2 (static, cannot change by itself)

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

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