Назад | Перейти на главную страницу

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

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

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

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

Я подумал, что предоставлю более общий сценарий маршрутизатора 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 необходимо добавить после добавления
  • IP-адрес IPv6 LAN блока RRAS - это переходное отверстие (по сути, шлюз)
  • br0 это LAN-интерфейс вашего роутера. Обычно это значение по умолчанию для DD-WRT, для других маршрутизаторов это может быть другой интерфейс, например eth0

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

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

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

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