Рейтинг:1

Как AWS реализует SrcDestCheck (проверки источника/назначения)

флаг ru

В документации по настройке экземпляров NAT указано, что вы должны отключить проверку источника/назначения на своем экземпляре NAT, чтобы он работал. От https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck

Каждый инстанс EC2 по умолчанию выполняет проверку источника/назначения. Этот означает, что экземпляр должен быть источником или получателем любого трафик, который он отправляет или получает. Однако экземпляр NAT должен иметь возможность отправлять и получать трафик, когда источник или пункт назначения не являются самими собой. Поэтому вы должны отключить проверку источника/назначения на NAT. пример.

Концептуально это имеет смысл. Но что мне любопытно, так это то, как это на самом деле применяется. Мое неспециальное понимание NAT заключается в том, что пакеты, отправленные узлом NAT, должны выглядеть так же, как если бы они исходили от самого узла NAT, с его IP-адресом в качестве источника.

Так что единственное, что я могу придумать, это проверка источника трафика со схемой, в которой AWS просматривает значение TTL и знает ОС для каждого экземпляра, и если это не начальный TTL по умолчанию, то пакет отклоняется (что не будет новым подходом к блокировке NAT). На исходящих / SNAT это будет начальное значение - 1, а на входящих / DNAT оно будет на единицу меньше, чем любой TTL, полученный от пакета от интернет-шлюза (что могло бы совпадать, если бы отправитель имел более высокий начальный TTL). и количество прыжков было в самый раз).

Однако для проверки назначения трафика, как он узнает, что входящий пакет к экземпляру NAT, который будет иметь общедоступный IP-адрес этого экземпляра, не имеет (конечного) пункта назначения этого экземпляра NAT? Тот факт, что экземпляр NAT попытается переслать пакет после его получения, кажется второстепенным. Выполняется ли какая-то комбинация определения TTL с отслеживанием состояния на исходящем, чтобы знать, что эфемерный порт на экземпляре NAT предназначен для получения ответов на соединение с NAT? Или пункт назначения проверяет Только для способности экземпляра NAT получать пакеты в частной подсети (где это простая проверка IP-адреса назначения)?

Tim avatar
флаг gp
Tim
Я предполагаю, что это обеспечивается гиперплоскостью AWS, которая является базовой сетью, по которой проходит весь трафик VPC https://www.youtube.com/watch?v=8gc2DgBqo9U.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.