2

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

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

Также у меня проблемы с установлением соединения через некоторые порты. Например, когда я пытаюсь подключиться через какой-то высокий порт (> 1023) через SSH, это не работает. Возможно ли, что определенный диапазон исходящих портов с моего компьютера заблокирован? Или это просто потому, что мой ssh-клиент (PuTTY) не может принимать входящие пакеты из-за заблокированных входящих портов?

Чтобы избежать некоторых вопросов: это не проблема с моим маршрутизатором, я попытался подключить свой компьютер напрямую, и он также не работал, хотя при подключении через 3G с помощью телефона с USB-модемом он работает. Спасибо!

3 ответа3

6

мое понимание этих терминов отличается от их

Хорошо, давайте попробуем уточнить соответствующие термины.

Я хотел бы прояснить некоторые вещи ... возможно ли иметь общедоступный IP-адрес и одновременно находиться за NAT?

Общественный IP

У каждого, кто подключен к интернету, есть "публичный IP", то есть IP-адрес, который виден широкой публике.

Этот публичный IP-адрес иногда называют внешним IP-адресом. Обычно он назначается вашему маршрутизатору вашим провайдером.

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

NAT

Традиционные IP-адреса - это IP-адреса версии 4. Это уходит. Для предотвращения исчерпания адресов некоторые диапазоны были зарезервированы для частного использования (например, 192.168.0.0), и была изобретена трансляция сетевых адресов (NAT), чтобы маршрутизатор мог редактировать (переводить) адреса в IP-пакетах и изменять частный IP-адрес на публичный. Таким образом, компания или дом с десятками или тысячами компьютеров могут использовать один публичный IP-адрес.

Так что да, большинство людей имеют публичный IP-адрес и находятся за NAT.

это просто потому, что мой ssh-клиент (PuTTY) не может принимать входящие пакеты из-за заблокированных входящих портов?

Исходящие соединения

TCP-соединения запускаются клиентом, отправляющим пакет на сервер (как часть «трехстороннего рукопожатия»). Маршрутизатор видит этот пакет, редактирует исходный адрес и записывает во внутренний список соединений внутренний IP-адрес источника, исходный порт и преобразованный исходный порт (он должен справиться с двумя ПК, использующими один и тот же исходный порт. их исходный IP-адрес переведен на тот же общедоступный IP-адрес). Так как он отслеживает соединения, когда маршрутизатор получает ответные пакеты, он может определить, на какой внутренний ПК направить (отредактированные) пакеты.

Поэтому нет, ответы на исходящее SSH-соединение не должны блокироваться.

соединения, инициируемые извне, - это другое дело:

Входящие соединения

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

Перенаправление порта

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

2

Когда вы подключили свой компьютер напрямую, без вашего маршрутизатора в середине, какой IP-адрес вы получили от вашего провайдера?

Если он находится в одном из "частных" диапазонов IP - 10.XXX, 192,168.XX или 172. [16-32],XX (вероятно, будет 10.ХХХ) - тогда у вашего провайдера есть какой-то NAT.

Если вы получите любой другой адрес БЕЗ вашего маршрутизатора в середине, то вы, скорее всего, НЕ позади NAT провайдера.

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

Обычно единственными портами, которые блокируют исходящие интернет-провайдеры, являются DHCP, общий доступ к файлам Windows и SMTP-порты.

Блокировка входящих портов - это другое дело. Некоторые драконовские интернет-провайдеры могут блокировать входящие соединения на большинстве портов, если вы не перейдете на учетную запись бизнес-уровня. Однако маловероятно, что ваш провайдер обманет вас, хотя вы могли связаться с неподготовленным представителем службы поддержки клиентов, когда вы в последний раз связывались с ним. Может быть полезно немного поискать имя вашего провайдера и посмотреть, как другие клиенты воспринимают заблокированные порты.

Вы не можете "подключиться" к SSH-клиенту (например, PuTTY), ваш SSH-клиент должен подключиться к SSH- серверу. Если вы не используете SSH-сервер, это может быть причиной того, что то, что вы пытаетесь сделать, не будет работать. Если это система Windows, и вы хотите быстро настроить тестовый SSH-сервер, изучите MobaSSH. Убедитесь, что вы также открыли порт 22 TCP на брандмауэре Windows через панель управления.

-2

увидеть этот ответ он объясняет все ваши сомнения. когда вы указываете на ваш общедоступный IP-адрес и получаете страницу конфигурации маршрутизатора, которая является вашим маршрутизатором ... при настройке переадресации портов вы получите правильный http-сервер.

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