웹사이트 검색

iRedMail 서비스를 Samba4 AD DC에 구성하고 통합하는 방법 - 11부


이 튜토리얼에서는 메일 서비스를 제공하는 iRedMail 기본 데몬, 메일 전송에 사용되는 Postfix, 계정 사서함에 메일을 전달하는 Dovecot을 수정하여 Samba4 Active Directory 도메인 컨트롤러에 통합하는 방법을 알아봅니다.

iRedMail을 Samba4 AD DC에 통합하면 Samba AD DC를 통한 사용자 인증, 관리 및 상태, AD 그룹 및 Roundcube의 전역 LDAP 주소록을 사용하여 메일 목록 생성 등의 기능을 활용할 수 있습니다.

요구사항

  1. Samba4 AD 통합을 위해 CentOS 7에 iRedMail 설치

1단계: Sama4 AD 통합을 위한 iRedMail 시스템 준비

1. 첫 번째 단계에서는 DHCP 서버에서 제공하는 동적 IP 주소를 사용하는 경우 컴퓨터에 고정 IP 주소를 할당해야 합니다.

ifconfig 명령을 실행하여 시스템 네트워크 인터페이스 이름을 나열하고 올바른 NIC에 대해 nmtui-edit 명령을 실행하여 사용자 정의 IP 설정으로 적절한 네트워크 인터페이스를 편집하십시오.

루트 권한으로 nmtui-edit 명령을 실행합니다.

ifconfig
nmtui-edit eno16777736

2. 편집을 위해 네트워크 인터페이스가 열리면 적절한 고정 IP 설정을 추가하고 Samba4 AD DC의 DNS 서버 IP 주소와 도메인 이름을 추가해야 합니다. 당신의 컴퓨터에서 영역. 아래 스크린샷을 가이드로 사용하세요.

3. 네트워크 인터페이스 구성을 마친 후 네트워크 데몬을 다시 시작하여 변경 사항을 적용하고 도메인 이름 및 samba4 도메인 컨트롤러 FQDN에 대해 일련의 ping 명령을 실행합니다.

systemctl restart network.service
cat /etc/resolv.conf     # verify DNS resolver configuration if the correct DNS servers IPs are queried for domain resolution
ping -c2 tecmint.lan     # Ping domain name
ping -c2 adc1            # Ping first AD DC
ping -c2 adc2            # Ping second AD DC

4. 다음으로 ntpdate 패키지를 설치하여 Samba 도메인 컨트롤러와 시간을 동기화하고 아래 명령을 실행하여 Samba4 시스템 NTP 서버에 쿼리합니다.

yum install ntpdate
ntpdate -qu tecmint.lan      # querry domain NTP servers
ntpdate tecmint.lan          # Sync time with the domain

5. 현지 시간이 Samba AD 시간 서버와 자동으로 동기화되기를 원할 수도 있습니다. 이 설정을 달성하려면 crontab -e 명령을 실행하여 매시간 실행되도록 예약된 작업을 추가하고 다음 줄을 추가하십시오.

0   */1	  *   *   *   /usr/sbin/ntpdate tecmint.lan > /var/log/ntpdate.lan 2>&1

2단계: iRedMail 통합을 위해 Samba4 AD DC 준비

6. 이제 이 튜토리얼에 설명된 대로 Samba4 Active Directory를 관리하기 위해 RSAT 도구가 설치된 Windows 시스템으로 이동하세요.

DNS 관리자를 열고 도메인 정방향 조회 영역으로 이동하여 새 A 레코드, MX 레코드 및 iRedMail 시스템 IP 주소를 가리키는 PTR 레코드. 아래 스크린샷을 가이드로 사용하세요.

A 레코드를 추가합니다(iRedMail 시스템의 이름과 IP 주소를 그에 따라 교체).

MX 레코드를 추가합니다(하위 도메인을 비워두고 이 메일 서버에 우선순위 10을 추가합니다).

역방향 조회 영역으로 확장하여 PTR 레코드를 추가합니다(iRedMail 서버의 IP 주소를 그에 따라 교체). 지금까지 도메인 컨트롤러에 대한 역방향 영역을 구성하지 않은 경우 다음 자습서를 읽으십시오.

  1. Windows에서 Samba4 DNS 그룹 정책 관리

7. 메일 서버가 제대로 작동하도록 하는 기본 DNS 레코드를 추가한 후 iRedMail 시스템으로 이동하여 bind-utils 패키지를 설치하고 새로 추가된 항목을 쿼리합니다. 아래 발췌문에 제안된 대로 메일 기록을 작성하세요.

Samba4 AD DC DNS 서버는 이전 단계에서 추가된 DNS 레코드로 응답해야 합니다.

yum install bind-utils
host tecmint.lan
host mail.tecmint.lan
host 192.168.1.245

Windows 시스템에서 명령 프롬프트 창을 열고 위 메일 서버 레코드에 대해 nslookup 명령을 실행합니다.

8. 마지막 사전 요구 사항으로 Samba4 AD DC에서 vmail이라는 이름으로 최소한의 권한을 가진 새 사용자 계정을 만들고 이 사용자에 대해 강력한 비밀번호를 선택하고 확인하십시오. 이 사용자의 비밀번호는 만료되지 않습니다.

vmail 사용자 계정은 iRedMail 서비스에서 Samba4 AD DC LDAP 데이터베이스를 쿼리하고 이메일 계정을 가져오는 데 사용됩니다.

vmail 계정을 생성하려면 아래 스크린샷에 설명된 것처럼 RSAT 도구가 설치된 영역에 연결된 Windows 시스템에서 ADUC 그래픽 도구를 사용하거나 다음 항목에 설명된 대로 도메인 컨트롤러에서 직접 samba-tool 명령줄을 사용합니다.

  1. Linux 명령줄에서 Samba4 Active Directory 관리

이 가이드에서는 위에서 언급한 첫 번째 방법을 사용하겠습니다.

9. iRedMail 시스템에서 아래 명령을 실행하여 Samba4 AD DC LDAP 데이터베이스를 쿼리하는 vmail 사용자 기능을 테스트합니다. 반환된 결과는 아래 스크린샷에 표시된 대로 도메인에 대한 총 개체 항목 수여야 합니다.

ldapsearch -x -h tecmint.lan -D '[email ' -W -b 'cn=users,dc=tecmint,dc=lan'

참고: Samba4 AD에서 도메인 이름과 LDAP 기본 DNS를 교체하세요('cn=users,dc=tecmint,dc=lan' ) 따라서.

3단계: iRedMail 서비스를 Samba4 AD DC에 통합

10. 이제 Samba4 도메인 컨트롤러에 메일 계정을 쿼리하기 위해 iRedMail 서비스(Postfix, Dovecot 및 Roundcube)를 조작할 차례입니다.

수정될 첫 번째 서비스는 MTA 에이전트인 Postfix입니다. 일련의 MTA 설정을 비활성화하고, Postfix 로컬 도메인 및 사서함 도메인에 도메인 이름을 추가하고, Dovecot 에이전트를 사용하여 수신된 메일을 사용자 사서함에 로컬로 전달하려면 다음 명령을 실행하십시오.

postconf -e virtual_alias_maps=' '
postconf -e sender_bcc_maps=' '
postconf -e recipient_bcc_maps= ' '
postconf -e relay_domains=' '
postconf -e relay_recipient_maps=' '
postconf -e sender_dependent_relayhost_maps=' '
postconf -e smtpd_sasl_local_domain='tecmint.lan'	#Replace with your own domain
postconf -e virtual_mailbox_domains='tecmint.lan'	#Replace with your own domain	
postconf -e transport_maps='hash:/etc/postfix/transport'
postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'  # Check SMTP senders
postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'  # Check local mail accounts
postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'  # Check local mail lists
cp /etc/postfix/transport /etc/postfix/transport.backup	# Backup transport conf file
echo "tecmint.lan dovecot" > /etc/postfix/transport		# Add your domain with dovecot transport
cat /etc/postfix/transport					# Verify transport file
postmap hash:/etc/postfix/transport

11. 다음으로, 선호하는 텍스트 편집기를 사용하여 Postfix /etc/postfix/ad_sender_login_maps.cf 구성 파일을 생성하고 아래 구성을 추가합니다.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= userPrincipalName
debuglevel      = 0

12. 다음 구성으로 /etc/postfix/ad_virtual_mailbox_maps.cf를 생성합니다.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format   = %d/%u/Maildir/
debuglevel      = 0

13. 아래 구성으로 /etc/postfix/ad_virtual_group_maps.cf를 생성합니다.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectClass=group)(mail=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0

세 가지 구성 파일 모두에서 server_host, bind_dn, bind_pwsearch_base의 값을 교체하여 자신의 도메인 맞춤 설정을 반영합니다. 설정.

14. 다음으로 Postfix 기본 구성 파일을 열고 # 주석을 추가하여 iRedAPD check_policy_servicesmtpd_end_of_data_restrictions를 검색하고 비활성화합니다. 다음 줄 앞에.

nano /etc/postfix/main.cf

다음 줄을 주석 처리합니다.

#check_policy_service inet:127.0.0.1:7777
#smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777

15. 이제 다음 예에 표시된 일련의 쿼리를 실행하여 기존 도메인 사용자 및 도메인 그룹을 사용하여 Samba AD에 대한 Postfix 바인딩을 확인합니다.

결과는 아래 스크린샷에 표시된 것과 유사해야 합니다.

postmap -q [email  ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_sender_login_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_virtual_group_maps.cf

이에 따라 AD 사용자 및 그룹 계정을 교체하십시오. 또한 사용 중인 AD 그룹에 일부 AD 사용자 구성원이 할당되어 있는지 확인하세요.

16. 다음 단계에서는 Samba4 AD DC를 쿼리하기 위해 Dovecot 구성 파일을 수정합니다. 편집을 위해 /etc/dovecot/dovecot-ldap.conf 파일을 열고 다음 줄을 추가합니다.

hosts           = tecmint.lan:389
ldap_version    = 3
auth_bind       = yes
dn              = [email 
dnpass          = ad_vmail_password
base            = dc=tecmint,dc=lan
scope           = subtree
deref           = never
user_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs      = userPassword=password
default_pass_scheme = CRYPT
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/

Samba4 AD 계정의 사서함은 Linux 시스템의 /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ 위치에 저장됩니다.

17. dovecot 기본 구성 파일에서 pop3 및 imap 프로토콜이 활성화되어 있는지 확인하세요. /etc/dovecot/dovecot.conf 파일을 열어 할당량 및 acl 메일 플러그인도 활성화되어 있는지 확인하고 이러한 값이 있는지 확인하세요.

18. 선택적으로 각 도메인 사용자에 대해 최대 500MB의 저장 공간을 초과하지 않도록 전역 하드 할당량을 설정하려면 /etc/dovecot/dovecot에 다음 줄을 추가합니다. conf 파일.

quota_rule = *:storage=500M 

19. 마지막으로 지금까지의 모든 변경 사항을 적용하려면 루트 권한으로 아래 명령을 실행하여 Postfix 및 Dovecot 데몬을 다시 시작하고 상태를 확인합니다.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. IMAP 프로토콜을 사용하여 명령줄에서 메일 서버 구성을 테스트하려면 아래 예에 표시된 대로 telnet 또는 netcat 명령을 사용하십시오.

nc localhost 143
a1 LOGIN ad_user@your_domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Samba4 사용자 계정을 사용하여 명령줄에서 IMAP 로그인을 수행할 수 있으면 iRedMail 서버가 Active Directory 계정에 대한 메일을 보내고 받을 준비가 된 것 같습니다.

다음 튜토리얼에서는 Roundcube 웹 메일을 Samba4 AD DC와 통합하고 글로벌 LDAP 주소록을 활성화하고 Roudcube를 사용자 정의하고 브라우저에서 Roundcube 웹 인터페이스에 액세스하고 일부 불필요한 iRedMail 서비스를 비활성화하는 방법에 대해 설명합니다.