Calico поддерживает шифрование WireGuard как для IPv4, так и для IPv6 трафика, которое можно независимо включать с помощью параметров в ресурсе FelixConfiguration.
| Операционная система | Версия ядра |
|---|---|
| Linux | 5.6 и выше установлены по умолчанию |
| Ubuntu 20.04 | 5.4.0-135-generic |
| Kylin Linux Advanced Server V10 - SP3 | 4.19.90-52.22.v2207.ky10.x86_64 |
| Операционная система | Версия ядра |
|---|---|
| openEuler | 4.18.0-147.5.2.13.h996.eulerosv2r10.x86_64 |
| CentOS 7 | 3.10.0-1160.el7.x86_64 |
| Redhat 8.7 | 4.18.0-425.3.1.el8.x86_64 |
| Kylin Linux Advanced Server V10 - SP2 | 4.19.90-24.4.v2101.ky10.x86_64 |
| Kylin Linux Advanced Server V10 - SP1 | 4.19.90-23.8.v2101.ky10.x86_64 |
| Kylin Linux Advanced Server V10 | 4.19.90-11.ky10.x86_64 |
| Термин | Объяснение |
|---|---|
| wireguardEnabled | Включить шифрование для IPv4 трафика поверх IPv4 Underlay сети. |
| wireguardEnabledV6 | Включить шифрование для IPv6 трафика поверх IPv6 Underlay сети. |
При использовании сетевого плагина Calico убедитесь, что параметр natOutgoing установлен в true для поддержки шифрования WireGuard. По умолчанию этот параметр корректно настроен для подсети Calico при создании кластера и не требует дополнительной настройки.
WireGuard поддерживает шифрование как для IPv4, так и для IPv6 трафика; если необходимо шифровать оба типа трафика, настройка должна выполняться отдельно. Для подробной настройки параметров обратитесь к Felix Configuration Documentation, настраивая параметры wireguardEnabled и wireguardEnabledV6.
Если WireGuard не установлен по умолчанию, обратитесь к WireGuard Installation Guide для ручной установки, хотя возможны случаи, когда ручная установка модуля WireGuard не удаётся.
Трафик между контейнерами на разных узлах будет зашифрован, включая сетевой трафик с одного хоста на другой; однако связь между Pod на одном узле и трафик между Pod и его хост-узлом не будет зашифрована.
Включите или отключите шифрование для IPv4 и IPv6.
Примечание: Следующие команды необходимо выполнять в CLI-инструменте на Master-узле, где находится узел.
Включить шифрование только для IPv4
Включить шифрование только для IPv6
Включить шифрование для IPv4 и IPv6
Отключить шифрование для IPv4 и IPv6
Способ 1: Выполнить команду в CLI для отключения шифрования.
Способ 2: Изменить конфигурационный файл felixconfiguration для отключения шифрования.
Выполните команду для открытия конфигурационного файла felixconfiguration.
Установите параметры wireguardEnabled и wireguardEnabledV6 в false для отключения шифрования WireGuard.
После завершения настройки шифрования Calico WireGuard выполните следующую команду для подтверждения статуса шифрования WireGuard. Если включено шифрование IPv4 и IPv6, наличие wireguardPublicKey или wireguardPublicKeyV6 в поле Status указывает на успешное включение; если шифрование IPv4 и IPv6 отключено, эти поля не будут содержать wireguardPublicKey или wireguardPublicKeyV6, что означает успешное отключение.
Вывод:
В этом документе приведён пример проверки трафика IPv4; проверка трафика IPv6 аналогична IPv4 и не повторяется.
После настройки шифрования WireGuard проверьте информацию о маршрутизации, где трафик между узлами преимущественно использует интерфейс wireguard.cali для пересылки сообщений.
Захват пакетов на узле для наблюдения трафика между узлами.
Тестирование показывает, что трафик типа IPv4 пересылается через интерфейс wireguard.cali.