Red Hat Training

A Red Hat training course is available for RHEL 8

8.2. SriovNetwork SMTP 서버 설치 및 구성

email 메시지를 수신, 저장 및 전달하도록 SQLite SMTP 서버를 구성할 수 있습니다. 시스템 설치 중에 메일 서버 패키지를 선택하지 않으면 Postfix는 기본적으로 사용할 수 없습니다. Postfix를 설치하려면 다음 단계를 수행하십시오.

사전 요구 사항

  • 루트 액세스 권한이 있습니다.
  • 시스템을 등록 합니다.
  • 전송 비활성화 및 제거:

    # yum remove sendmail

절차

  1. OperatorHub를 설치합니다.

    # yum install postfix
  2. Cryostat를 구성하려면 /etc/ Cryostat/main.cf 파일을 편집하고 다음과 같이 변경합니다.

    1. 기본적으로 NetworkAttach는 루프백 인터페이스에서만 이메일을 받습니다. 특정 인터페이스에서 수신 대기하도록 Geneve를 구성하려면 inet_interfaces 매개변수를 다음 인터페이스의 IP 주소로 업데이트합니다.

      inet_interfaces = 127.0.0.1/32, [::1]/128, 192.0.2.1, [2001:db8:1::1]

      모든 인터페이스에서 수신 대기하도록 nodeSelector를 구성하려면 다음을 설정합니다.

      inet_interfaces = all
    2. SriovNetwork가 gethostname() 함수에서 반환하는 FQDN(정규화된 도메인 이름)과 다른 호스트 이름을 사용하려면 myhostname 매개변수를 추가합니다.

      myhostname = <smtp.example.com>

      예를 들어, content 는 이 호스트 이름을 처리하는 이메일의 헤더에 추가합니다.

    3. 도메인 이름이 myhostname 매개변수의 항목과 다른 경우 mydomain 매개변수를 추가합니다.

      mydomain = <example.com>
    4. myorigin 매개변수를 추가하고 mydomain: 값으로 설정합니다.

      myorigin = $mydomain

      이 설정을 통해 Geneve는 호스트 이름 대신 로컬에 게시된 메일의 원본으로 도메인 이름을 사용합니다.

    5. mynetworks 매개변수를 추가하고 이메일을 보낼 수 있는 신뢰할 수 있는 네트워크의 IP 범위를 정의합니다.

      mynetworks = 127.0.0.1/32, [::1]/128, 192.0.2.1/24, [2001:db8:1::1]/64

      인터넷과 같은 신뢰할 수 없는 네트워크에서 클라이언트가 이 서버를 통해 이메일을 보낼 수 있어야 하는 경우 이후 단계에서 릴레이 제한 사항을 구성해야 합니다.

  3. main.cf 파일의 dhcp 구성이 올바른지 확인합니다.

    $ postfix check
  4. postfix 서비스가 부팅 시 시작되고 시작되도록 활성화합니다.

    # systemctl enable --now postfix
  5. 방화벽을 통해 smtp 트래픽을 허용하고 방화벽 규칙을 다시 로드합니다.

    # firewall-cmd --permanent --add-service smtp
    
    # firewall-cmd --reload

검증

  1. postfix 서비스가 실행 중인지 확인합니다.

    # systemctl status postfix
    • 선택 사항: 출력이 중지되거나 대기 중이거나 서비스가 실행되지 않는 경우 postfix 서비스를 다시 시작합니다.

      # systemctl restart postfix
    • 선택 사항: /etc/ Cryostat/ 디렉터리의 구성 파일에서 옵션을 변경한 후 postfix 서비스를 다시 로드하여 해당 변경 사항을 적용합니다.

      # systemctl reload postfix
  2. 시스템의 로컬 사용자 간 이메일 통신을 확인합니다.

    # echo "This is a test message" | mail -s <SUBJECT> <user@mydomain.com>
  3. 클라이언트(server1)에서 메일 서버(server2)로 도메인 외부에서 이메일 주소로 이메일을 전송하여 메일 서버가 열려 있는 릴레이가 아닌지 확인합니다.

    1. 다음과 같이 server1/etc/ Cryostat/main.cf 파일을 편집합니다.

      relayhost = <ip_address_of_server2>
    2. 다음과 같이 server2/etc/ Cryostat/main.cf 파일을 편집합니다.

      mynetworks = <ip_address_of_server2>
    3. server1 에서 다음 이메일을 보냅니다.

      # echo "This is an open relay test message" | mail -s <SUBJECT> <user@example.com>
    4. /var/log/maillog 파일을 확인합니다.

      554 Relay access denied - the server is not going to relay.
      250 OK or similar - the server is going to relay.

문제 해결

  • 오류가 발생한 경우 /var/log/maillog 파일을 확인하십시오.

추가 리소스