Firewalld는 포트가 열려 있다고 말하지만 nmap은 포트가 닫혀 있다고 말합니다.

Firewalld는 포트가 열려 있다고 말하지만 nmap은 포트가 닫혀 있다고 말합니다.

CentOS 7을 설치할 때 서버에 Gmail 별칭으로 만든 이메일 계정 중 하나에 연결할 수 없습니다.

다음 명령을 실행했습니다.

 firewall-cmd --permanent --zone=public --add-service=smtp
 firewall-cmd --permanent --zone=public --add-port=25/tcp

내가 만들 때

firewall-cmd --permanent --zone=public --query-port=25/tcp

"예"를 반환합니다.

하지만 Gmail과 다양한 이메일 테스트 사이트에서는 여전히 "서버에 연결할 수 없음" 오류가 발생합니다.

그런 다음 나는

nmap -sT -O localhost

내 포트가 거기에 나열되지 않은 것을 보았습니다. 어떤 아이디어가 있나요?

답변1

두가지. 먼저, 방화벽을 사용하면 firewall-cmd --reload영구 규칙을 사용하거나 적용한 후에 다시 로드 해야 합니다 --complete-reload. 쿼리를 다시 검증하거나 firewall-cmd --list-all.

둘째, 위의 작업을 이미 수행했다면 ss -tuna | grep 25듣고 있는지 확인하십시오 *:25. "127.0.0.1:25"를 수신하는 경우 다른 인터페이스를 수신하도록 postfix를 재구성해야 합니다. 예.

inet_interfaces = $myhostname
# or...
inet_interfaces = all

답변2

lo, LAN 및 WAN의 세 가지 장치 인터페이스가 있다고 가정합니다.

  • 보라, localhost 127.0.0.1
  • LAN, 근거리통신망 192.168.1.2
  • WAN, 월드 에어리어 네트워크 169.254.8.8

게시물의 영역이 공개라고 가정하고 WAN에서 트래픽을 열면 해당 트래픽이 전달되어야 합니다. 이를 소스 및 대상이라고 합니다.

외부적으로는 WAN에서 나오므로 소스를 알 수 없으므로 모두 허용할 수 있습니다: 0.0.0.0

우리의 메일 서버는 LAN에서 실행되므로 더 많은 서버가 로컬에서 쉽게 사용할 수 있습니다. (방화벽에서 허용하는 경우) 외부에서 도달하려면 목적지를 정의해야 합니다.

소스 = 0.0.0.0, 대상 = 포트 25의 192.168.1.2. 포트에는 소스 포트와 대상 포트도 있습니다.

0.0.0.0:25 -> 192.168.1.2:25

외부인이 보기에는 이렇습니다.

my.ip.address -> 169.254.8.8:25

이제 문제는 터널 끝에 누군가가 있는가 하는 것입니다. 아마도 메일 서버가 lo(127.0.0.1)에 설정되어 있을 것입니다.

포트를 확인하려면 다음을 실행할 수 있습니다 netstat -al.

  • -a 또는 --all 현재 사용 중인 모든 소켓을 표시합니다.
  • -l 또는 --listening은 현재 들어오는 연결을 수신하고 있는 소켓만 표시합니다.

내 생각에 plesk는 일반적으로 인스턴스 위에 방화벽 계층이 있는 가상 호스팅 제공업체인 것 같습니다. 그런 다음 인스턴스 자체에 방화벽을 구성하지 말고 상단에 방화벽을 구성하세요.

나는 plesk에 대한 경험이 없지만 FAQ를 확인하십시오.

관련 정보