开发者社区> 问答> 正文

如何搭建类似于花生壳的动态域名

就是我人在学校,内网穿透的问题

展开
收起
平凡的殷袁 2018-05-31 10:24:54 5475 0
2 条回答
写回答
取消 提交回答
  • 擅长互联网移动开发。。。

    按照官网配置即可

    2019-07-17 22:27:50
    赞同 展开评论 打赏
  • 家里的ip是内网地址,adsl路由器上的公网ip是变化的,所以有花生壳之类的程序来提供动态dns解析功能(它提供一个二级域名,同时硬件路由器在公网ip变动之后向它的dns解析器更新,同时硬件路由器应该实现公网ip到内网ip的NAT映射),但它是收费的.

       域名提供商,如万网,如www.godaddy.com,它可以提供顶级域名,如quqi99.com,它负责将quqi99.com这条记录插到.com根域名服务器中,所以一般都是收费的,并且如果是在中国注册域名的,还要求备案,否则,站点提供商不会用未备案的域名在apache中配置virtual host。
       dnspod.cn则是一个DNS服务提供商,可以用来解析域名提供商提供的顶级域名,虽然域名提供商一般也会提供dns解析服务,但域名提供商提供dns解析服务 往往不够稳定由于服务的不够快并且域名提供商一般也提供不了免费的支持多线解析,所以dns服务提供商实现了域名与解析的分离,还是有很大的存在价值的。但是dnspod.cn却不能提供如quqi99.dnspod.cn的免费二级域名。考虑到伟大的长城防火墙一般对国外的dns服务器有干扰,所以一般地采用国外的域名+国内的dns解析,这样,需要在godaddy的配置界面配置Nameservers指向dnspod提供的ns记录 f1g1ns1.dnspod.net, 方法见:http://jingyan.baidu.com/article/39810a23c5a3a3b636fda699.html
       ddclient则是一个客户端软件,它可以获取公网ip的变化,然后通过dyndns2协议去更新支持dyndns2协议的dns解析器。
       dnspod.cn除了不提供免费的二级域名,也不支持dyndns2协议,但它提供了api可以通过编程去更新dns记录中的公网ip,程序见:http://blog.sweetfree.net/article/RaspberryPI/1106.html
       dnsexit.com是一个国外的类似于dnspod.cn的dns服务提供商,但是它提供了如quqi99.publicvm.com之类的免费二级域名,虽然不支持dyndns2协议,但它它提供了一个用perl写的ipUpdate程序实现了类似ddclient的功能,ipUpdate程序可运行在linux主机上,这样硬件路由器上同样得做端口映射,见:http://www.dnsexit.com/Direct.sv?cmd=userIpClients
    

    因为本人喜欢免费,所以经过一系列的选型,最终选择了dnsexit.com提供的免费的动态dns服务:
    1,上dnsexit.com网站申请免费二级域名,如quqi99.publicvm.com
    2,在内网机器安装ipUpdate程序用于向二级域名记录更新公网ip地址,方法见:http://www.dnsexit.com/Direct.sv?cmd=userIpClients
    使用nslookup -vc quqi99.publicvm.com 8.8.8.8命令可以验证公网ip已经变化了。
    3,在硬件路由器上打开端口映射功能(对于我家中的TP-LINK路由器,对应的管理菜单路径是'转发规则‘),映射如端口22
    4,这样,在广域网的其他机器就可以通过ssh -X user@quqi99.publicvm.com来访问这个家里的内网机器了。

    注:dlinkddns.com与myqnapcloud.com也都提供免费的ddns服务, 把UPnP服务打开效果更佳, vpn和UPnP结合后这样vpn服务也不一定非要运行在网关上了运行在内网的一台机器上也行。

    附录一,使用DNS服务提供商dnspod.cn提供的免费域名解析功能
    1)先在域名服务商如godaddy.com里新建顶级域名,如quqi99.com, 注意前面不能添加www. 这可能需要收费。
    2)添加两个子域名,即主机记录:
    quqi99.com, 主机记录填@
    desktop.quqi99.com, 主机记录填desktop
    记录类型填A, A记录是指直接的域名和IPv4 IP的映射对,
    AAAA是指域名和IPv6 IP的映射对,

    PTR是指根据IP查域名的反身域名解析,有些邮件邮服器为了反垃圾邮件要求必须提供PTR记录

    CNAME是指一个域名指向另一个域名再由另一个域名提供IP地址,
    NS记录指域名服务器记录,dnspod已经为我们添加了两条默认的ns记录:
    f1g1ns1.dnspod.net
    f1g1ns2.dnspod.net
    IP随便填呆会我们会通过程序调用dnspod提供的rest api动态更新这个IP, TTL默认为600秒.
    3)路由器记得配置端口映射
    4)想要用dnspod提供的dns来解析godaddy域名,那需要在godaddy的配置界面配置Nameservers指向dnspod提供的ns记录 f1g1ns1.dnspod.net, 方法见:http://jingyan.baidu.com/article/39810a23c5a3a3b636fda699.html
    5)使用dnspod API动态更新dns的外网IP的程序见: http://blog.sweetfree.net/article/RaspberryPI/1106.html

    2019-07-17 22:27:50
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载