找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5484|回复: 0

给自己定制旁路由(三)安装和DDNS如何在FakeIP下工作

[复制链接]
本帖最后由 tyxu 于 2024-4-3 12:48 编辑

上一篇:利用Docker给自己定制旁路由(一)安装immortalWrt
https://www.right.com.cn/forum/thread-8356453-1-1.html


上一篇:利用Docker给自己定制旁路由(二)安装和配置open.cla.sh手把手保姆教程
https://www.right.com.cn/forum/thread-8357728-1-1.html


本文会介绍DDNS原理,手把手安装和设置DDNS,如何使用小猫咪在Fack-IP模式下正常使用DDNS。
如果你的网络接入服务商提供公网IP地址,那么openwrt的DDNS插件就香香了。这个插件实际上就是个运行脚本,很小巧。

1、下面我们以花生壳(ddns.oray.com)为例,先说说DDNS插件脚本的原理,有益于大家在DDNS异常时调试。

(1)首先DDNS客户端脚本会定期检测IP变化

要确定客户端是否应该请求更新解析,那么它必须有一个可靠的方式来确定当前的IP地址是什么,以便比较最后一次更新的地址。以下有两种方式。
直接连接
客户端自行判断并获取其连接到互联网的公网IP地址。
网站IP检测
通过网站IP检测的方式,获取当前机器公网IP地址。
例如Oray DDNS提供CheckIP的服务,可通过下面地址检测: http://ddns.oray.com/checkip

(2)如果发现IP地址变化,那么DDNS客户端会向服务器发送请求更新解析

当客户端发现IP地址变化或是用户修改设置时,客户端会要求服务器更新解析。 所有的更新都基本于标准的HTTP请求发送。 服务器会传回一个返回代码,客户端需要解析。
HTTP请求
主机名:ddns.oray.com
HTTP端口:80
HTTPS 端口:443
请求支持HTTP和基于SSL的HTTPS协议(HTTPS需要付费用户才能使用) 所有客户端必须发送一个完整的User-Agent文件头,用于区分不同的设备,空值或非法参数将导致请求失败。

DDNS客户端会向服务器发送URL完成请求验证,这个URL适用于浏览器或应用程序(fetch, curl, lwp-request),可以在URL中包含验证信息。
也就是说,即使没有DDNS客户端,你也可以使用浏览器向服务器发送这个URL,完成解析请求,但是这样做会使定期检查IP变化,更新解析就会变得很麻烦。
这个URL是这个样子的:
  1. http://username:password@ddns.oray.com/ph/update?hostname=yourhostname&myip=ipaddress
复制代码
username:password是注册动态域名时,与服务商约定的用户名和密码。
需要提交的参数只有两个:
hostname:需要更新的域名,此域名必须是开通花生壳服务。如果有多个域名处于激活,状态使用“,”分隔,默认为空,则更新用户名下所有激活的域名。yourhostname是你已经申请好的域名。
myip:需要更新的IP地址,可以不填。如果不指定,则由服务器获取到的IP地址为准,ipaddress是当前你的公网IP。

如果使用原始HTTP GET来请求,类似下面的代码。 其中 base-64-authorization 请使用 Base64 加密 username:password 后的字符替换。
GET /ph/update?hostname=yourhostname&myip=ipaddress HTTP/1.0
Host: ddns.oray.com
Authorization: Basic base-64-authorization
User-Agent: Oray
请注意必须使用GET请求,POST是不能使用的。

(3)请求更新解析的URL发给服务器后,服务器会返回一个代码,这个代码表示了服务器对解析请求的处理结果。

代码列表

参数        说明
good        更新成功,域名的IP地址已经更新,同时会返回本次更新成功的IP,用空格隔开,如:good 1.2.3.4
nochg      更新成功,但没有改变IP。一般这种情况为本次提交的IP跟上一次的一样
notfqdn   没有已经激活的花生壳域名
nohost     域名不存在或未激活花生壳
abuse       请求失败,频繁请求或验证失败时会出现
!donator   表示此功能需要付费用户才能使用,如免费用户使用了https,就会返回这个结果。
911           系统错误

2、openwrt安装DDNS,以及在fack-ip模式下的设置


1、安装DDNS

由于DDNS插件是脚本,所以并不受依赖包的限制,我们可以选择最新的版本安装。比如可以下载23.05.01发布的DDNS版本,安装在21.02.7。
https://mirrors.vsean.net/openwrt/releases/23.05.1/packages/x86_64/packages/ddns-scripts-services_2.8.2-42_all.ipk
如何安装最新版本,就不演示了。

登录openwrt,系统》软件包,筛选器输入“DDNS”


选择“luci-i18n-ddns-zh-cn”安装就好啦,安装完成后,ctrl+F5刷新页面,在服务菜单就能看到  ”动态DDNS“ 啦!

2、配置DDNS

服务》动态DDNS,添加新服务

自己给这条解析编个名字,开始配置:基本设置


高级设置:


计时器设定:
计时器设定是为按照时间周期完成自动检查更新解析的。这个部分的设定需要时间磨合,例如我用的花生壳,有时两天有时三天就会解析失效,所以我设定了48小时强制更新一次。
如果你使用的是其它服务商,需要每天观察一下状态,逐渐摸索出规律。当然,也可以在发现失效后,查看一下日志,作出适当的调整。



日志查看器:
通过查看日志,可以分析解析失败原因


3、如何使DDNS在Fack-IP模式下正常工作


open.cl.a.s.h(以下简称:小猫咪)的Fack-IP模式下,当用户发起网络请求时,小猫咪会先返回给用户一个自己地址池的IP地址,默认是  198.18.0.1/16。
这个地址会欺骗DDNS,导致DDNS解析失败。当你看到DDNS解析出198.18.0.1/16这个地址段的地址时,肯定是不能正常使用的。
我们需要绕过Fack-IP,使小猫咪直接返回真实地址给DDNS。


我们可以打开小猫咪,覆写设置》DNS设置

继续把界面向下拉。。。

找到Fake-IP-Filter并勾选,这个功能可以使自己添加的域名,在解析时返回真实的IP地址,而不是198.18.0.1/16的虚假地址。
下面以花生壳为例的设置方法,仅供参考:



设置完成后,保存设置。并应用配置就可以了。
最后回到,服务》动态DDNS,重新加载,解析就正常啦!


到这里,整个DDNS就配置完成了。你就可以使用自己的域名访问家里网络提供的服务啦!

如果您还没有适合的节点服务商,您可以试试这个:
https://w1.v2free.top/auth/register?code=bvWi
邮箱注册一下就有5个G的流量,每天签到还能获得几百M,看电影确实不够,但查阅学习资料肯定是够了。



如果我们不在家,也需要学习一下技术文化知识,那我们是不是还要在手机上再安装一个类似小猫咪的工具呢?
完全不必!我们可以架设自己的虚拟专用网,直接连接回家,使用家里的小猫咪服务,也可以把小猫咪的服务分享给密友。



下一篇,我将介绍如何在外面,使用V.P.N.连接回家,并使用小猫咪提供的服务。











我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-1 15:19

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表