弄个 dns 服务器,把域名实时解析到家里的电脑 ip - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zjsxwc
V2EX    程序员

弄个 dns 服务器,把域名实时解析到家里的电脑 ip

  •  1
     
  •   zjsxwc
    zjsxwc 2018-05-24 15:42:40 +08:00 6862 次点击
    这是一个创建于 2701 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于家里路由器公网 ip 老是变动,于是有了这个想法,通过公网 dns 服务器,把域名解析到家里的电脑 ip

    https://github.com/zjsxwc/pddns

    29 条回复    2018-05-30 01:19:55 +08:00
    exocell
        1
    exocell  
       2018-05-24 15:46:28 +08:00
    为什么不用花生壳或者 3322?
    qistchan
        2
    qistchan  
       2018-05-24 15:50:26 +08:00
    为啥不考虑 ddns。。。
    Tianao
        3
    Tianao  
       2018-05-24 15:50:54 +08:00 via iPhone
    同 #1 问,已经有现成的轮子:DDNS 了。
    花生壳和 3322 这些成熟的解决方案还有内网穿透。
    logOo
        4
    logOo  
       2018-05-24 15:52:09 +08:00   1
    造轮子需要理由么,要的就是造轮子的快乐。
    zjsxwc
        5
    zjsxwc  
    OP
       2018-05-24 15:52:09 +08:00
    自己写更灵活点吧,php 代码也没几行,半小时搞定的事情
    taobibi
        6
    taobibi  
       2018-05-24 15:57:05 +08:00
    过去成功过,openwrt 固件的路由器+ddns+域名实现的。具体过程我记不太清了,好久之前的事情了。
    大概过程是 namecheap 申请一个域名,你看那个便宜买那个,只要别太小众的后缀就行,我买的是.net 域名。namecheap 提供一个动态域名的 API,你设置好哪里,会生成一个 DDNS 动态解析用的 KEY,把这个 KEY 填写到 openwrt 的 DDNS 程序里面(手动添加 nameserver 地址),然后就好了。路由器每次自动重启变 ip 的时候,会自动注册到动态域名上面,而且动态域名在自己手里不怕被收回。直到后来我们这边运营商不在给公网地址,就 OVER 了
    scofieldpeng
        7
    scofieldpeng  
       2018-05-24 15:59:22 +08:00
    你需要的是 ddns,比如我写的这个 https://github.com/scofieldpeng/dnspod-ddns
    Blazings
        8
    Blazings  
       2018-05-24 19:24:06 +08:00 via Android
    这轮子也是造的太重复了吧
    cwek
        9
    cwek  
       2018-05-24 20:26:15 +08:00
    DDNS,了解一下。
    如果自己弄的话,其实就是用注册商的 API,定时探测自己的外网 IP,然后自己更新上去?
    ahu
        10
    ahu  
       2018-05-24 21:21:08 +08:00
    @zjsxwc 大概看了下代码,也实验了下,没玩转...

    metaData.php 的内容始终是不变的
    <?php
    $fakeDnsIpMap = array (
    '' => '127.0.0.1',
    );

    ?>
    zjsxwc
        11
    zjsxwc  
    OP
       2018-05-24 21:39:41 +08:00 via Android
    @ahu


    你排查下吧,


    在 index.php 里打下 log 看看 query 参数你为什么都是空
    ahu
        12
    ahu  
       2018-05-24 21:49:03 +08:00
    忍不住翻回来回复第二条:

    虽然暂时我还没玩转,但我恰恰觉得楼主的这个轮子造得好!
    给了我一个全新的启发,因为涉及到 dns 这块的确大部分人都会想到是去借助第三方的服务
    然而楼主竟然用了一个四两拨千斤的方式给办了,妙哉!
    zjsxwc
        13
    zjsxwc  
    OP
       2018-05-24 21:52:35 +08:00 via Android
    @taobibi

    我就是穷的没钱买域名,自己 fake 域名 yy 下,只能搞个免费的能跑 php 的公网环境,才有了这个项目
    zro
        14
    zro  
       2018-05-24 22:00:45 +08:00
    shuizhengqi
        15
    shuizhengqi  
       2018-05-24 22:16:14 +08:00
    missdeer
        16
    missdeer  
       2018-05-24 22:29:31 +08:00
    我也来安利一波自己写的 https://github.com/dfordsoft/ddnsclient
    支持 dnspod,cloudflare,cloudxns
    580a388da131
        17
    580a388da131  
       2018-05-24 22:41:11 +08:00
    你为啥不干脆用 API 改域名解析,还要改 DNS 服务器地址,感觉越弄越麻烦。
    580a388da131
        18
    580a388da131  
       2018-05-24 22:44:04 +08:00
    路由器支持刷梅林的话,可以装个 Server 酱,IP 变动也可以自动推送。
    codeyou
        19
    codeyou  
       2018-05-24 22:53:40 +08:00
    请问有免费的内网穿透工具吗?适合没有公网 IP 那种,想用公司的电脑当服务器。。。
    zjsxwc
        20
    zjsxwc  
    OP
       2018-05-24 22:58:50 +08:00 via Android
    @codeyou

    zerotier 了解下
    gengfire
        21
    gengfire  
       2018-05-24 23:25:01 +08:00 via iPhone
    localtunnel
    Acoffice
        22
    Acoffice  
       2018-05-24 23:29:45 +08:00 via Android
    路由器老毛子固件你可以了解下,集成了 ddns,花生壳啊,应有尽有,总有一款适合你,稳定好用。
    bclerdx
        23
    bclerdx  
       2018-05-24 23:37:09 +08:00
    @scofieldpeng 确实是个很好的思路。
    Sanko
        24
    Sanko  
       2018-05-24 23:43:55 +08:00 via Android
    https://github.com/ghosx/qcloud_ddns
    造轮子不需要理由哈哈哈
    Tink
        25
    Tink  
    PRO
       2018-05-25 01:37:46 +08:00 via iPhone
    这个思路有点意思,但是用来解决的这个问题实在是复杂了
    biabia123456
        26
    biabia123456  
       2018-05-25 09:01:59 +08:00 via iPhone
    造轮子真的不需要理由之 nodejs 版 https://github.com/mrabit/alidns-nodejs
    beijiaoff
        27
    beijiaoff  
       2018-05-25 09:21:56 +08:00
    请问一下,“ 3、手机等想访问家里电脑的设备的 dns 地址添加这个 dns 服务器”,这个 dns 地址是什么呢?你家里的 ip 不是一直在变吗?
    turingmachine
        28
    turingmachine  
       2018-05-25 09:29:55 +08:00 via iPhone
    直接用 ddns,noip 的。这个项目介绍的非常清楚,可以直接部署使用,稳定性不错,不收费。https://github.com/LaoLuMian/DDNS
    johnnie502
        29
    johnnie502  
       2018-05-30 01:19:55 +08:00
    为啥不用 dns.he.net 呢,直接 curl 就能更新 dns,写个一行的 sh 放到 crontab 里面 @reboot 或者每小时更新一次就行了,不用装什么 python 或者 php 或者 nodejs,(doge)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5473 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 06:41 PVG 14:41 LAX 23:41 JFK 02:41
    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