Работает ли STUN на большинстве NAT?

Работает ли STUN на большинстве NAT?

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

Если я правильно понимаю, STUN полезен только в том случае, если самый внешний NAT пропускает пакеты, отправленные из addr:portпары, отличной от той, которую источник использовал при установлении сопоставления.

У меня было явно бредовое представление, что нормальный NAT будет пропускать обратные пакеты только из той же addr:portпары, к которой было установлено соединение (фильтрация, зависящая от конечной точки). Невыполнение этого требования, похоже, само по себе является серьезной проблемой безопасности. Создание целых протоколов и RFC поверх этого кажется безумием.

Вопросы:

  1. Действительно ли существует много NAT, которые выполняют только фильтрацию, независимую от конечной точки?
  2. Есть ли какие-либо веские причины для использования фильтрации, независимой от конечной точки, на NAT, помимо лени, создания опасности для систем, стоящих за ней, и взимания дополнительной платы за функцию «дружественности p2p»?

решение1

NAT не предназначен для обеспечения безопасности — это хак, призванный предотвратить исчерпание адресов IPv4, как временная мера до полного развертывания IPv6. Таким образом, имеет смысл реализовать его таким образом, чтобы максимизировать полезность, а не безопасность.

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

Одноранговая IP-телефония (например, Skype) может стать ярким примером легитимного приложения, которое не будет работать должным образом без возможности пробивать дыры в NAT:s, будь то с помощью STUN или аналогичных технологий, которые используют поведение NAT:s, или с помощью таких технологий, как UPnP.

Связанный контент