• 티스토리 홈
  • 프로필사진
    PeamS
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
PeamS
  • 프로필사진
    PeamS
    • 분류 전체보기 (20) N
      • SERVER (6)
        • HPE (5)
        • DELL (1)
      • OS (7) N
        • Install & Modify (3) N
        • Troubleshooting (3)
        • Command (1)
      • Network (3)
        • OmniSwitch (3)
      • 백업 (2)
        • Veeam (1)
      • 가상화 (0)
        • proxmox (2)
      • ETC (0)
        • 기록 (0)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
      • 블로그 방문을 환영합니다.
      등록된 공지가 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • [Rocky Linux] opendkim 설치하기
      2025년 12월 15일
      • PeamS
      • 작성자
      • 2025.12.15.:38

      Intro

      테스트 환경

      • OS : Rocky Linux 8.10, Rocky Linux 9.6
      • 메일발송서버는 send.creeper.kr
      • 보내는 주소는 @creeper.kr
      • 도메인 셀렉터는 crekey 로 가정해서 했습니다.

      주의사항

      sendmail.mc 파일 규칙 숙지 (역 따옴표, 작은 따옴표 규칙)
       - 예 : TRUST_AUTH_MECH([역따옴표]`LOGIN PLAIN DIGEST-MD5 CRAM-MD5'[작은따옴표])dnl[마무리]
      opendkim txt 레코드 값 넣을 때 개행문자, 띄어쓰기, key 누락하면 bad key 뜨니 꼭 신경써서 등록

       

      테스트하기

      테스트 하기 좋은 사이트 입니다. 수신 주소로 보내면 알아서 검사해 줍니다.  https://www.appmaildev.com/ko/dkim
       

      DKIM 테스트 - DKIM 유효성 검사기 - DKIM 확인 - DKIM Test

       

      www.appmaildev.com

       

      sendmail 발송 테스트는 다음과 같이..

      cat <<EOF | sendmail -t
      To: 받는사람
      Subject: Testing
      From: 보내는사람
      
      This is a test message
      EOF

       

      설치하기(복붙)

      # rocky 9 전용(안하면 dkim 설치 시 libmilter.so.1.0, libmemcached.so.11 충돌남)
      dnf config-manager --set-enabled crb
      
      # epel-release 저장소 추가 및 opendkim, sendmail 설치
      dnf install -y epel-release
      dnf install -y opendkim opendkim-tools sendmail sendmail-*
      
      
      # opendkim 설정파일 수정
      cp -apf /etc/opendkim.conf /etc/opendkim.conf_old
      sed -i 's;Mode\tv;Mode\tsv;g' /etc/opendkim.conf
      sed -i 's;# KeyTable\t/etc/opendkim/KeyTable;KeyTable\t/etc/opendkim/KeyTable;g' /etc/opendkim.conf
      sed -i 's;# SigningTable\trefile:/etc/opendkim/SigningTable;SigningTable\trefile:/etc/opendkim/SigningTable;g' /etc/opendkim.conf
      sed -i 's;# ExternalIgnoreList\trefile:/etc/opendkim/TrustedHosts;ExternalIgnoreList\trefile:/etc/opendkim/TrustedHosts;g' /etc/opendkim.conf
      sed -i 's;# InternalHosts\trefile:/etc/opendkim/TrustedHosts;InternalHosts\trefile:/etc/opendkim/TrustedHosts;g' /etc/opendkim.conf
      # 검증
      cat /etc/opendkim.conf |grep -v "^#" |egrep -i "Mode|KeyTable|SigningTable|ExternalIgnoreList|InternalHosts"
      
      
      # sendmail 수정
      cp -apf /etc/mail/sendmail.mc /etc/mail/sendmail.mc_old
      sed -i "58 i\TRUST_AUTH_MECH(\`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl" /etc/mail/sendmail.mc
      sed -i "59 i\define(\`confAUTH_MECHANISMS', \`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl" /etc/mail/sendmail.mc
      echo "INPUT_MAIL_FILTER(\`opendkim',\`S=local:/var/run/opendkim/opendkim.sock')dnl" >> /etc/mail/sendmail.mc
      # 검증
      cat /etc/mail/sendmail.mc |grep -v "^dnl" |egrep -i "TRUST_AUTH_MECH|confAUTH_MECHANISMS|INPUT_MAIL_FILTER"
      
      # sendmail 설정 적용
      m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
      
      
      # default key 생성하기
      ## 변수지정
      domainName="creeper.kr"
      domainKey="crekey"
      mailHost="$(hostname)"
      
      # 키 생성 및 소유자 변경
      mkdir -p /etc/opendkim/keys/${domainName}
      opendkim-genkey -b 1024 -d ${domainName} -D /etc/opendkim/keys/${domainName} -s ${domainKey} -v
      chown -R opendkim.opendkim /etc/opendkim/keys/${domainName}
      chmod 750 /etc/opendkim/keys/${domainName}
      
      # KeyTable 추가
      echo "${domainKey}._domainkey.${domainName} ${domainName}:${domainKey}:/etc/opendkim/keys/${domainName}/${domainKey}.private" >> /etc/opendkim/KeyTable
      # SigningTable 추가
      echo "*@${domainName} ${domainKey}._domainkey.${domainName}" >> /etc/opendkim/SigningTable
      # TrustedHosts 추가
      echo "${mailHost}" >> /etc/opendkim/TrustedHosts
      
      
      # 서비스 시작
      systemctl enable --now opendkim
      systemctl enable --now sendmail
      
      
      # 레코드 추가 값 
      cat /etc/opendkim/keys/${domainName}/${domainKey}.txt

      설치하기(수동)

      저장소 추가 및 패키지 설치

      rocky 9 전용 (opendkim 의존성 패키지 설치)

      dnf config-manager --set-enabled crb

       

      epel 저장소 추가

      dnf install -y epel-release

       

      opendkim, sendmail 설치

      dnf install -y opendkim opendkim-tools sendmail sendmail-*

       

      opendkim 설정파일 수정하기

      /etc/opendkim.conf 파일 수정

      vim /etc/opendkim.conf
      Mode    sv                                              # v -> sv 수정
      KeyTable      /etc/opendkim/KeyTable                    # 주석 해제
      SigningTable  refile:/etc/opendkim/SigningTable         # 주석 해제
      ExternalIgnoreList    refile:/etc/opendkim/TrustedHosts # 주석 해제
      InternalHosts refile:/etc/opendkim/TrustedHosts         # 주석 해제

       

      sendmail 설정파일 수정하기

      sendmail.mc 파일 수정

      vim /etc/mail/sendmail.mc
      ## 58,59 줄에 추가
      TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
      define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
      
      ## 맨 하단 opendkim 설정 추가 ##
      INPUT_MAIL_FILTER(`opendkim',`S=local:/var/run/opendkim/opendkim.sock')dnl

       

      설정 적용하기

      m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

       

      opendkim 키 만들기

      키 폴더 생성 및 opendkim 키 생성

      mkdir -p /etc/opendkim/keys/creeper.kr
      # opendkim-genkey -b <키 길이> -d <도메인 이름> -D <키 저장 디렉터리> -s <도메인 셀렉터> -v
      opendkim-genkey -b 1024 -d creeper.kr -D /etc/opendkim/keys/creeper.kr -s crekey -v

       

      권한 수정

      chmod 750 /etc/opendkim/keys/creeper.kr
      chown -R opendkim.opendkim /etc/opendkim/keys/creeper.kr/

       

      opendkim 키 추가하기

      KeyTable 에 생성한 키 추가하기

      vim /etc/opendkim/KeyTable
      crekey._domainkey.creeper.kr creeper.kr:crekey:/etc/opendkim/keys/creeper.kr/crekey.private

       

      SigningTable 추가

      vim /etc/opendkim/SigningTable
      *@creeper.kr crekey._domainkey.creeper.kr

       

      TrustedHosts 추가

      vim /etc/opendkim/TrustedHosts
      # 보내는 서버의 정보를 넣는다.
      send.creeper.kr

       

      서비스 시작

      systemctl enable --now opendkim
      systemctl enable --now sendmail

       

      마무리

      아래와 같이 dig 로 txt 레코드 조회 시 다음과 같이 조회되면 등록 완료 입니다.

       

      저는 cloudflare dns 를 쓰기 때문에 다음과 같이 넣었습니다.

       

      감사합니다.

      저작자표시 비영리 변경금지 (새창열림)

      'OS > Install & Modify' 카테고리의 다른 글

      [Linux] MariaDB 10.6 수동 설치  (2) 2025.09.15
      [WS 2025] 선택적 기능(WMIC, .NET Framework 3.5) 및 언어 팩 수동 설치하는 방법  (0) 2025.06.11
      다음글
      다음 글이 없습니다.
      이전글
      이전 글이 없습니다.
      댓글
    조회된 결과가 없습니다.
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바