本地部署AD域和Exchange Server 2016
首先创建两台虚拟机,均使用Windows Server 2016 Datacenter镜像,名字为win-ad1和win-exchange1,win-ad1作为AD域和DNS服务器,win-exchange1作为exchange server。
部署AD域和DNS:
在win-ad1打开服务器管理器,添加角色和功能
选择AD域服务,添加默认功能
选择DNS服务,添加默认功能
安装中
点击确定,点击下一步
安装结束后会自动重启服务器
创建一个用户,用来管理exchange server
需要给用户分配以下所属组
在win-ad1上安装.NET Framework 4.8
exchange server加域操作:
首先把win-exchange1的首选DNS指向win-ad1的私有IP地址
设置成功后需重启计算机(使用Azure上的虚拟机会出现远程无法打开的情况,在页面网络设置里面设置DNS服务器,添加一个外部DNS地址)
重启后找到此电脑右键点击属性
输入在AD域上创建的账号
加入域后重启计算机,使用创建的账号([email protected])登入win-exchange1
在win-exchange1上做的操作:
- 安装.Net Framework 4.8
下载链接:https://dotnet.microsoft.com/download/dotnet-framework/net48
- 以管理员身份运行Windows Powershell,安装必需的 Windows组件:Install-WindowsFeature NET-Framework-45-Features, Server-Media-Foundation, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS
(安装成功)
- 安装Visual C++ Redistributable Package for Visual Studio 2012
网址:https://www.microsoft.com/en-US/download/details.aspx?id=30679
- 安装Visual C++ Redistributable Package for Visual Studio 2013
网址: https://www.microsoft.com/en-us/download/details.aspx?id=40784
- 安装Microsoft统一通信托管API 4.0 核心运行时(64 位)
地址:https://www.microsoft.com/enUS/download/details.aspx?id=34992
安装完成后重启服务器
安装exchange server 2016 CU14,下载地址为:
https://www.microsoft.com/en-us/download/details.aspx?id=100302
下载后是一个镜像文件,打开里面的.exe安装即可,安装步骤如下:
(安装完成!)安装后需重启服务器
安装后的任务(https://docs.microsoft.com/zh-cn/Exchange/plan-and-deploy/post-installation-tasks/post-installation-tasks?view=exchserver-2019具体配置请看官方文档):
首先访问https://localhost/ecp,输入账号和密码进入到邮件管理中心
(1)创建 Internet 发送连接器
还要设置一下域名解析,mx记录指向mail.effortjz.club,mail.effortjz.club的A记录指向win-exchange1的公网ip地址,其他设置
如下(我还设置了一个SPF记录):
验证是否已成功安装 Exchange,打开Exchange Management Shell运行Get-ExchangeServer命令,此命令返回组织中所有 Exchange 服务器的名称、Active Directory 站点、Exchange 服务器角色、Exchange 版本和 Exchange 版本的摘要列表。
在本地浏览器打开http://localhost/owa,输入用户名和密码进入到outlook邮箱
登陆后进行邮件收发测试,发现内部可以正常收发邮件,外部可以发送邮件但无法收到邮件,退信原因如下:
检查了域名effortjz.clubDNS解析是正常的
在win-exchange1上25端口开启正常
DNS服务运行正常,开启了所有接收连接器中的允许匿名用户依旧无法接收邮件
之后更改了一个默认的接收连接器(更改为上图的外部internet接收)更改后无法发送外部邮件,退信原因为451 4.4.0 DNS query failed.
搜索后查找相关解决办法,是因为本地DNS服务器无法解析外部域名,在AD域上解析收件人域名的MX记录超时
解决办法尝试了如下:
(1)AD域控制器更改DNS地址为自动获取(原本指向127.0.0.1),修改后重启依旧失败;
(2)在AD域的事件查看器中DNS server有如下警告,根据微软官方文档https://support.microsoft.com/en-us/help/2001093/troubleshoot-dns-event-id-4013-the-dns-server-was-unable-to-load-ad-in解决办法为更改注册表值为0
更改后重启依旧有这个警告。
最后成功的解决办法是在微软官方文档上找到的451 4.4.0 DNS 查询失败
https://docs.microsoft.com/zh-cn/exchange/troubleshoot/mailflow/dns-query-failed
解决办法为修复本地DNS 服务器中的问题,或为远程邮件路由配置外部 DNS 服务器,此为配置外部DNS服务器
首先添加一个外部DNS查找,设置为公共的DNS地址(8.8.8.8或者114.114.114.114)
然后在发送连接器勾选在其有传输角色的服务器上使用外部DNS载设置
设置完成后,进行外部邮件收发测试成功。(qq,163和263邮箱测试成功