想做 routeros site to site 内网互通,有什么可用的方案吗?

2023-03-12 00:22:23 +08:00
 mrzx

2 套房子用的都是 routeros 的设备,都有公网 IPV4 地址,只是都是动态的,需要使用 ddns 我想把 2 套房子里的内网全部路由打通。

打算 ipsec 加密,直接互指 pper 方式,发现配置不起来,目标 IP 是填不了域名,只能填 IP 地址,而公网 IP 地址是会变化的吗。

请问 有没有即可以 site to site 互联,且还支持动态公网 IP 的 VPN 类型?或者类似方案?

3196 次点击
所在节点    宽带症候群
38 条回复
mrzx
2023-03-12 18:50:39 +08:00
@piku V7 版本 IP-IPsec-Peers-New IPsec Peer 里,local Address 这不能填域名,只能填自己本地的公网 IP (但我这个 IP 地址肯定会变化的吗)你的意思是 local Address 这项根本不用填?只填对面的 Adress 即可?这个倒是可以填域名
mrzx
2023-03-12 19:40:33 +08:00
@piku 哈哈,搞定了,设置感兴趣流和 NAT 就行了,等会我把配置贴上来,希望能帮助更多人。
mrzx
2023-03-12 19:57:43 +08:00
第一套房子内网网段 192.168.58.0/24 第 2 套房子内网网段 192.168.18.0/24
第一套房子的公网公网域名是 xxx.3322.org 第 2 套房子公网动态域名 aaa.3322.org

第一套房子配置
/ip ipsec peer
add address=aaa.3322.org name=aaa
/ip ipsec identity
peer=aaa auth-method=pre-shared-key secret="123456xx" generate-policy=no
/ip ipsec policy 设置感兴趣流
add dst-address=192.168.18.0/24 peer=aaa src-address=192.168.58.0/24 tunnel=yes

想互通,得做 NAT
add action=accept chain=srcnat dst-address=192.168.18.0/24 src-address=192.168.58.0/24
记住,这个 NAT 也是有优先级的,优先级必须调成最首位的


第二套房子配置
/ip ipsec peer
add address=xxx.3322.org name=xxx
/ip ipsec identity
peer=xxx auth-method=pre-shared-key secret="123456xx" generate-policy=no
/ip ipsec policy 设置感兴趣流
add dst-address=192.168.58.0/24 peer=xxx src-address=192.168.18.0/24 tunnel=yes

想互通,得做 NAT
add action=accept chain=srcnat dst-address=192.168.58.0/24 src-address=192.168.18.0/24
记住,这个 NAT 也是有优先级的,优先级必须调成最首位的
neroxps
2023-03-12 20:17:13 +08:00
emmm 我老爸家普通 wifi 路由器,刷老毛子的系统用 l2tp 和 ros 打通 丝滑的一批。
neroanelli
2023-03-12 21:43:15 +08:00
我两台 routeros ,其中一台有公网 ipv4 ,直接用 openvpn 组的 site2site ,ovpn 可以配置路由,连接之后就可以互相访问了。
huaes
2023-03-12 22:02:32 +08:00
自从路由器支持 wireguard 后就放弃 openVPN 了,因为 wireguard 可以手动选择优先 IPV6
mrzx
2023-03-12 22:08:27 +08:00
谢谢楼上各位。
看来方案也不少,各有各的长处
1.最传统的 ipsec peer
2.openvpn
3.wireguard
4.l2tp ipsec tunnel
JoeoooLAI
2023-03-13 11:35:55 +08:00
@mrzx
其实 4 种协议都真的用起来只有资源消耗上差别而已,如果你的 ros 是 x86 无需考虑资源消耗,你选个顺手的来用就行。

openvpn 还有个小好处是可以 tcp 模式,如果 udp 被 qos ,tcp 模式就发挥作用了,但墙内而且是同一运营商这个就无所谓了。

我个人感觉 wireguard 在 有一方不是公网 ip 的情况最容易配置,没有其他那么繁琐。(不过这个优点也不适合 op 目前情况
SgtPepper
2023-03-13 11:45:00 +08:00
我 ros 上开了 IKEv2 ,有公网 IP ,ikev2 的服务器名就用的 ros 自带的 ddns 注册的域名
不过我是给办公电脑 win10 用的
flyingfishzxf
2023-03-13 12:06:41 +08:00
https://github.com/Nyr/wireguard-install
WireGuard 一键安装脚本,超简单,准备一台 24 小时运行的虚拟机,运行脚本,填上几个简单的参数,把生成的客户端配置直接在另一台设备上粘贴连接就搞定啦。
我折腾 OpenVPN 了好几天,都没搞定,WireGuard 的一键脚本很快解决了
galaxyskyknight2
2023-03-13 12:26:38 +08:00
ntop n2n
jikky
2023-03-13 16:21:51 +08:00
IP 也可以解决,你自己做个脚本 5 分钟检测下域名,然后把转换的 IP 配过去不就 OK 了。
况且你的这个 PPPOE 也不会无故断掉。
这个就跟你 DDNS 一个道理。
jikky
2023-03-13 16:30:15 +08:00
:global natout1 [:resolve www.google.com server=223.5.5.5]
ip ipsec peer set [find name=peer1] local-address=$natout1

在系统计划里面运行,5 分钟一次。
mrzx
2023-03-14 10:35:09 +08:00
@jikky 可以,这个好,可以借用一下,在 ddns 失效的时候,做备份方案,我在研究下如何每次检测接口的 IP 后,自动发送到我的邮箱里。
briancao
2023-03-14 11:35:11 +08:00
@mrzx 我家里也是 2 台 routeros 组网,直接 wireguard 互联打通,ddns 直接就用的 routeros 自带的,但是目前碰到 2 个问题,1.wireguard 不支持组播的跨网 2.基于 udp 的 wireguard 容易被限速
mrzx
2023-03-14 13:16:54 +08:00
@briancao 看看是否能采用 IGMP 协议解决组播的问题?
mrzx
2023-03-14 13:20:46 +08:00
@briancao 我 DDNS 用的是脚本实现的,我共享出来给大家吧。

:local ednsuser "用户名"
:local ednspass "密码"
:local ednshost "xxxxx.3322.org"
:local ednsinterface "pppoe-out1"
:local members "http://members.3322.net/dyndns/update?system=dyndns"
:local status
:local status [/interface get [/interface find name=$ednsinterface] running]
:if ($status!=false) do={
:local ednslastip [:resolve $ednshost]
:if ([ :typeof $ednslastip ] = nil ) do={ :local ednslastip "0" }
:local ednsiph [ /ip address get [/ip address find interface=$ednsinterface ] address ]
:local ednsip [:pick $ednsiph 0 [:find $ednsiph "/"]]
:local ednsstr "&hostname=$ednshost&myip=$ednsip"
:if ($ednslastip != $ednsip) do={/tool fetch url=($members . $ednsstr) mode=http user=$ednsuser password=$ednspass
:delay 2
:local result [/file get $ednshost contents]
:log info ($ednshost . " " .$result)
/file remove $ednshost;
}
}


记得把脚本调成定时执行即可。时间不宜太频繁,会触发 3322 站点的黑名单机制。建议在 1 小时以上的间隔时间。
mandymak
2023-03-14 14:38:06 +08:00
@briancao eoip over wireguard 试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/923267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX