[Rocky Linux] opendkim 설치하기

2025. 12. 15. 14:38·OS/Install & Modify

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' 카테고리의 다른 글

[Rocky Linux] LVM 정리  (0) 2026.03.16
[Windows 11] 선택적 기능 WMIC, .NET Framework 3.5 수동 설치하기  (0) 2026.03.10
잡다한 명령어 모음  (0) 2026.01.15
[Linux] MariaDB 10.6 수동 설치  (2) 2025.09.15
[WS 2025] 선택적 기능(WMIC, .NET Framework 3.5) 및 언어 팩 수동 설치하는 방법  (0) 2025.06.11
'OS/Install & Modify' 카테고리의 다른 글
  • [Windows 11] 선택적 기능 WMIC, .NET Framework 3.5 수동 설치하기
  • 잡다한 명령어 모음
  • [Linux] MariaDB 10.6 수동 설치
  • [WS 2025] 선택적 기능(WMIC, .NET Framework 3.5) 및 언어 팩 수동 설치하는 방법
PeamS
PeamS
본 블로그의 글들은 제 주관적인 생각이 반영되어 있으니, 항상 절대적인 정답이 아닐 수 있음을 유의해 주세요. 모든 글은 수시로 바뀝니다. 미완성에 주의하세요. 위키 처럼 사용중
  • PeamS
    각박딱딱
    PeamS
  • 전체
    오늘
    어제
    • 분류 전체보기 (41)
      • MAIN (1)
      • SERVER (11)
        • HPE (10)
        • DELL (1)
      • OS (12)
        • Install & Modify (6)
        • Troubleshooting (4)
        • Command (1)
      • Network (3)
        • OmniSwitch (3)
      • 컨테이너 (0)
      • Synology (0)
      • 백업 (4)
        • Veeam (1)
        • ETC (0)
      • 가상화 (2)
        • proxmox (2)
      • ETC (0)
        • 기록 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

    • 위키처럼 쓰는 블로그
  • 인기 글

  • 태그

    윈도우 서버 설치 시 드라이브 안 보임
    source install
    20.0.0 Beta
    수동설치
    root 접속하기
    v13
    언어팩 수동설치
    mariadb
    일괄업데이트
    wmic 수동설치
    opendkim 설치
    sum
    선택적기능 수동설치
    펌웨어
    Veeam Backup Replication
    opendkim
    .NET Framework 3.5 수동설치
    MariaDB 10.6
    Linux
    hpe
    proxmox
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
PeamS
[Rocky Linux] opendkim 설치하기
상단으로

티스토리툴바