Documentația pentru configurarea instanțelor NAT indică faptul că trebuie să dezactivați Verificările sursei/destinației pe instanța dvs. NAT pentru ca aceasta să funcționeze. Din https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck
Fiecare instanță EC2 efectuează în mod implicit verificări sursă/destinație. Acest
înseamnă că instanța trebuie să fie sursa sau destinația oricărei
traficul pe care îl trimite sau îl primește. Cu toate acestea, o instanță NAT trebuie să poată
trimiteți și primiți trafic atunci când sursa sau destinația nu este ea însăși.
Prin urmare, trebuie să dezactivați verificările sursei/destinației pe NAT
instanță.
Conceptual, asta are sens. Dar ceea ce sunt curios este cum se aplică de fapt. Înțelegerea mea neexpertă a NAT este că pachetele trimise de nodul NAT ar trebui să arate exact ca și cum ar fi venit de la nodul NAT însuși, cu adresa sa IP ca sursă.
Deci singurul lucru la care mă pot gândi este verificarea sursei de trafic, cu o schemă în care AWS se uită la valoarea TTL și cunoaște sistemul de operare pentru fiecare instanță, iar dacă nu este TTL de pornire implicit, atunci pachetul este respins (care nu ar fi o abordare nouă pentru blocarea NAT). Pe ieșire / SNAT, ar fi valoarea de pornire - 1, iar pe inbound / DNAT, ar fi cu unul mai puțin decât orice TTL a fost primit de la pachetul de la poarta de internet (care s-ar putea întâmpla să se potrivească dacă expeditorul ar avea un TTL de pornire mai mare iar numărul de hop a fost corect).
Cu toate acestea, pentru verificarea destinației de trafic, de unde ar ști că un pachet de intrare către instanța NAT, care va avea IP-ul public al instanței respective, nu are o destinație (finală) a acelei instanțe NAT? Faptul că instanța NAT va încerca să redirecționeze pachetul după ce îl primește pare secundar. Face o combinație de detectare TTL la ieșire pentru a ști că un port efemer pe instanța NAT este pentru primirea de răspunsuri la o conexiune NAT-ed? Sau se verifică destinația numai pentru capacitatea instanței NAT de a primi pachete pe subrețeaua privată (unde este o verificare ușoară a adresei IP a destinației)?