Как мне разрешить локальные подсети IPv6 в ufw?

Недавно я получил IPv6-подключение дома, и теперь я хотел бы разрешить подключения к домашнему серверу через IPv6 только из локальной сети. Хитрость в том, что адрес / префикс IPv6, назначенный серверу, является динамическим. Есть ли какой-нибудь способ написать правило UFW, которое позволяет только из напрямую подключенных подсетей?

6
задан 21 January 2015 в 17:23

2 ответа

Старый вопрос, но Google получил меня здесь, поэтому я думаю, что стоит отметить, что вы можете добавить локальный диапазон канала IPv6 с помощью:

ufw allow from fe80::/64

. локальный адрес должен использоваться вместо вашего глобального адреса IPv6.

0
ответ дан 21 January 2015 в 17:23

Имейте в виду, что «локальных диапазонов» IPv6 не существует - каждый «локальный диапазон» IPv6 представляет собой собственный (как минимум) / 64 сегмент адресов v6 с определенным префиксом. Таким образом, любой адрес «частного диапазона», который вы получите, будет зависеть от подсети, на которую настроен ваш маршрутизатор, а не от внешнего адреса v6, который у вас есть (внутри маршрутизаторов есть логика для автоматической настройки подсетей, но когда вы попадаете в Маршрутизация корпоративного уровня с продвинутыми брандмауэрами, маршрутизаторами, коммутаторами и т. Д. IPv6 необходимо вручную настроить и настроить вручную.

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

Кроме того, правила брандмауэра разработаны в ufw (и основные iptables и netfilter технологии es, с которыми работает ufw) иметь специфических правил (таких как ALLOW aaaa:bbbb:cccc:dddd::dead:beef INBOUND TO dddd:eeee:ffff:0000::dead:beef PORT 22/tcp (очевидно, не правило, а просто пример)) и если у вас всегда есть разные адреса в разных подсетях v6 (либо внутри или внешне, но особенно внутри), это нарушает требования, предъявляемые брандмауэрами к правилам такого рода.

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

Это также относится к переадресации портов дома - вы не можете надежно настроить переадресацию портов, если только внутренний IP-адрес (v4 или v6) не изменится. (Маршрутизатор прозрачно обрабатывает INBOUND из Интернета сам по себе, при условии, что вы настроили внутреннюю версию v6 в статической настройке, но вы не можете гарантировать, что это произойдет без гораздо более длительной настройки и настройки сети, а также, возможно, больше оборудования уровня предприятия, которое может дорого обойтись)

0
ответ дан 21 January 2015 в 17:23

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

Похожие вопросы: