Perché alcuni pacchetti vengono rilasciati sulla VLAN pubblica?

Virtual Private Cloud Infrastruttura classica

I lavoratori di IBM Cloud Kubernetes Service si accorgono che alcuni pacchetti non validi o in ingresso vengono eliminati mentre si trovano su una VLAN pubblica con indirizzi di origine privati. Ad esempio, crei un ALB (application load balancer) per il tuo cluster, ma non puoi connetterti ad esso. Si riceve un messaggio simile a Unable to connect to <ALB>.

Per alcune configurazioni di rete personalizzate, ad esempio, se si configura una VPN per consentire il traffico in ingresso a un IKS pubblico LoadBalancer che proviene da indirizzi IP di origine privati, è possibile che il traffico personalizzato cada e non sia più disponibile. Questa azione è causata dalle regole DDOS (Distributed Denial of Service) impostate in una iptable del nodo lavoratore Kubernetes.

La mangle iptable include le seguenti regole.

 2488  214K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID /* DDOS: Blocks RST flood and TCP XMAS Flood (w and w/o data) */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x03/0x03 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x06/0x06 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x05/0x05 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x11/0x01 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x30/0x20 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x11/0x01 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x18/0x08 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x3F /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x29 /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x2B /* DDOS: Invalid packets */
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x37 /* DDOS: Invalid packets */
    0     0 DROP       all  --  eth1   *       224.0.0.0/3          0.0.0.0/0            /* DDOS: Drop private source IPs */
21803 1744K DROP       all  --  eth1   *       169.254.0.0/16       0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 DROP       all  --  eth1   *       172.16.0.0/12        0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 DROP       all  --  eth1   *       192.0.2.0/24         0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 DROP       all  --  eth1   *       0.0.0.0/8            0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 DROP       all  --  eth1   *       240.0.0.0/5          0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 DROP       all  --  eth1   *       10.0.0.0/8           0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 DROP       all  --  eth1   *       192.168.0.0/16       0.0.0.0/0            /* DDOS: Drop private source IPs */
    0     0 ACCEPT     all  --  vethlocal *       127.0.0.0/8          0.0.0.0/0            /* DDOS: Accept local LB traffic */
    0     0 DROP       all  --  !lo    *       127.0.0.0/8          0.0.0.0/0            /* DDOS: Drop private source IPs */

Per risolvere questo problema, crea un programma di bilanciamento del carico privato per consentire questo traffico agli indirizzi IP di origine privati. Se questo non risolve il problema, o per qualche ragione, non puoi creare un programma di bilanciamento del carico privato, quindi creare un daemonset che rimuova le regole che stanno causando il problema.