Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能否作为代理模式 #132

Open
itviewer opened this issue Jan 23, 2022 · 5 comments
Open

能否作为代理模式 #132

itviewer opened this issue Jan 23, 2022 · 5 comments

Comments

@itviewer
Copy link

场景:
一般路由器都支持常见的ddns 协议,如 DynDNS、花生壳。但域名在阿里云、dnspod等,路由器不支持这些域名服务商。
能否让 godns 运行为代理模式,不需要自己定时查询公网IP是否变化,而是在路由器上配置ddns(如通过 dyndns、no-ip 等协议),这样当公网IP发生变化时,主动请求 godns,godns再推送给阿里云等域名服务商,即通过路由器主动推送代替自己定时查询,从而实现让路由器自带的 ddns 功能能够使用阿里云等域名服务商,这样能够实现即时响应IP变化。

比如我的路由器 ddns 功能截图:
深度截图_选择区域_20220123213134

@TimothyYe
Copy link
Owner

但是这样的话,得把GoDNS嵌入到这个服务提供商的下拉列表里面?不太清楚路由器跟服务提供商的交互,应该每家提供商都有提供自己的API,路由器内置了每家服务商API的调用。

@itviewer
Copy link
Author

@TimothyYe
不需要把 GoDNS 嵌入服务提供商列表啊,比如你已经实现了 No-IP,所以应该清楚相关请求协议,路由器也是要遵守这个协议的,当路由器公网IP变化时,也是要按相关协议推送给 No-IP 服务端。
如上图,路由器的服务提供商列表里支持 No-IP,但现在我们的域名在阿里云这些路由器不直接支持的服务商那里,所以需要 godns 模仿 No-IP 服务端,在路由器那里按 No-IP 的规范配置好,路由器检测到IP变化后,推送给 godns,这样 godns 作为一个中间人,接收来自路由器的推送,然后再转换一下,发给阿里云,从而实现利用路由器主动推送而不是自己定时轮询

原理很简单,就是实现个 http 服务,接收路由器发的 No-IP 的 Http Get 请求,然后按配置好的阿里云参数再转发给阿里云

@TimothyYe
Copy link
Owner

@itviewer 你知道这个路由器发的HTTP Get请求是个什么格式吗

@zend
Copy link

zend commented May 3, 2023

@itviewer 这里的挑战是路由器一般写死了服务器的地址,就算你劫持了DNS,还得考虑让路由器信任自签证书吗?

@itviewer
Copy link
Author

itviewer commented May 3, 2023

@itviewer 这里的挑战是路由器一般写死了服务器的地址,就算你劫持了DNS,还得考虑让路由器信任自签证书吗?

抱歉,可能路由器或者服务提供商不同,我目前用华为的路由器,如上面截图,地址,端口什么的都需要自己填写

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants