- [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 crbepel 저장소 추가
dnf install -y epel-releaseopendkim, sendmail 설치
dnf install -y opendkim opendkim-tools sendmail sendmail-*opendkim 설정파일 수정하기
/etc/opendkim.conf 파일 수정
vim /etc/opendkim.confMode 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.cfopendkim 키 만들기
키 폴더 생성 및 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/KeyTablecrekey._domainkey.creeper.kr creeper.kr:crekey:/etc/opendkim/keys/creeper.kr/crekey.privateSigningTable 추가
vim /etc/opendkim/SigningTable*@creeper.kr crekey._domainkey.creeper.krTrustedHosts 추가
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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)