曲线救国:用 DDNS API 解决 @记录与 MX 冲突问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Lentin
V2EX    DNS

曲线救国:用 DDNS API 解决 @记录与 MX 冲突问题

  •  
  •   Lentin 2016-08-02 20:13:07 +08:00 4399 次点击
    这是一个创建于 3438 天前的主题,其中的信息可能已经有所发展或是发生改变。
    域名在 namecheap 注册的,由于官方的 DNS 服务器不支持 ANAME 记录,然后自带一个 EMAIL 转发,我又绑定的 LOFTER 的博客,而 LOFTER 只有 CNAME 记录,并且有时候 IP 地址会换,刚好 NC 支持 DDNS ,所以我就利用这个 API 创建一个定时任务每五分钟获取域名的 A 记录并提交来解决这个问题。

    CRONTAB 配置如下:

    */5 * * * * ip4=`wget -qO- http://119.29.29.29/d?dn=mydomain.lofter.com.`;[ -d $ip4 ] && echo wget -qO- "https://dynamicdns.park-your-domain.com/update?ip=${ip4##*;}host=@&domain=netx.space&password=7cf …… e7e"

    自行修改你的 domain 和 api 密钥,然后添加到 hosts 里面就可以了,其他 DNS 服务商的参考以上内容自行修改。

    另外在 openwrt 的 wget 获取 https 的时候遇到了个坑,不能获取数据,装上这个包就可以修复了:

    opkg install ca-certificates

    然后就大功告成了。
    注释:[ -d $ip4 ] 这个判断主要是怕万一出点什么问题获取到空数据的话就不执行后面的命令了,保险起见。

    我的博客 http://netx.space
    16 条回复    2016-08-04 09:48:42 +08:00
    Lentin
        1
    Lentin  
    OP
       2016-08-02 20:26:40 +08:00
    多了个 echo ……
    */5 * * * * ip4=`wget -qO- http://119.29.29.29/d?dn=mydomain.lofter.com.`;[ -d $ip4 ] && wget -qO- "https://dynamicdns.park-your-domain.com/update?ip=${ip4##*;}host=@&domain=netx.space&password=7cf …… e7e"
    Lentin
        2
    Lentin  
    OP
       2016-08-02 20:41:12 +08:00
    PHP 代码:

    <?php

    file_get_contents('https://dynamicdns.park-your-domain.com/update?host=@&domain=netx.space&password=7cf …… e7e&ip='.gethostbyname("mydomain.lofter.com"));

    然后把这个页面挂到监控宝之类的应该也可以。
    johnjiang85
        3
    johnjiang85  
       2016-08-02 21:12:13 +08:00
    算是一个思路,不过实际情况可能更复杂, CNAME 很多时候还是用在 CDN 上的,线路太多了。
    roadna
        4
    roadna  
       2016-08-02 21:14:24 +08:00
    CNAME Flattening
    renzhn
        5
    renzhn  
       2016-08-02 21:16:15 +08:00
    不用那么麻烦, cloudflare 的 CNAME Flattening 或者 dnsimple 的 apex 记录都能解决
    Lentin
        6
    Lentin  
    OP
       2016-08-02 21:17:48 +08:00
    @johnjiang85
    lofter 的域名服务看了一下,就是 aws 服务器,位置都是一样的,但是 ip 会变动。
    @roadna
    @renzhn
    因为想留着他自带的 email 转发
    anjunecha
        7
    anjunecha  
       2016-08-02 21:43:44 +08:00
    以前做过一些测试,对于一般用户,如果 CNAME 要配合 CDN 使用,并且要保留 MX ,使用下来,单纯从解析上来讲,还是 route53 alias 搭配 cloudfront 最稳定快速,当然这其实也不算了 CNAME 了,这是 A 记录。如果有钱,对于大客户来说, CDN 服务商也可以给你在边缘做独立 IP 。
    Ellison
        8
    Ellison  
       2016-08-02 22:43:12 +08:00
    我记得 lofter 是可以用 A 记录的吧...
    Lentin
        9
    Lentin  
    OP
       2016-08-02 22:59:01 +08:00
    @Ellison 没找到,之前 nslookup 过几个 ip 设置上了,今天上午打不开了,才想的这么个办法.
    neilp
        10
    neilp  
       2016-08-02 23:45:20 +08:00 via iPhone
    我来歪个楼, namecheap 的 api 是有限制条件的。 不是每个人都能调用。
    lslqtz
        11
    lslqtz  
       2016-08-02 23:47:26 +08:00
    CNAME 要配合 CDN 的话还是没啥好的解决方案,用二级做邮箱是个不错的思路。
    Showfom
        12
    Showfom  
    PRO
       2016-08-02 23:51:53 +08:00
    要是 CDN 的话就不行了,只适合 cname 的域名是解析在静态 IP 的时候
    Ellison
        13
    Ellison  
       2016-08-03 08:49:07 +08:00
    @Lentin 现在貌似找不到了,以前我弄的时候,在绑定的界面直接有写,用不了 CNAME 就可以用 A,IP 也是直接有的
    Lentin
        14
    Lentin  
    OP
       2016-08-04 09:41:04 +08:00
    @Ellison
    貌似是这个 ip ,刚刚弄到 hosts 里面还能用>.>
    54.248.125.234
    Lentin
        15
    Lentin  
    OP
       2016-08-04 09:42:55 +08:00
    @Ellison oh 刚开了全局代理……事实是不能用……
    Ellison
        16
    Ellison  
       2016-08-04 09:48:42 +08:00
    @Lentin 噗,我昨天去看貌似现在是不能用了,反正我也转 GitPage 了...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2223 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:39 PVG 12:39 LAX 20:39 JFK 23:39
    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