Есть ли способ всегда использовать один и тот же адрес Teredo IPv6?

один из моих компьютеров находится на IPv4-провайдере, поэтому я использую miredo, чтобы иметь IPv6-адрес.
Теперь мне нужно получить доступ к этому компьютеру удаленно с IPv6. (Я не могу использовать здесь IPv4, потому что он находится за NAT I и не может добавлять новые переадресации портов.)
Проблема в том, что я не могу добавить запись DNS AAAA, потому что часть IP-адреса изменяется случайным образом каждый раз, когда компьютер подключается к сети.

поэтому мой вопрос: есть ли способ всегда использовать один и тот же IP-адрес с Протокол Teredo?

24
задан Rudloff
05.04.2023 17:41 Количество просмотров материала 3191
Распечатать страницу

4 ответа

Teredo IP-адреса зависят от нескольких вещей, как в Википедия.

прежде всего, это зависит от IPv4 адреса маршрутизатора. Если это может измениться, у вас есть проблема.

во-вторых, это зависит от исходного порта, используемого Teredo, который может быть преобразован и изменен устройством NAT. Если ваше устройство NAT сохраняет исходный порт, используемый приложениями внутри, вы мая быть в состоянии заставить это быть неизменным. Если вы дальше Windows, опция" clientport " для Teredo может быть полезна. см. В этой статье.

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

лучший вариант возможно, необходимо настроить динамический DNS-клиент, предполагая, что можно найти клиент, который будет публиковать IPv6-адрес интерфейса teredo.

2
отвечен Per von Zweigbergk 2023-04-07 01:29

судя по всему, с RFC 5991, некоторые части адреса IPv6 всегда случайны, чтобы сделать его непредсказуемым.

Итак, самым простым решением для меня было использовать службу динамического DNS, которая поддерживает IPv6, например dynv6.com.

1
отвечен Rudloff 2023-04-07 03:46

Да, это можно сделать с помощью протокола Teredo. Но это требует изменения кода на оба клиента Teredo и Teredo-сервера.

чтобы объяснить, почему он все еще может считаться одним и тем же протоколом, как только клиент и сервер были изменены, я сначала должен объяснить, каковы другие компоненты, участвующие в обмене данными.

основы технологии Teredo

четыре критических сетевых узла в связи с использованием протокола Teredo are:

  • клиент Teredo
  • сервер Teredo (выбирается клиентом)
  • реле Teredo (выбирается собственным узлом IPv6)
  • собственный узел IPv6

в конечном счете именно клиент Teredo и собственный узел IPv6 хотят обмениваться пакетами IPv6. Серверы Teredo и ретрансляторы Teredo существуют для облегчения этого трафика.

сервер Teredo участвует только в первоначальной настройке подключения. Как только соединение установленный трафик между клиентом Teredo и собственным узлом IPv6 проходит через ретранслятор, и сервер Teredo не видит его.

поскольку клиент не влияет на выбор ретранслятора Teredo, любое решение, требующее внесения изменений в ретранслятор, не будет работать. К счастью, это не требуется. Соединение между клиентом и ретранслятором, куда отправляется основная часть трафика, по-прежнему будет полностью стандартным трафиком Teredo.

потому что клиент и реле общайтесь, используя стандартный Teredo и потому, что клиент по-прежнему имеет адрес IPv6 в 2001::/32 префикс, это все еще квалифицируется как Teredo.

изменения нужны

12 битов в адрес Teredo выбрали наугад клиента Teredo. Модификация необходима на стороне клиента, чтобы сделать их не случайными.

48 бит в адресе Teredo - это адрес IPv4 и номер порта UDP клиента Teredo, как видно из Teredo сервер.

здесь очень важно, чтобы эти 48 бит были адресом порта, как видно на сервере. Из-за NAT клиент и ретранслятор могут подумать, что порт UDP имеет совершенно другой адрес. Но то, что видит IPv4-адрес и номер порта клиента и ретранслятора, не влияет на конечный IPv6-адрес.

обычно только нац расположен недалеко от клиента Teredo. Но если вы хотите влиять на окончательный адрес IPv6, NAT мог быть помещен на ту же самую машину как Сервера Teredo. Даже возможно построить NAT непосредственно на сервере Teredo, если вы так склонны.

существует ли какая-либо реализация этого?

наверное, нет.

Я ранее реализовал большинство сервера Teredo. Но клиент может выбрать только IPv4-адрес, а не номер UDP-порта. Мне нужен был номер порта UDP, чтобы различать клиентов.

сервер Teredo с поддержкой сохранение статического IPv4-адреса и UDP-порта для конкретного пользователя потребует определенного способа распознавания пользователя. В протоколе есть поля, которые потенциально могут быть использованы для этого. Но я не знаю какой-либо реализации с поддержкой идентификации клиентов Teredo к серверам Teredo.

кроме того, Teredo страдает от значительной проблемы надежности. Эта проблема надежности связана с частью протокола Teredo, которая не затрагивается никакими изменениями, которые я имею описанный здесь.

проблема с Teredo

проблема в том, как собственный узел IPv6 выбирает, какое реле Teredo использовать. В идеале администратор сети, в которой расположен собственный узел IPv6, должен настроить ретранслятор Teredo для этой сети (и найти его за пределами NAT, если NAT используется для IPv4).

но многие администраторы предпочитают не развертывать ретранслятор Teredo. Обычно рассуждая, что, поскольку Teredo настолько ненадежен, они не нужно поддерживать его (никогда не понимая, что это рассуждение делает Teredo ненадежным самоисполняющимся пророчеством).

вместо этого происходит то, что трафик с собственного узла IPv6 будет отправлен по маршруту по умолчанию вышестоящему поставщику, который, в свою очередь, может отправить его своему вышестоящему поставщику, и в конечном итоге трафик может оказаться на общедоступном стороннем ретрансляторе на AS, который решил объявить 2001::/32.

используя реле третьей стороны значит более длинную сеть путь, который, в свою очередь, означает увеличение задержки. Это также означает, что нет никакого SLA, и реле Teredo может не иметь достаточной емкости для трафика, передаваемого ему.

в большинстве случаев, когда требуется статический IP-адрес, также требуется некоторая надежность. И поскольку вы редко контролируете все удаленные узлы, с которыми будете взаимодействовать, вы также не можете контролировать, какие ретрансляторы Teredo будут использоваться.

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

1
отвечен kasperd 2023-04-07 06:03

вы можете быть лучше с 6in4 туннель. Это использует протокол 41, не требует дополнительных правил NAT. Есть брокеры, которые предоставляют бесплатные туннели. Пока вы единственный в сети, использующий IP-адрес туннельного брокера, проблем быть не должно.

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

брандмауэр подключения как у вас не будет нац защищая вас от нежелательного трафика.

поддержка 6in4 и 6to4 встроен в Linux. Я первоначально начал с 6to4, который работал, но не был столь стабильным, как мне нравилось. С 6in4 У меня стабильная связь. Я использую его для подключения NTP и получаю стабильные источники времени по IPv6.

0
отвечен BillThor 2023-04-07 08:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх