IPv6 с IPv4 через RRAS SSTP VPN от клиента, который имеет доступ только по IPv4

Я настраиваю Server 2012 R2 RRAS в качестве SSTP VPN. У меня IPv4 работает отлично. Моя среда двойного стека (v4 и v6). Когда я включаю IPv6 в VPN, мой клиент получает действительный адрес, но не может общаться ни с чем через VPN, используя IPv6. Если я пингую имя компьютера, он получает адрес ipv6, но по истечении этого времени, если я пингую его с -4, он получает адрес v4 и прекрасно пингуется. Я уже несколько дней бьюсь об этом, и ничто из того, что я пробовал, или какие-либо поисковые запросы в Интернете не указали мне на решение. Я начинаю задаваться вопросом, может быть, для VPN нужен другой открытый порт для IPv6 для туннелирования?

У меня есть маршрутизатор IPv6 (LAN и вызов по требованию) и опции сервера удаленного доступа IPv6, включенные на общей вкладке в RRAS, а также заданный префикс на вкладке IPv6. Я пробовал префикс, являющийся его собственным частным префиксом и использующий тот же префикс, который используется в сети.

У кого-нибудь еще есть это работает? У меня такое ощущение, что это где-то маленькая вещь, которую я пропустил. Или он не отправляет трафик ipv6 через ipv4 vpn, и вам нужно быть на клиентской машине, на которой установлены ipv4 и ipv6, чтобы ipv6 работал через vpn?

2 ответа

Я подумал, что предоставлю более общий сценарий маршрутизатора Linux для пользователей, использующих не pfSense, а маршрутизатор на основе Linux (в моем случае DD-WRT).

ip -6 route add xxxx:xxx:xxxx:xxxx::/64 via xxxx:xxx:xxxx:xx::x dev br0
  • Настроенный префикс IPv6 на вкладке RRAS IPv6 необходимо добавить после добавления
  • IPv6 LAN IP-адрес блока RRAS является сквозным (по сути, шлюзом)
  • br0 Интерфейс локальной сети вашего маршрутизатора Обычно это значение по умолчанию для DD-WRT, для других маршрутизаторов это может быть другой интерфейс, например eth0

Единственная проблема, которую я обнаружил, заключается в том, что хотя этот статический маршрут позволяет трафику IPv6 проходить наружу, он не обеспечивает доступ к другим IPv6-адресам локальной сети в подсети IPv6 IP-адреса локальной сети сервера. Скорее всего, потому что подсеть отличается /64. Чтобы решить эту проблему, вам нужно добавить статические маршруты IPv6 на сам блок RRAS, чтобы разрешить эту возможность подключения.

Оказывается, это была маленькая вещь, и для ее решения потребовалось совершенно другое понимание проблемы.

Проблема была не в RRAS, а в настройке программного обеспечения моего маршрутизатора (в данном случае pfSense). Когда на клиенте, подключенном к VPN, я получал адрес IPv6 и разрешение имен работало, но по IPv6 ничего не отвечало. Проблема заключалась в том, что мои пакеты v6 нормально попадали в мою сеть, но на локальных машинах не было никакой информации о том, как вернуться к машине, подключенной к VPN. Мне пришлось настроить статический маршрут в моем маршрутизаторе для префикса, используемого в RRAS для маршрутизации этого префикса в моей сети обратно в блок RRAS. Теперь, когда внутренний блок попытается ответить, он увидит другой префикс и отправит его на мой маршрутизатор, тогда мой маршрутизатор направит его на RRAS, который затем отправит его клиенту, подключенному к VPN.

Конечно, это заняло много времени, но это наконец работает.

Другие вопросы по тегам