LINUX.ORG.RU

Собственный ip адрес

 , ,


0

2

Я тут играюсь с получением собственного публичного ip. Запрашиваю его с помощью сервиса. Потом поднимаю у себя UDP сервер, слушаю в нем 0.0.0.0:port. Вторым процессом делаю себе UDP запрос на полученный шагом ранее публичный ip и смотрю приходит ли мне сообщение в сервер.

Я сижу в офисе за роутером(возможно несколькими)

  1. Я пробовал тут несколько сервисов. Они мне возвращают один и тот же ip(82.a.b.c). С этим адресом мой тест не работает.

  2. Одновременно с этим я пробовал ресолвить ping myip.opendns.com. Такой метод возвращает мне совсем другой адрес (172.a.b.c). С этим адресом мой тест работает.

Мой вопрос в том, почему эти методы дают разный результат? Есть ли еще какие-то сервисы кроме opendns.com которые работают так же?

★★★★★

Одновременно с этим я пробовал ресолвить ping myip.opendns.com. Такой метод возвращает мне совсем другой адрес (172.a.b.c). С этим адресом мой тест работает.

*** Can't find myip.opendns.com: No answer

Пятницу в теги или попробуй описать свой вопрос иначе, пока на шизофазию смахивает

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

Вроде 5 звёзд, а такой дурачок. Аренда не делает собственностью, глупыш. Тебе в этом мире принадлежат только твои трусы и носки.

Тупняк дальше вообще нет желания комментировать. Ты вообще не понимаешь как работают сети.

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

Интересно. Изначально я нашел этот адрес в интеренете как вариант испольования с утилитой dig. dig +short myip.opendns.com @resolver1.opendns.com. Но из офиса этот адрес резолвился и через ping. Сейчас вернулся домой тут через ping тоже не работает. А через dig все ок.

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

А как это работает? Я хочу получить адрес на который можно будет мне отправить udp трафик. Как это можно сделать? При условии что я могу сидеть в сети через роутер, а не напрямую с белым ip.

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

Я хочу получить адрес на который можно будет мне отправить udp трафик. Как это можно сделать?

https://www.google.com/search?q=my+ip

Там ты найдёшь адрес своего маршрутизатора, который смотрит в Интернет. Тебе нужно настроить на маршрутизаторе проброс UDP порта на твой интранетовский адрес.

Но есть нюанс - провайдер (в теории) может резать такой трафик. Входящие TCP соединения многие провайдеры режут, если адрес не статический. Насчёт UDP - не уверен, обычно не режут. Пока.

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

Я хочу получить адрес на который можно будет мне отправить udp трафик. Как это можно сделать?

Смотрите в сторону udp hole punching. Но это не панацея.

Вкратце: Для udp нет понятия устанновленного коннекта. Но хост отправивший датаграмму может получить на неё ответ, и nat об этом знает. По этой причине, nat может некоторое время пропускать внешние датаграммы пришедшие на тот внешний порт, через который улетела датаграмма отправленная внутренним хостом. Но разные реализации nat, могут поступать по разному: разнится размер временного «окна», а также решение о дропе/пропуске внешних датаграмм, отправленных не с того адреса/порта, на который ушла датаграмма внутреннего хоста.

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

https://www.google.com/search?q=my+ip

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

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