找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 417|回复: 8

[Router OS] ROS在DDNS环境下可以用Wireguard对等异地组网吗?

[复制链接]
看了很多教程,ROS下的wireguard都需要两边都是公网固定IP,才能异地组网。


但我的情况如下:
网络1:电信,动态公网IP。主路由为ROS,旁路OP,并在OP安装DDNS-GO解析IP并绑定域名。
网络2:电信,动态公网IP。主路由为ROS。目前没有做DDNS动态域名解析。

问题1:我这种环境下,在两边的ROS做wrieguard,可否用域名作为对端(endpoint)地址填写?
问题2:如果可行,是否要把ROS的wireguard的端口映射出来?
问题3:如果问题1的答案是DDNS可行,那么网络2是否也需要做DDNS解析?
问题4:如果DDNS可行,这么做会不会有什么问题?因为我记得看到过教程,一旦DDNS的IP变了,WG会断。是否是这样?

大神们见笑了,小弟因为时间有限。没能把WG的技术原理吃透,只能发帖问各位了。
我的恩山、我的无线 The best wifi forum is right here.
本帖最后由 mantouboji 于 2024-4-8 21:27 编辑

用动态域名作为endpoint-addres是可以的,我在用。

只需要一端做DDNS即可,也不需要什么狗屁旁路由,ROS自己的就足够了。

做DDNS这一侧在ppp的profile里挂上on脚本,接通之后就自动更新ddns,然后为了保险可以再设置一个/system/schdule定时任务,每隔一段时间(比如一小时)就检察一下IP是否变化,变了就强制更新ddns。
这一侧wireguard的端口当然要在防火墙里打开input的accept。

不做ddns的另一侧,peer里endpoint-address写对方那个ddns动态域名,再要设置一个/too/netwatch任务,一段时间(比如几分钟)ping一下ddns那边的wireguard地址,on-down脚本里先disable等几秒种再enable 这个wireguard接口。

wireguard是运行在Linux核心里的,仅在wg设备启动时查询dns得到IP地址,之后不会再每次去查询的。




点评

oh..多谢大神回复。 行,大概明白需要干啥了。多谢。 哎。我也想ROS下直接DDNS,但还有其他应用需要OP。那就干脆挂个DDNS-GO了。  详情 回复 发表于 2024-4-8 22:04
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
mantouboji 发表于 2024-4-8 21:26
用动态域名作为endpoint-addres是可以的,我在用。

只需要一端做DDNS即可,也不需要什么狗屁旁路由,ROS自 ...

oh..多谢大神回复。
行,大概明白需要干啥了。多谢。

哎。我也想ROS下直接DDNS,但还有其他应用需要OP。那就干脆挂个DDNS-GO了。

点评

如果是普通宽带,IP地址肯定不会固定,遇到这种情况下更新DDNS更新动作再快,也是要有一两分钟的断线,免不了的。 看具体需求,一般情况下这点儿中断时间应该是无所谓的。 如果略有要求,我还做过:在做DDNS一侧的  详情 回复 发表于 2024-4-8 22:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

xxh1987320 发表于 2024-4-8 22:04
oh..多谢大神回复。
行,大概明白需要干啥了。多谢。

如果是普通宽带,IP地址肯定不会固定,遇到这种情况下更新DDNS更新动作再快,也是要有一两分钟的断线,免不了的。

看具体需求,一般情况下这点儿中断时间应该是无所谓的。

如果略有要求,我还做过:在做DDNS一侧的ROS里,做完DDNS更新再多运行一个脚本,从wiregurd peer里找到对方(就是不做ddns那个)的IP地址,ssh-exec过去,强制把对方peer里面的endpoint-address改成DDNS这一侧新的IP地址。这个需要配置好两台ROS的ssh密钥信任等等一些前置操作。

点评

嗯。我试过DDNS-GO这个插件,重启光猫换IP之后,大概也就1分钟左右。域名后台就更新完了。速度还行。这样的话,是不是就不用设置netwatch任务了? 不对。你说WG只在设备启动时查询IP地址,之后就不查询了。那看来还  详情 回复 发表于 2024-4-8 22:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
mantouboji 发表于 2024-4-8 22:17
如果是普通宽带,IP地址肯定不会固定,遇到这种情况下更新DDNS更新动作再快,也是要有一两分钟的断线,免 ...

嗯。我试过DDNS-GO这个插件,重启光猫换IP之后,大概也就1分钟左右。域名后台就更新完了。速度还行。这样的话,是不是就不用设置netwatch任务了?

不对。你说WG只在设备启动时查询IP地址,之后就不查询了。那看来还是需要脚本更新IP。是这个理不?

点评

能在ROS下写脚本解决的我就不喜欢这些乱七八糟的什么插件。 我前面说过了。  详情 回复 发表于 2024-4-8 22:43
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

xxh1987320 发表于 2024-4-8 22:30
嗯。我试过DDNS-GO这个插件,重启光猫换IP之后,大概也就1分钟左右。域名后台就更新完了。速度还行。这样 ...

能在ROS下写脚本解决的我就不喜欢这些乱七八糟的什么插件。

我前面说过了。

点评

行。明白。多谢。  详情 回复 发表于 2024-4-8 22:51
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
mantouboji 发表于 2024-4-8 22:43
能在ROS下写脚本解决的我就不喜欢这些乱七八糟的什么插件。

我前面说过了。 ...

行。明白。多谢。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

:local wgInterface
:local wgPeerDns

:set wgInterface "wireguard"
:set wgPeerDns "xxx.com"

:if ([interface wireguard peers get number=[find interface="$wgInterface"] value-name=endpoint-address] != [resolve $wgPeerDns]) do={
  interface wireguard peers set number=[find interface="$wgInterface"] endpoint-address=[/resolve $wgPeerDns]
}

点评

帮你补充: 这个写成一个脚本,放在/system/scheduler 里定时执行,可以每10分钟就运行一下。  详情 回复 发表于 2024-4-9 15:44
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 mantouboji 于 2024-4-9 15:48 编辑
jasonkiddy2k 发表于 2024-4-9 15:36
:local wgInterface
:local wgPeerDns

帮你补充:

这个写成一个脚本,放在/system/scheduler 里定时执行,可以每10分钟就运行一下。


或者,建一个 /tool/netwatch 任务,把这个脚本放在On Down里,每分钟ping一下Wireguard 对方的IP,不通的话自动执行这个脚本,这样轻便一些。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-2 22:31

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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