零成本搭建ddns(IP版)
本文最后更新于 2025年4月17日 中午
场景
当你在自家搭建一个个人服务器,并且哭爹求奶的弄到了一个动态公网ip,但无奈囊中羞涩没钱买域名(又或者说出于其它原因不想用自己的域名),更没钱购买昂贵的ddns服务,免费的ddns又有诸多限制不好用。但是动态公网ip又一直在变,如何能实现出门在外随时随地能访问到自家的服务器呢?
实现方法是先白嫖一个花生壳免费域名做指引,在每次访问的时候,将url的花生壳域名直接跳转到对应的公网ip上,这样又绕过了花生壳的服务,又能够精准定位到当前的公网ip上。实现了最小成本的ddns,完成曲线救国弯道超车!!
前提是必须要有公网的动态ipv4地址
详解
首先我们先按照花生壳的教程配置好ddns,确保能通过花生壳域名正常解析到我们的服务器上
然后正常通过花生壳提供的免费ddns访问的url是这样:https://huashengke.cn.vip:8080
而花生壳每个月免费流量只有几个G,并且网速也有限制,如果你长时间这样用花生壳的域名来访问,免费的套餐肯定是无法满足个人使用的
而经过跳转之后就变成了这样:https://110.242.68.66:8080
经过跳转之后,后续所有的流量就直接通过ip来进行通讯。绕过了花生壳的域名和服务,自然也就不再有流量焦虑,而网速也不再会受到花生壳的限制。又能够精准定位到服务器当前的动态公网ip上
这样我们每次访问只有第一个数据包用到花生壳的域名网络,然后第二个包就马上跳转到ip了,也就是每次访问只消耗花生壳一个数据包的流量,而一个包消耗的流量几乎可以忽略不记,甚至很多人一起用都没问题。这样就实现了最小成本的ddns
ps:家用宽带运营商一般默认禁用80和443端口,需要更改为其他端口
实现方法
一般有以下两种情况
- 想映射出去的服务不是php-web项目,那就在自己的服务上搭建一个php+nginx服务环境,用下面第2点的php代码新建个index.php文件,利用nginx把公网端口的流量转发到内网端口。
示例:如需要在公网通过88端口进行访问,想映射出去的内网端口是5000端口,则用nginx监听88端口,转发到内网5000端口。
nginx配置
1 | |
- 如果想映射出去的刚好是php-web项目,就直接编辑现有的index.php,在文件顶部添加下面的代码即可。
php代码
1 | |
以下是在wordpress站点的首页index文件改造示例,直接把代码加在顶部就行

弄好之后,我们每次就直接访问花生壳的域名,然后url就会马上自动跳转到对应的公网ip上,对我们操作几乎是无感知的,不会有任何影响