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

[Linux] MariaDB 10.6 수동 설치  (2) 2025.09.15
[WS 2025] 선택적 기능(WMIC, .NET Framework 3.5) 및 언어 팩 수동 설치하는 방법  (0) 2025.06.11
'OS/Install & Modify' 카테고리의 다른 글
  • [Linux] MariaDB 10.6 수동 설치
  • [WS 2025] 선택적 기능(WMIC, .NET Framework 3.5) 및 언어 팩 수동 설치하는 방법
PeamS
PeamS
본 블로그의 글들은 제 주관적인 생각이 반영되어 있으니, 항상 절대적인 정답이 아닐 수 있음을 유의해 주세요. 모든 글은 수시로 바뀝니다. 미완성에 주의하세요.
  • PeamS
    각박딱딱
    PeamS
  • 전체
    오늘
    어제
    • 분류 전체보기 (22) N
      • SERVER (8) N
        • HPE (7) N
        • DELL (1)
      • OS (7)
        • Install & Modify (3)
        • Troubleshooting (3)
        • Command (1)
      • Network (3)
        • OmniSwitch (3)
      • 백업 (2)
        • Veeam (1)
      • 가상화 (0)
        • proxmox (2)
      • ETC (0)
        • 기록 (0)
  • 블로그 메뉴

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

  • 공지사항

    • 블로그 방문을 환영합니다.
  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바