У меня есть собственное соединение IPv6 (префикс / 64), и я пытался настроить соединение IPv6 за маршрутизатором OpenWrt. Но я обнаружил, что не могу использовать ebtables для прохождения всего трафика IPv6 (ограничение прошивки) или использовать ndppd для проксирования всех запросов ICMPv6 (запрос / объявление соседа, восходящий маршрутизатор, который я не контролирую, не принимает их по неизвестной причине).
Кажется, что у меня сейчас единственный вариант - туннелировать весь трафик IPv6. Ниже представлена топология сети:
Internet -- Router -- PC wan prefix::/64 wan 219.242.x.x lan 10.224.0.1 10.224.36.223
Я пытаюсь создать туннель между двумя адресами 10.224.x.x для туннелирования всего трафика IPv6, чтобы получить соединение IPv6.
Я искал несколько руководств, но не могу понять, какой адрес использовать в качестве параметров при настройке туннеля.
На ПК установлена ОС Windows. Было бы лучше, если бы также был предоставлен пример конфигурации.
(На шлюзе работает OpenWrt, но я предполагаю, что он работает почти как шлюз Linux?)
Туннель - это не решение проблемы, с которой вы столкнулись.
У вас есть прямое физическое соединение между двумя машинами, которые вы бы подключили через туннель, поэтому туннель вообще не нужен. Любую адресацию, которую вы хотели бы выполнить в туннеле, можно выполнить непосредственно по Ethernet-соединению между двумя конечными точками. И выполнение этого в Ethernet, а не в туннеле, устраняет дополнительную сложность конфигурации, а также накладные расходы на инкапсуляцию.
У вас есть еще одна проблема, заключающаяся в том, что у вас нет адреса для этого соединения. Но использование IPv6 через Ethernet или IPv6 через туннель не меняет этого. Им обоим нужно одинаковое количество адресов (за исключением того, что выполнение этого через Ethernet позволит использовать этот префикс во всей локальной сети).
Если вы хотите сделать это правильно, вам понадобится префикс для локальной сети, который должен быть направлен на ваш маршрутизатор. Из вашего описания в настоящее время у вас есть только префикс ссылки для WAN. Этого недостаточно, так как вам нужен другой префикс канала для локальной сети, который должен быть взят из префикса, маршрутизированного на ваш маршрутизатор.
Я знаю один стандартизированный протокол для настройки этого маршрутизируемого префикса, это DHCPv6. Маршрутизатор должен отправлять запрос DHCPv6 на свой интерфейс WAN и запрашивать маршрутизируемый префикс. Маршрутизированного / 64 достаточно для того, что вы хотите сделать сейчас, но вы также можете сразу перейти на / 48, / 56 или / 60, поскольку вы, вероятно, скоро найдете применение более чем одному / 64 на ваша LAN. Альтернативой DHCPv6 с делегированием префикса является настройка вашим интернет-провайдером статического маршрута для префикса, направляемого к вашему маршрутизатору.
Если вы обнаружите, что у вашего интернет-провайдера нет DHCPv6-сервера или он даже не делегирует / 60 или / 64, вам следует обратиться к своему интернет-провайдеру, чтобы узнать, как получить префикс, маршрутизируемый на ваш маршрутизатор.
Если они отказываются направлять префикс на ваш адрес после того, как вы его запросили, то пора искать обходные пути. Два известных мне обходных пути - это мост и прокси для обнаружения соседей. С точки зрения интернет-провайдеров, они оба будут вести себя одинаково, что приведет к увеличению потребления памяти в их маршрутизаторах. Они могли бы избежать этого дополнительного использования памяти, вместо этого направив вам префикс.
Вы говорите, что прошивка вашего маршрутизатора не поддерживает обходной путь. Я думаю, это означает, что вам нужно будет обновить прошивку до поддерживающей его.
Вы также спрашиваете о 6to4, который не имеет отношения. Я бы оценил 6to4 как не имеющий отношения к вашей настройке. Хотя, если вы можете сделать это в прошивке маршрутизатора, я бы включил ретранслятор 6to4 на маршрутизаторе, потому что это даст вам более надежную связь при общении с кем-то, кто использует 6to4. Я бы включил ретранслятор Teredo по той же причине, что очень удобно, если вам когда-нибудь понадобится подключиться домой с ноутбука в какой-либо сети, поддерживающей только IPv4.
Можно ли просто настроить OpenWRT как мост, чтобы он просто пропускал трафик IPv6, но добавлял общедоступные и частные IP-адреса в интерфейс моста маршрутизатора, чтобы у вас все еще была частная сеть IPv4 с NAT, OpenWRT мог бы действовать как однорукий маршрутизатор. В противном случае следующим шагом может быть работа вашего прокси-сервера NDP, если вы уверены, что ядро Linux не потребляет трафик NDP, проверьте / proc / sys / net / ipv6 / conf / * / accept_ra, чтобы увидеть, как ядро переключает обработку объявлений маршрутизатора меняет поведение. Я не уверен, зачем вам нужны ebtables, если вы не хотите фильтровать трафик уровня 2 на мосту, по умолчанию весь трафик разрешен на уровне 2, а большая часть фильтрации происходит с помощью iptables на уровне 3. Если вы действительно хотите фильтровать трафик, вы можете выбрать только трафик IPv6 на основе его типа, описанного в / etc / ethertypes, если вы хотите фильтровать IPv4, убедитесь, что также разрешен ARP, это другой протокол Ethernet.