EC2 인스턴스는 보안 그룹에서 포트를 연 후 인스턴스 내에서 포트에 대한 연결을 허용하지 않습니다.

EC2 인스턴스는 보안 그룹에서 포트를 연 후 인스턴스 내에서 포트에 대한 연결을 허용하지 않습니다.

포트 80, 443 및 22(tcp, 0.0.0.0/0 및 ::/0에서 인바운드)를 허용하는 보안 그룹에 EC2 인스턴스가 있습니다. 및 모든 아웃바운드 연결(0.0.0.0/0 & ::/0, 모든 tcp & udp).

최근에 메일 서버를 설정했기 때문에 0.0.0.0/0 및 ::/0에서 포트 25/tcp를 추가했습니다.

이제 예상대로 공용 IP를 사용하여 외부 호스트에서 내 메일 서버에 연결할 수 있으며 문제가 없습니다.

localhost호스트 이름 또는 127.0.0.1을 IP로 사용하여 인스턴스 내에서 연결할 수도 있습니다 .

하지만 공용 IP 또는 호스트 이름을 사용하여 인스턴스 내에서 포트 25의 인스턴스에 연결할 수 없습니다. 연결이 거부되거나 아무 것도 표시되지 않고 시간 초과만 발생합니다.

인스턴스의 다른 열려 있는 포트에서는 이 문제가 발생하지 않습니다. 인스턴스 셸 내에서 공용 IP를 사용하여 포트 80, 443 또는 22에 완벽하게 텔넷을 연결할 수 있습니다.

재부팅, 중지/시작을 시도하고 심지어 처음부터 새 보안 그룹을 생성하고 인스턴스를 전환해 보았습니다. 여전히 동일한 결과: 외부 연결은 정상입니다. 공용 IP를 사용한 내부 연결은 해당 포트에서만 실패합니다.

iptables는 괜찮아 보입니다. 이 포트에는 영향을 미치고 다른 포트에는 영향을 미치지 않는 제한이나 권한이 없습니다.

이 인스턴스에는 방화벽이 활성화되어 있지 않습니다(Debian Buster)

메일 서버는 postfix입니다(그것이 어떤 차이가 있는지는 모르겠습니다. 실제로 postfix 구성 문제인 경우 서버 로그에서 아무 것도 볼 수 없고 다른 모든 연결 소스를 허용하고 있다는 사실에 당황합니다...)

답변1

하지만 공용 IP 또는 호스트 이름을 사용하여 인스턴스 내에서 포트 25의 인스턴스에 연결할 수 없습니다. 연결이 거부되거나 아무 것도 표시되지 않고 시간 초과만 발생합니다.

Amazon EC2는 인스턴스로부터의 아웃바운드 SMTP 트래픽을 허용하지 않습니다(계정에 대해 예외를 신청하고 수신하지 않은 경우). 즉, 공용 IP 주소로는 서버의 SMTP 서버 또는 다른 사람의 SMTP 서버에 접근할 수 없습니다.

로컬 호스트에 연결해야 하는 경우 localhost에 연결하세요.

관련 정보