<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[邮件服务器DNS设置-----MX、SPF、DKIM记录详解]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Sun, 06 Apr 2014 11:07:14 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	邮件服务器的DNS设置<br/><br/>DNS记录，需要你到你的域名托管商那里进行设置或者你自己管理DNS服务器。不少域名托管商不支持txt记录或者不支持DKIM记录，所以你就无法使用SPF和DKIM的功能。<br/>DNS的修改，需要48小时以上才能生效。<br/>国内的万网是不支持DKIM，目前新网是支持SPF和DKIM。<br/><br/>1.MX记录<br/>邮件的MX记录最好是指向机器A记录，尽量不要直接指向IP地址（不符合规范）。<br/>1.1 添加A记录<br/>mail.example.com 192.168.1.100<br/>1.2 添加MX记录<br/>example.com mail.example.com<br/>1.3 测试MX记录<br/># host exmple.com<br/>example.com mail is handled by 10 mail.example.com.<br/>#nslookup mail.example.com<br/>Name:mail.example.com<br/>Address:192.168.1.100<br/><br/>2.SPF记录<br/>SPF是指Sender Policy Framework，是为了防范垃圾邮件而提出来的一种DNS记录类型，SPF是一种TXT类型的记录。SPF记录的本质，就是向收件人宣告：本域名的邮件从清单上所列IP发出的都是合法邮件，并非冒充的垃圾邮件。设置好SPF是正确设置邮件发送的域名记录和STMP的非常重要的一步。<br/>例如：<br/>SPF 记录指向A主机记录<br/>example.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TXT&nbsp;&nbsp;&nbsp;&nbsp; "v=spf1 mx mx:mail.example.com ~all"<br/>SPF 记录指向IP地址<br/>example.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TXT&nbsp;&nbsp;&nbsp;&nbsp; "v=spf1 ip4:192.168.1.100 ~all"<br/><br/>2.1 如何查看SPF<br/>Windows下进入DOS模式后用以下命令:<br/>nslookup -type=txt 域名<br/>Unix操作系统下用：<br/># dig -t txt 域名<br/><br/>2.2 SPF的简单说明如下：<br/>v=spf1 表示 spf1 的版本<br/>IP4 代表IPv4进行验证(IP6代表用IPv6进行验证), 注意 “ip4:” 和“IP”之间是没有空格的<br/>~all 代表结束<br/><br/>2.3 SPF记录例释<br/>我们看这条SPF:<br/>yourdomain.com "v=spf1 a mx mx:mail.jefflei.com ip4:202.96.88.88 ~all"<br/>这条SPF记录具体的说明了允许发送 @yourdomain.com 的IP地址是：a （这个a是指 yourdomain.com 解析出来的IP地址，若没有配置应取消）<br/>mx （yourdomain.com 对应的mx，即 mail.yourdomain.com的A记录所对应的ip）<br/>mx:mail.jefflei.com （如果没有配置过mail.jefflei.com这条MX记录也应取消）<br/>ip4:202.96.88.88 （直接就是 202.152.186.85 这个IP地址）<br/>其他还有些语法如下：<br/>- Fail, 表示没有其他任何匹配发生<br/>~ 代表软失败，通常用于测试中<br/>? 代表忽略<br/><br/>如果外发的ip不止一个，那么必须要包含多个<br/>v=spf1 ip4:202.96.88.88 ip4:202.96.88.87 ~all<br/><br/>2.4 测试SPF设置结果<br/>设置好 DNS中的SPF记录后，发送邮件给自己的gmail，然后查看邮件的源文件，应该能看到类似的邮件头，其中有pass表示设置成功。<br/>Received-SPF: pass (google.com: domain of test@jefflei.com designates<br/>&nbsp;&nbsp;&nbsp;&nbsp;202.96.88.87 as permitted sender) client-ip=202.96.88.87;<br/>需要注意的是，服务器的IP若有更改，需要同时修改SPF！！！<br/><br/>2.5 利用SPF记录防止垃圾邮件<br/>在Unix下可以安装配置SpamAssassin之类的插件来防止垃圾邮件和钓鱼邮件(Phishing)<br/><br/><br/>3.DKIM记录<br/>DKIM 技术通过在每封电子邮件上增加加密的数字标志，然后与合法的互联网地址数据库中的记录进行比较。当收到电子邮件后，只有加密信息与数据库中记录匹配的电子邮件，才能够进入用户的收件箱。它还能检查邮件的完整性，避免黑客等未授权者的修改。 DKIM 的基本工作原理同样是基于传统的密钥认证方式，他会产生两组钥匙，公钥(public key)和私钥(private key)，公钥将会存放在 DNS 中，而私钥会存放在寄信服务器中。私钥会自动产生，并依附在邮件头中，发送到寄信者的服务器里。公钥则放在DNS服务器上，供自动获得。收信的服务器，将会收到夹带在邮件头中的私钥和在DNS上自己获取公钥，然后进行比对，比较寄信者的域名是否合法，如果不合法，则判定为垃圾邮件。 由于数字签名是无法仿造的，因此这项技术对于垃圾邮件制造者将是一次致命的打击，他们很难再像过去一样，通过盗用发件人姓名、改变附件属性等小伎俩达到目的。在此之前，垃圾邮件制造者通过把文本转换为图像等方式逃避邮件过滤，并且使得一度逐渐下降的垃圾邮件数目再度抬头。<br/>注意：Amavisd-new 只有 2.6.0 及以上版本集成了 DKIM 功能。<br/><br/>3.1 这里可以通过iredmail.tips 获得域名的DKIM，也可以在命令行下输入<br/># amavisd-new showkeys<br/>; key#1, domain example.com, /var/lib/dkim/example.com.pem<br/>dkim._domainkey.example.com.&nbsp;&nbsp;&nbsp;&nbsp;3600 TXT (<br/>&nbsp;&nbsp;"v=DKIM1; p="<br/>&nbsp;&nbsp;"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGNVMuQRKqYeySIzqTGTm3xRzF"<br/>&nbsp;&nbsp;"/ZzhmMnpZkEcVVjFAk+t7E388oFGu/knyh6KBKwpZxHUN5HoOYVjMudqaR2FcSvK"<br/>&nbsp;&nbsp;"z+joFj8Vh3rXoTLa1zHDyfD7hICzxdEgmQZ8MJM5rjPPrRGZXnPowNYDsd6nDJ86"<br/>&nbsp;&nbsp;"N38iFYU+jALBYDLBwQIDAQAB")<br/><br/>3.2 把上面记录添加到ISP的DNS记录<br/>dkim._domainkey.example.com.&nbsp;&nbsp; v=DKIM1; p=MIGfMA0....（省略）DLBwQIDAQAB<br/><br/>3.3 添加完DNS记录后，如果记录生效，可以通过运行命令检测<br/># amavisd-new testkeys<br/>TESTING: dkim._domainkey.example.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> pass<br/><br/>检查DNS设置<br/>下面有几种方法，可以帮助你检测DNS是否设置生效和正常工作：<br/>1.nslookup<br/>#nslookup<br/>Default Server:&nbsp;&nbsp;unknown<br/>Address:&nbsp;&nbsp;192.168.1.1<br/>> server 4.2.2.1<br/>Default Server:&nbsp;&nbsp;vnsc-pri.sys.gtei.net<br/>Address:&nbsp;&nbsp;4.2.2.1<br/>> set type=mx<br/>> example.com<br/>Server:&nbsp;&nbsp;vnsc-pri.sys.gtei.net<br/>Address:&nbsp;&nbsp;4.2.2.1<br/>Non-authoritative answer:<br/>example.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MX preference = 20, mail exchanger = mail.example.com<br/>> set type=txt<br/>> example.com<br/>Server:&nbsp;&nbsp;vnsc-pri.sys.gtei.net<br/>Address:&nbsp;&nbsp;4.2.2.1<br/>Non-authoritative answer:<br/>example.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text =<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"v=spf1 ip4:192.168.1.100 -all"<br/>> dkim._domainkey.example.com<br/>Server:&nbsp;&nbsp;vnsc-pri.sys.gtei.net<br/>Address:&nbsp;&nbsp;4.2.2.1<br/>Non-authoritative answer:<br/>dkim._domainkey.example.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text =<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"v=DKIM1; p= MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsgZaIvYHAos2jbp3CHW0<br/>AwrTnAEwV1p4EaZP/JuF8t1BETBVg6WJr3YWN5ijCpi9vnw96nmf/u5MgtbLwZ+AzDBkbOY7Jbb/hIO+<br/>mpmmfdJAY3w8KoXLCuQKDysXOys45YtfJEj66s51EHH3W+iXPYw3I/NWHjY3a5/mXnk4XJQIDAQAB"<br/><br/>2.linux dig<br/>MX记录<br/># host exmple.com<br/>example.com mail is handled by 10 mail.example.com.<br/><br/>SPF记录<br/># dig txt hotmail.com<br/>; <<>> DiG 9.4.2-P2 <<>> txt hotmail.com<br/>;; global options:&nbsp;&nbsp;printcmd<br/>;; Got answer:<br/>;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43130<br/>;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0<br/><br/>;; QUESTION SECTION:<br/>;hotmail.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TXT<br/><br/>;; ANSWER SECTION:<br/>hotmail.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3600&nbsp;&nbsp;&nbsp;&nbsp;IN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TXT&nbsp;&nbsp;&nbsp;&nbsp; "v=spf1 include:spf-a.hotmail.com include:spf-b.hotmail.com include:spf-c.hotmail.com include:spf-d.hotmail.com ~all"<br/><br/>;; Query time: 176 msec<br/>;; SERVER: 64.71.161.8#53(64.71.161.8)<br/>;; WHEN: Sat Dec&nbsp;&nbsp;5 08:43:51 2009<br/>;; MSG SIZE&nbsp;&nbsp;rcvd: 157<br/><br/>DKIM记录<br/>#dig txt&nbsp;&nbsp;dkim._domainkey.example.com
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] 邮件服务器DNS设置-----MX、SPF、DKIM记录详解]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>