Вопросы по созданию собственного маршрутизатора / брандмауэра IPv6

Мой провайдер любезно передал мне префикс /64, и я создаю маршрутизатор Ubuntu, так как большая часть моего существующего оборудования устарела для поддержки IPv6. Используя различные статьи, мне удалось заставить его работать в основном, но большинство примеров, которые я нашел, сосредоточены вокруг туннельных маршрутизаторов, которые я также построил, но я думаю, что я больше ищу лучшие практики, когда дело доходит до родной маршрутизатор / брандмауэр IPv6.

В качестве фона eth0 - мой внутренний интерфейс, а eth1 - внешний. В настоящее время у меня есть что-то вроде:

iface eth0 inet6 static
address 2605:xxxx:yyyy:zzzz::1
netmask 64

iface eth1 inet6 static
address 2605:xxxx:yyyy:zzzz::2
netmask 64

Связь по входу / выходу была проверена на eth1, поэтому мой интернет-провайдер корректно маршрутизирует меня. Я планирую использовать radvd на eth0. Я также планирую использовать ip6tables в качестве брандмауэра.

Где я неясен, это то, как (или если) я должен разделить мой префикс. У меня есть несколько VLAN, доступных для eth0, хотя, учитывая возраст моего оборудования, мне, вероятно, придется маршрутизировать их через этот (виртуальный) маршрутизатор, так что я могу в конечном итоге получить больше интерфейсов или использовать транкинг в той или иной форме на eth0,

Большинство машин в этой сети являются виртуальными, в основном на двух VLAN. Вероятно, существует менее 200 активных машин, большинство из которых поддерживают IPv6.

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

Мои вопросы довольно просты:

  1. С точки зрения передового опыта, какой префикс я должен использовать для VLAN/ подсети? /72? /68?
  2. Должны ли eth0 и eth1 находиться в отдельных подсетях? Это тупой вопрос?
  3. Должен ли я использовать мост вместо маршрутизатора? Преимущества недостатки?

Моя главная проблема заключается в том, что, похоже, не так много нативных примеров, которые бывают не простыми, не посвящены оборудованию Cisco или не используют BGP. Один хороший хороший пример, вероятно, ответит на все мои вопросы.

Спасибо!

2 ответа

Решение

Размер, который вы должны направить в подсеть - это /64. Такие вещи, как автоконфигурация, не работают, если вы не используете / 64 для подсети. Если вы получите только один / 64 от своего интернет-провайдера, вы не сможете маршрутизировать его любым удобным способом. Интернет-провайдер должен предоставить вам /48 или, по крайней мере, /56, и направить весь этот префикс к вашему маршрутизатору шлюза. Затем вы можете создать подсети и маршрут.

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

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

Вам нужен один IPv6-адрес в сети, предоставленной вашим провайдером для внешнего интерфейса. Это их сеть, а не ваша, что ваш маршрутизатор выходит в Интернет. Он может быть предоставлен вам как статический, DHCPv6 или SLAAC. Первое и второе требуют, чтобы вы и ваш провайдер передавали адреса, такие как MAC-адрес вашего маршрутизатора или адрес IPV6 и маску сети (формат CIDR). С SLAA все это устанавливается автоматически.

Ваша сеть должна быть / 64, или SLAAC, и поэтому Radvd не будет работать. Затем вы должны вручную установить все адреса ваших машин. Нет, DHCPv6 также не будет работать, так как он построен на основе того же механизма, который использует SLAAC.

И если ваш Интернет-провайдер не дает вам /48 или /56 чистых при запросе, вы должны снова пересмотреть свой выбор интернет-провайдера.

Итак, одно простое соединение IPv6 с вашим провайдером, как если бы вы использовали туннель. И одна сеть с маршрутизацией для ваших локальных сетей, и не менее, чем / 64 и, когда вас спросят, /48 или /56 сеть, которую вы затем можете разделить на разные сети / 64 для ваших локальных сетей. Не используйте ничего, кроме / 64 для локальной сети, иначе у вас возникнут проблемы.

Для брандмауэра не используйте чистые ip6tables, если вы не прочитали и не поняли все соответствующие RFC.

Я бы посоветовал ufw для серверов и shorewall6 для роутеров. Вам также следует рассмотреть возможность настройки DNS через radvd (или DHCPv6, если вы планируете использовать это, а не SLAAC), а затем вам нужен пакет для каждого клиента, чтобы установить это. Также в дистрибутивах на основе Debian, таких как Ubuntu, установите пакет resolvconf,

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