Невозможно подключиться к EC2, если я не разрешаю ВСЕ TCP-соединения в исходящих сообщениях NACL

Я хочу РАЗРЕШИТЬ только соединение ssh и порт 8000 на моем компьютере EC2 в AWS.

Я установил для своего входящего и исходящего подключения РАЗРЕШИТЬ порт 22 и 8000 (см. Рисунки ниже).
Входящий: Исходящий:

Но когда я пытаюсь подключиться к машине по curl/SSH, это не работает, пока я не установлю порт ALL_TCP, который будет открыт для исходящего соединения (как на картинке ниже).

Конечно, я могу открыть ВСЕ порт TCP, но я делаю это ради экспериментов с NACL.

Зачем?

1 ответ

Решение

Это связано с эфемерными портами:

Чтобы разрешить соединение со службой, работающей на экземпляре, связанный сетевой ACL должен разрешать как входящий трафик на порт, который прослушивает служба, так и исходящий трафик с эфемерных портов. Когда клиент подключается к серверу, случайный порт из временного диапазона портов (1024-65535) становится исходным портом клиента.

Ссылка: https://aws.amazon.com/premiumsupport/knowledge-center/resolve-connection-sg-acl-inbound/

Другие вопросы по тегам