关于把子域名分配给家里的电脑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制贴 AI 生成的内容
geeti
V2EX    程序员

关于把子域名分配给家里的电脑

  •  
  • &bsp; geeti 2015-02-06 06:26:21 +08:00 6843 次点击
    这是一个创建于 3912 天前的主题,其中的信息可能已经有所发展或是发生改变。
    家里的IP貌似隔几天换一次,不知道有什么正规的办法?
    自己的办法是子域名解析转到自己搭设的nameserver,在这个server上开一个http服务,家里的电脑设置cronjob,发送http请求,server上记录ip。
    感觉这么做稍微山寨了点。
    第 1 条附言    2015-03-09 22:34:41 +08:00
    后来用了dnspod,通过API每15分钟跟新一次。挺好用
    36 条回复    2015-02-07 02:44:08 +08:00
    uuair
        1
    uuair  
       2015-02-06 06:31:19 +08:00 via iPhone
    3322.org
    绑定动态域名
    ryd994
        2
    ryd994  
       2015-02-06 06:38:27 +08:00
    afraiddns
    sophymax
        3
    sophymax  
       2015-02-06 06:52:22 +08:00 via iPad
    解决动态域名的问题之后,还有端口的问题,家庭用户的80端口一般是被运营商封死的
    loading
        4
    loading  
       2015-02-06 06:53:07 +08:00 via Android
    花生壳
    luo362722353
        5
    luo362722353  
       2015-02-06 06:58:09 +08:00 via iPhone
    ddns呀,现成的…
    Slienc7
        6
    Slienc7  
       2015-02-06 07:45:35 +08:00 via Android
    一般的家用路由器都自带3322,花生壳之类的动态域名服务,注册个账号设置下就ok,再把自己的域名cname到花生壳或3322的域名上
    lifanxi
        7
    lifanxi  
       2015-02-06 07:55:00 +08:00 via Android
    我用DNSPod解析我的域名,然后通过它的API定期把当前的IP绑上去。也就是说把你的HTTP请求改成一个对DNSPod API的一个请求就可以了。
    Eleutherios
        8
    Eleutherios  
       2015-02-06 07:59:34 +08:00
    之前在国内设置DDNS, 只有DNSPod.cn能解析到我的真实IP, 其他花生壳什么的, 都返回一个外层的中继IP. 不过DNSPod.cn设置起来有些麻烦.

    国外的话, 目前用的HE.NET的DDNS.
    caixiexin
        9
    caixiexin  
       2015-02-06 08:24:22 +08:00
    动态域名服务,可以绑在路由器上什么的,我是运行在树莓派上。国内的花生壳还蛮好用的,免费送一个域名
    或者换种思路,写个脚本定时扫描家里的真实ip,发现变动后给你自己发邮件。
    ericliuhe
        10
    ericliuhe  
       2015-02-06 08:50:54 +08:00 via iPhone
    动态域名,有很多服务商啊,比如花生壳之类的,可以去了解一下。原理是把域名的解析交给服务商的DNS,再在你的局域网内装个服务商的Agent,这样每次IP变化都会自动上报改解析。
    leassy
        11
    leassy  
       2015-02-06 08:58:48 +08:00
    不用啊,自己写个程序上报IP,然后你用DNSPOD的API修改记录就可以了
    chenhaifeng
        12
    chenhaifeng  
       2015-02-06 09:09:06 +08:00
    果断买vps吧
    huzheyi
        13
    huzheyi  
       2015-02-06 09:10:58 +08:00 via Android
    一直都用he.net的免费dns服务,很方便,很稳定
    chinni
        14
    chinni  
       2015-02-06 09:11:09 +08:00   1
    如果你内网有支持curl的设备.直接用 dns4e的服务吧. 很方便 或者 用3322.org的 这里有一个脚本
    curl -s -L "http://user:[email protected]/dyndns/update?system=dyndns&hostname=abc.3322.org&wildcard=OFF&mx=&backmx=NO"
    就可以了
    ys0290
        15
    ys0290  
       2015-02-06 09:19:32 +08:00 via iPhone
    用dnspod API修改,我脚着思路都是那个思路,自己建的有效也就没什么山寨不山寨的
    lanceliao
        16
    lanceliao  
       2015-02-06 09:31:50 +08:00   1
    推荐一个神器叫ngrok,可以把局域网的服务映射到外网,只要访问ngrok给你的固定域名就可以访问局域网的服务: https://ngrok.com/
    shuax
        17
    shuax  
       2015-02-06 09:43:31 +08:00
    DNSPod Lite客户端 可以动态解析域名到你家里的IP上
    invite
        18
    invite  
       2015-02-06 09:57:49 +08:00
    @lanceliao 打不开, 这个要客户端么? 不需要配合路由器设置?所有流量都经过它转发?
    ryd994
        19
    ryd994  
       2015-02-06 09:58:36 +08:00 via Android
    @lanceliao 反向代理而已。有个VPS就能做。速度捉鸡
    lj0014
        20
    lj0014  
       2015-02-06 10:01:20 +08:00   1
    dnspod 就行,电脑上定时任务wget,路由器上跑更好
    wget "https://dnsapi.cn/Record.Ddns" --post-data="login_email=xxx&login_password=xxx&domain_id=xxx&record_id=xxx&sub_domain=xxx&record_line=默认"
    把上面的xxx替换成你自己的就行
    abscon
        21
    abscon  
       2015-02-06 10:25:12 +08:00
    无所谓山寨不山寨,能用就行。已经在公网上架设一个域名服务器了,没必要用第三方的服务。

    使用动态IP的话,当家里电脑IP变化时主动给server发消息就行了,至于协议用HTTP还是其他什么的无所谓,只要能用就行。如果作(zuo)一点,可以考虑加密通信。不过我猜你可能想得到类似下面这句话的回答:

    **如果用的是 BIND,那么使用 nsupdate 更新域名**

    --------------------------------------------------------
    我倒是想了解一下 @geeti 的原始需求。为何要分配一个子域名给家里的电脑?
    已经在公网上架设一个域名服务器了,为何不在互联网上再架设一个服务器,一定要用家里的电脑吗?如何保证可访问性?
    9hills
        22
    9hills  
       2015-02-06 10:27:25 +08:00 via iPhone
    你这个思路就是标准思路……只是实现问题
    mcone
        23
    mcone  
       2015-02-06 10:40:15 +08:00
    我之前发的 关于ddns 的/t/149780
    metalbug
        24
    metalbug  
       2015-02-06 11:05:25 +08:00
    一直用DNSPOD
    Agromania
        25
    Agromania  
       2015-02-06 11:08:51 +08:00
    如果有一天 电信不给你公网IP了呢?
    geeti
        26
    geeti  
    OP
       2015-02-06 12:11:23 +08:00
    @abscon 原因比较奇葩。在公司里时候忽然想下载个美剧回家看,就需要登到家里的电脑上。。
    abscon
        27
    abscon  
       2015-02-06 12:57:33 +08:00 via iPhone
    @geeti 我倒。一个 X-Y problem

    你需要的只是 Teamviewer之类的远程控制软件。或者name server上起一个VPN,用内网ip访问家里的电脑即可。不面向公众的话无需动态互联网ip
    alect
        28
    alect  
       2015-02-06 13:52:49 +08:00
    @geeti 还是装个teamviewer吧!
    shenng10
        29
    shenng10  
       2015-02-06 13:59:04 +08:00
    teamviewer 正解
    xenme
        30
    xenme  
       2015-02-06 14:11:50 +08:00
    CNAME+DDNS完全解决。
    lemontv
        31
    lemontv  
       2015-02-06 14:14:29 +08:00
    dnspod 有动态绑定域名的api
    lanceliao
        32
    lanceliao  
       2015-02-06 14:52:51 +08:00
    mark一下,大部分朋友第一想法就是直接提供解决方案,只有@abscon 朋友问了楼主的需求,思维独特
    mawenjian
        33
    mawenjian  
       2015-02-06 16:42:05 +08:00 via iPhone
    vpn+反向代理。买个带独立ip的vps,用vpn+反代,不管家里有没有公网ip,ip变不变,都没有问题。
    jkeylu
        34
    jkeylu  
       2015-02-06 18:20:03 +08:00
    家里没有公网ip,现在只能用 ssh 与外网的 vps 建立隧道,远程回家没什么问题
    konakona
        35
    konakona  
       2015-02-06 19:00:37 +08:00
    傻孩子,用路由器啊!
    一般DMZ功能就可以足了。
    fuxkcsdn
        36
    fuxkcsdn  
       2015-02-07 02:44:08 +08:00
    其实如果你已经有服务器了,完全没必要再去设置什么NS
    你直接让家里电脑crontab定时访问
    http://yourdomain.com/ThisIsMyHomeIP
    然后你要知道家里的IP时,直接到服务器去查看http的log,这个URL只要不存在,肯定就404了,一般的爬虫也不会去爬这样的URL,看log时搜索起来速度也快

    如果坚持要设置NS的话,那可以参考openwrt里的DDNS脚本,把访问的URL设置成类似这样的
    http://yourdomain.com/update?domains=[DOMAIN]&token=[PASSWORD]&ip=[IP]
    然后添加到openwrt里的 /usr/lib/ddns/services 配置文件里就可以了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3220 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 10:46 PVG 18:46 LAX 03:46 JFK 06:46
    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