Google Apps 出现异常 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yylzcom
V2EX    Google

Google Apps 出现异常

  •  
  •   yylzcom 2015-04-14 11:54:02 +08:00 3957 次点击
    这是一个创建于 3843 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从昨天下午北京时间大约18点开始,我们公司托管在google apps标准版(免费)上的邮件出现无法发送,接收延迟的情况。

    症状:
    1. 接收不到同域的邮件(同后缀不同账户之间的邮件, 比如[email protected][email protected]不能收发对方邮件)
    2. 突然收到数封几分钟甚至十几小时之前的外部邮件
    3. 用朋友的国内企业邮箱发送能收到,也能正常发送
    4. 做了SPF和DKIM记录,现在SPF记录无,DKIM仍为正常状态(域名解析里记录正常)
    5. 用自己的gmail.com后缀的邮箱测试收发正常


    异常:
    检查之后发现SPF记录为none,附上正常和异常对比记录
    none (google.com: victor@*.com does not designate permitted sender hosts) client-ip=2607:f8b0:4001:c05::22d;

    pass (google.com: domain of victor@*.com designates 2607:f8b0:400d:c01::22b as permitted sender) client-ip=2607:f8b0:400d:c01::22b;

    **注意,以上情况皆为不稳定非持续情况,偶尔会收到一两封
    第 1 条附言    2015-04-14 13:48:36 +08:00
    现在这情况会不会有人进行中间人攻击,还是因为google 没把自己新的ipv6添加到spf记录里?
    19 条回复    2015-04-14 15:41:28 +08:00
    vInspector
        1
    vInspector  
       2015-04-14 12:21:48 +08:00
    @Livid @vCleaner

    This may be moved to /go/gae.
    lk09364
        2
    lk09364  
       2015-04-14 13:52:56 +08:00
    @vInspector Google App Engine != Google App...
    surftheair
        3
    surftheair  
       2015-04-14 13:58:18 +08:00   1
    我的没有问题,收费版的
    yylzcom
        4
    yylzcom  
    OP
       2015-04-14 14:01:56 +08:00
    @surftheair
    我初步怀疑有:
    1. 我用的dns.he.net有关
    2. Google忘记把上面那个IPv6地址添加,导致我做的spf不通过影响邮件发送接收
    3. Google Apps出问题,因为同时转发三个邮件给我和我同事,我收到第一封,我同事收到第二封,第三封谁都没收到。这些未送达的邮件发件方没有收到任何退信或者错误信息
    lk09364
        5
    lk09364  
       2015-04-14 14:03:13 +08:00
    @lk09364 Google App -> Google Apps
    DNS 是放在哪里的?
    SPF 记录在那里查的?Gmail吗?
    yylzcom
        6
    yylzcom  
    OP
       2015-04-14 14:11:55 +08:00
    @lk09364 对,直接从托管在Google Apps的域名邮箱发送到gmail.com,然后从gmail.com里查看
    域名是用的dns.he.net提供的name servers
    lk09364
        7
    lk09364  
       2015-04-14 14:12:28 +08:00   1
    @yylzcom 2 不对。
    _spf.google.com. 299 IN TXT "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"

    _netblocks2.google.com. 3599 IN TXT "v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"

    SPF 包括整个 2607:f8b0:4000::/36
    yylzcom
        8
    yylzcom  
    OP
       2015-04-14 14:18:59 +08:00
    @lk09364
    我设置的是 “v=spf1 include:_spf.google.com ~all”,不知道这样对不对
    在这次之前从来没有出现过任何问题
    lk09364
        9
    lk09364  
       2015-04-14 14:29:30 +08:00
    @yylzcom 这个就是Google 里文档的那个吧。
    我认为大概有3个可能性:
    - Google 邮件伺服器用的 DNS 坏掉了。
    - dns.he.net 把部分请求吃掉了。
    - 墙把部分请求吃掉了。

    可能性2 能解释症状2、4。
    可能性3 能解释症状3。

    所以你可以……
    - 墙内 dig 一下 SPF 在吗?
    - 用不同 DNS Server dig 域名的 TXT 试试,看看是不是 dns.he.net 出问题。
    - ……想不到其他测试方法。
    phoenixlzx
        10
    phoenixlzx  
       2015-04-14 14:43:12 +08:00
    @lk09364 目测是自动匹配出了问题...
    lk09364
        11
    lk09364  
       2015-04-14 14:46:22 +08:00
    @phoenixlzx 自动匹配是指……?
    phoenixlzx
        12
    phoenixlzx  
       2015-04-14 14:55:28 +08:00   1
    @lk09364 一楼的机器人... Google Apps 匹配到了 Google App Engine
    lk09364
        13
    lk09364  
       2015-04-14 14:58:17 +08:00
    @phoenixlzx 这就糟糕了,是不是应该…… editrule vInspector "Google Apps" "Google App Engine"
    yylzcom
        14
    yylzcom  
    OP
       2015-04-14 15:02:02 +08:00
    @lk09364
    我想到找到问题的原因了。

    可能是 因为我给裸域名添加cname导致的,我在本机上nslookup(windows)大概5~7次会返回一次cname的记录而非设定的spf
    lk09364
        15
    lk09364  
       2015-04-14 15:06:26 +08:00   1
    @yylzcom 这不科学,你请求 TXT,它返回 CNAME?
    我自己也在裸域加 CNAME,刚刚测试20来次没有问题,大概是供应商的问题了。
    yylzcom
        16
    yylzcom  
    OP
       2015-04-14 15:14:56 +08:00
    @lk09364 我一开始也很疑惑,但是网上确实有这种说法裸域名不能添加cname

    附上我测试的结果:

    C:\Users\victor>nslookup -type=TXT maskdomain.com
    服务器: unknown
    Address: 192.168.1.1

    非权威应答:
    maskdomain.com text =

    "v=spf1 include:_spf.google.com ~all"

    C:\Users\victor>nslookup -type=TXT maskdomain.com
    服务器: unknown
    Address: 192.168.1.1

    非权威应答:
    maskdomain.com canonical name = another-domain.net
    another-domain.net canonical name = jp.the-other-domain.org

    the-other-domain.org
    primary name server = a.dnspod.com
    responsible mail addr = domainadmin.dnspod.com
    serial = 1372325396
    refresh = 3600 (1 hour)
    retry = 180 (3 mins)
    expire = 1209600 (14 days)
    default TTL = 180 (3 mins)

    C:\Users\victor>nslookup -type=TXT maskdomain.com
    服务器: unknown
    Address: 192.168.1.1

    非权威应答:
    maskdomain.com text =

    "v=spf1 include:_spf.google.com ~all"
    phoenixlzx
        17
    phoenixlzx  
       2015-04-14 15:22:24 +08:00
    @lk09364 不是我写的呀~所以等作者来改好了。


    @yylzcom 我之前遇到过给裸域加 CNAME 然后邮件不正常的情况,但是没深入研究过。
    lk09364
        18
    lk09364  
       2015-04-14 15:36:38 +08:00
    @yylzcom @phoenixlzx 嗯… 现在找到原因了。在 RFC 下,的确是不应该在 @ 加 CNAME 的 [1],不过我用的 cloudflare 有所谓『cname flattening』[2] 的东西,所以就没问题 因此不是供应商的问题,之前的推断错了,抱歉。

    [1]: http://serverfault.com/questions/170194/why-cant-a-domains-root-be-a-cname
    [2]: https://blog.cloudflare.com/introducing-cname-flattening-rfc-compliant-cnames-at-a-domains-root/
    lk09364
        19
    lk09364  
       2015-04-14 15:41:28 +08:00   1
    @lk09364 补充: [1] 第2个回答解释了邮件不正常的原因。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3276 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 11:16 PVG 19:16 LAX 04:16 JFK 07:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86