У меня есть сервер ubuntu (serverA) с парой адресов IPv6. Один из них основан на его MAC-адресе и известен в сети, а другой, я полагаю, ubuntu создан как «частный» адрес, который скрывает MAC-адрес.
У меня есть другой сервер (serverB), на котором размещена база данных, и требуется входящее соединение с serverA. serverB имеет брандмауэр, разрешающий только входящие соединения от serverA. Я указал IP-адрес serverA на основе MAC в исключениях брандмауэра serverB, но, не зная частный адрес, не добавил его. Однако упаковщики с serverA, похоже, по умолчанию приходят с частного адреса.
Детерминирован ли частный адрес? Как я могу это отключить? Стоит ли его отключить?
Адрес конфиденциальности должен быть случайным и часто меняться. Он не должен быть детерминированным; это противоречило бы концепции. Его следует использовать для исходящих соединений.
Я не рекомендую отключать его, потому что это полезно для того, чтобы не раскрывать ваш MAC-адрес, как это делает SLAAC (правильный термин для адреса, полученного от MAC). Однако некоторые люди, которые ценят возможность определять, какой хост позже установил соединение, предпочитают отключить его.
Если вам необходимо использовать ACL на основе IP, вам придется отключить его. Вы можете сделать это, добавив ip6-privacy=0
в раздел ipv6 /etc/NetworkManager/system/connections/
. Вы также можете проверить /etc/sysctl.d/10-ipv6-privacy.conf
если это не положит этому конец.
Я остановлюсь на вашем последнем вопросе: Стоит ли отключать частные адреса?
Я согласен с @Falcon, что Privacy Extensions, как определено в RFC 4941 полезны. Я всегда буду включать их на клиентах / рабочих станциях, которые могут подключаться к услугам в Интернете, и я надеюсь, что производители мобильных телефонов скоро включат их по умолчанию на всех своих устройствах.
Но в вашей настройке вы говорите о двух серверах, где один из них (не только, я полагаю) действует как клиент для другого сервера. Первые вопросы: какова ваша установка? Находятся ли эти серверы в сети вашей компании? Какой внешний доступ у них будет? Будет serverA
когда-нибудь подключался к интернету (без прокси)? Если весь трафик является внутренним и вы не видите угрозы со стороны злоумышленника, который отображает шаблоны трафика вашей внутренней сети, просто отключите расширения конфиденциальности на серверах. Сервер по определению должен иметь хотя бы один адрес, хорошо известный его клиентам, в основном через DNS, чтобы злоумышленник мог использовать этот адрес для атаки на сервер. Скрытие своего адреса не является допустимой стратегией защиты от атак для сервера. (Разумеется, размещение балансировщиков нагрузки с его адресом.)
В США «Стандартные профили DoD IPv6 для продуктов с поддержкой IPv6» (извините, мне не удалось найти ссылку на версию новее 5.0) также требовать расширения конфиденциальности для хостов / рабочих станций, «которые будут работать в сетях, требующих расширения адресов конфиденциальности или иным образом нуждающихся в сохранении анонимности», и настоятельно рекомендую их для других хостов / рабочих станций. . Это требование касается серверов только если они также действуют как клиенты (как в вашей настройке) и необходимо сохранять анонимность (решать вам). Таким образом, общий сервер не требует активации расширений конфиденциальности.
Что касается ACL: если жестко запрограммированные адреса IPv6 должны использоваться в нескольких местах, я бы даже подумал об определении фиксированных адресов IPv6 на ваших серверах. Вы можете установить их на серверах и DNS или распространять их через DHCPv6, но у вас будет меньше работы по сравнению с адресами SLAAC, если вам когда-либо придется заменить сетевой адаптер или сервер.
Итак, вкратце: Если ваши серверы обмениваются данными только внутри и не предъявляют дополнительных требований к безопасности для анализа трафика, вам следует отключить расширения конфиденциальности. В любом другом случае вы должны сбалансировать свои плюсы и минусы.
HTH.