LINUX.ORG.RU

Получаю таймаут когда пытаюсь подключиться к своему ПК по внешнему IP

 


0

1

Я тут пишу утилиту для p2p взаимодействия. Поймал проблему, что если я подключаюсь к своему серверу по 127.0.0.1:<port_num> то все ок. Если же я вместо локалхоста подставляю внешний ip, то получаю timeout. Даж telnet-ом пытаюсь в любой порт через внешний ip, ловлю Trying <my ip>... и все. Что может отрезать подключение? Фаерволов не использую. Может ли провайдер блокировать подключение? Если да, как это можно обойти? Пробовал на убунте со стандартными настройками и на маке.

★★★★★

Последнее исправление: Aswed (всего исправлений: 1)
Ответ на: комментарий от flant

Приложение слушает 0.0.0.0. Кроме того, telnet-ом я получаю trying... не только по порту приложения по вообще любому. При этом если я использую telent 127.0.0.1 <inactive-port>, то телнет сразу говорит, то приконнектится не удалось.

Aswed ★★★★★
() автор топика

А если локально, с сервера где сервис запушен подключаться по внешнему ip тоже отбой?

ss -tanlp

точно 0.0.0.0 слушает?

Ну и банальный вопрос, внешний адрес не из диапазонов: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10 ?

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от TeopeTuK

Под провайдером я имею ввиду, сервис, который мне доступ в интеренет предоставляет. Обычный домашний интернет. Комп подключен через вайфай роутер

что именно ты понимаешь под «внешним IP»?

Обращаюсь к сервисам типа: icanhazip.com, ifconfig.me, ident.me. Адрес который они мне возвращают, это же мой внешний адрес ip адрес?

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Kolins

Не. Не из этого диапазона. Слушает точно 0.0.0.0. И как я указал выше поведение telnet при подключении к разным портам отличается в зависимости от того, делаю я это через внешний адрес или через localhost

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Kolins

ss -tanlp:

State   Recv-Q  Send-Q   Local Address:Port     Peer Address:Port  Process                               
LISTEN  0       128            0.0.0.0:8080          0.0.0.0:*      users:(("my-server",pid=80135,fd=10))  
LISTEN  0       4096     127.0.0.53%lo:53            0.0.0.0:*                                           
LISTEN  0       5            127.0.0.1:631           0.0.0.0:*                                           
LISTEN  0       4096         127.0.0.1:9050          0.0.0.0:*                                           
LISTEN  0       5                [::1]:631              [::]:*
Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Комп подключен через вайфай роутер

Ну и обращаешься ты не на комп, а как максимум на внешний интерфейс роутера.

Обращаюсь к сервисам типа: icanhazip.com, ifconfig.me, ident.me. Адрес который они мне возвращают, это же мой внешний адрес ip адрес?

А надо обращаться в админку роутера.

Dimez ★★★★★
()
Ответ на: комментарий от Aswed

Обычный домашний интернет. Комп подключен через вайфай роутер

  1. У тебя должен быть белый айпишник от провайдера, доступный извне.
  2. На роутере нужно пробросить нужный порт на нужную машину, иначе ты стучишься на роутер, а не на нее.
Zhbert ★★★★★
()
Ответ на: комментарий от Dimez

А надо обращаться в админку роутера.

Это потом. Сначала ему надо обратиться в ЛК провайдера (или позвонить в ТП) и узнать, какой у него ИП. Скорее всего он серый, вроде щас провы уже давно не дают прямые айпишники клиентам, а за это просят денег.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Хмм. Я тут еще погуглил. Кажется я изначально неправильно решал проблему, и для p2p соединения необходимо наличие внешнего прокси сервера с белым ip. Но вот вопрос. Как тогда работают торрент клиенты? Там же как раз p2p соединение. И сама раздача/скачивание возможна даже если внешний сервер заблокирован. Как они это делают?

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

для p2p соединения необходимо наличие внешнего прокси сервера с белым ip

Для соединения точка-точка нужно, чтобы обе точки имели белый доступный ИП, а где он, в локалке или в интернетах, это не так важно.

Zhbert ★★★★★
()
Ответ на: комментарий от Dimez

Зашел в ЛК своего ростелекома, там есть выключенная опция доступного фиксированного адреса. Видимо, подразумевается, что по-умолчанию он серый, но явно этого и правда нигде не указано. Лови два чая, я напутал.

Zhbert ★★★★★
()
Ответ на: комментарий от Aswed

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

TeopeTuK ★★★★★
()
Ответ на: комментарий от Aswed

для p2p соединения необходимо наличие внешнего прокси сервера с белым ip. Но вот вопрос. Как тогда работают торрент клиенты? Там же как раз p2p соединение.

У одного из двух учасников должен быть белый айпи. Если нет, то соединения с этим конкретным пиром ВНЕЗАПНО не будет.

goingUp ★★★★★
()
Ответ на: комментарий от Zhbert

Для соединения точка-точка нужно, чтобы обе точки имели белый доступный ИП, а где он, в локалке или в интернетах, это не так важно.

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

targitaj ★★★★★
()

Может ли провайдер блокировать подключение?

Может.

Если да, как это можно обойти?

Обычно есть платная услуга «Статический IP». При ней выдаётся белый IP. Просто не за NAT, но динамический иногда дают бесплатно, но редко (и мне кажется, это в прошлом, но может какие мелкие провайдеры остались такие). Обычно только так.

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


upd:

и для p2p соединения необходимо наличие внешнего прокси сервера с белым ip. Но вот вопрос. Как тогда работают торрент клиенты? Там же как раз p2p соединение. И сама раздача/скачивание возможна даже если внешний сервер заблокирован. Как они это делают?

Чтобы участники файлообмена могли сконнектиться между собой, у одного из них должен быть белый IP и открыт порт. Если оба за NAT или порт закрыт, то никак — качают/раздают только тем, кого видят (тех, у кого всё в порядке). На торрент-жаргоне это (белый IP + открытый порт) для краткости называют тупо Connectable.

Когда в сварме много пиров, быть не connectable не страшно — всё равно найдётся и с кого качать и кому раздавать. Хуже, когда на раздаче один сид, и у него такая же проблема. Приходится просить кого-то «присосаться».

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 6)
Ответ на: комментарий от Zhbert

Зашел в ЛК своего ростелекома, там есть выключенная опция доступного фиксированного адреса. Видимо, подразумевается, что по-умолчанию он серый, но явно этого и правда нигде не указано

И эти люди запрещают нам ковыряться в носу!.

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

utanho ★★★★★
()

Даж telnet-ом пытаюсь в любой порт через внешний ip, ловлю Trying …

ТИПИЧНЕНЬКО:

внешний IP выдан роутеру, на нём должен быть настроен проброс конкретных портов на конкретный внутренний адрес ;

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

в 99% ваш роутер получает динамический БЕЛЫЙ адрес. Нормальный, и к нему можно обращаться. Времена дешманских провайдеров дающий адреса 10.x.x.x давно прошли. Вам достаточно просто анонсировать свой адрес через какую-либо dyndns, чтобы он соотноcился с vasyan.gde-to-tam.ru

MKuznetsov ★★★★★
()

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

Если да, то ищите, как на вашем роутере настроить hairpinning. И если роутер из дешевых - не факт, что он это в принципе умеет.

l0stparadise ★★★★★
()
Ответ на: комментарий от MKuznetsov

Т.к. я пишу p2p приложение, то хотелось бы решение, которое можо было бы реализовать программно, а не говорить каждому пользователю «роутер там свой покрути». Но я уже понял, что без белого прокси сервера(ов) задачу нормально не решить

Aswed ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Т.к. я пишу p2p приложение, то хотелось бы решение, которое можо было бы реализовать программно, а не говорить каждому пользователю «роутер там свой покрути». Но я уже понял, что без белого прокси сервера(ов) задачу нормально не решить

во многих случаях поможет STUN.

читайте про «NAT Traversal»

yandex&google вам в помощь :-)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Времена дешманских провайдеров дающий адреса 10.x.x.x давно прошли.

Ровно наоборот. Почти все крупные провайдеры пересадили всех за NAT. А МТС пошёл ещё дальше, без статики не даёт уже несколько лет как поднять gre (хоть он и почти никому не нужен сейчас, но всё равно свинство)

Dimez ★★★★★
()