Настроить MTU при включении защиты от DDoS-атак
При включении защиты Yandex DDoS Protection рекомендуется всегда задавать значение MTU равным 1450
байт.
Внимание
Если вы включите DDoS Protection и оставите значение MTU по умолчанию, возможны потери сетевого трафика.
Подробнее о параметрах MTU и MSS в Yandex Cloud читайте в разделе MTU и TCP MSS.
Настроить MTU
На ВМ с Ubuntu Linux 20.04 или 22.04
-
Подключитесь к виртуальной машине по протоколу SSH:
ssh <имя_пользователя>@<IP-адрес_ВМ>
-
Задайте значение MTU равным
1450
с помощью командыnetplan
. Выполните команду:sudo netplan set ethernets.eth0.mtu=1450 && sudo netplan apply
-
Проверьте новые значения MTU и MSS:
ip link show eth0 | grep mtu ss -i | grep mss
На рабочих узлах кластера Managed Service for Kubernetes
-
Создайте YAML-манифест DaemonSet следующего содержания:
--- apiVersion: "apps/v1" kind: DaemonSet metadata: name: mtu-fix namespace: kube-system labels: k8s-app: mtu-fix version: 1v spec: selector: matchLabels: k8s-app: mtu-fix template: metadata: labels: k8s-app: mtu-fix spec: hostPID: true hostNetwork: true containers: - name: mtu-fix image: cr.yandex/crpjfmfou6gflobbfvfv/ipfixik:0.1.0 command: - bash - -c - | ip link set dev eth0 mtu 1450 sleep infinity imagePullPolicy: Always securityContext: privileged: true resources: limits: memory: 200Mi requests: cpu: 100m memory: 200Mi volumeMounts: - mountPath: /sys/ name: sys - mountPath: /proc/ name: proc volumes: - name: sys hostPath: path: /sys/ type: Directory - name: proc hostPath: path: /proc/ type: Directory
Сохраните его в файл с любым именем, например
ds-mtu-fix.yml
. -
Примените созданный манифест в кластере Managed Service for Kubernetes:
kubectl -f ds-mtu-fix.yml
-
Подключитесь к любому рабочему узлу в кластере по протоколу SSH и проверьте значения MTU и MSS:
ssh <имя_пользователя>@<IP-адрес_рабочего_узла> ip link show eth0 | grep mtu ss -i | grep mss
На ВМ с Windows Server
-
Подключитесь к ВМ с Windows Server по протоколу RDP и запустите Windows PowerShell.
-
Уточните название интерфейса на котором необходимо изменить MTU:
netsh interface ipv4 show subinterfaces
-
Задайте значение MTU равным
1450
для нужного сетевого интерфейса, в примере этоEthernet 2
:netsh interface ipv4 set subinterface "Ethernet 2" mtu=1450 store=persistent
-
Проверьте, что значение MTU изменилось:
netsh interface ipv4 show subinterfaces