
2 套房子用的都是 routeros 的设备,都有公网 IPV4 地址,只是都是动态的,需要使用 ddns 我想把 2 套房子里的内网全部路由打通。
打算 ipsec 加密,直接互指 pper 方式,发现配置不起来,目标 IP 是填不了域名,只能填 IP 地址,而公网 IP 地址是会变化的吗
请问 有没有即可以 site to site 互联,且还支持动态公网 IP 的 VPN 类型?或者类似方案?
1 BH1SMB 2023-03-12 00:24:41 +08:00 群晖貌似有 Site2Site |
2 dfly0603 2023-03-12 00:29:52 +08:00 WireGuard ? |
3 scitec 2023-03-12 01:21:38 +08:00 Meraki 方案? |
4 scitec 2023-03-12 01:22:34 +08:00 我使用的 Meraki 方案,自动 site to site VPN ,接口为动态 ip 地址。 |
5 Liku 2023-03-12 01:41:16 +08:00 via iPhone eoip 或者 gre 都行 |
6 flyingfishzxf 2023-03-12 01:49:28 +08:00 via Android 买个域名,ddns+wireguard 吧 |
7 Liku 2023-03-12 01:49:40 +08:00 via iPhone @cXExMzM3MzgyMTA5QHFxLmNvbQ==私聊解决 |
8 sentivcn 2023-03-12 02:55:13 +08:00 eoip gre ipip wireguard 隧道都可以填域名 |
9 gux928 2023-03-12 07:09:47 +08:00 via iPhone ddns+wireguard,ipv6,我这移动没有公网 v4 |
10 teky 2023-03-12 09:01:52 +08:00 via iPhone 为了简单配置,我准备上 arm64+ zerotier |
11 dude4 2023-03-12 09:51:26 +08:00 联通+电信+wireguard+ipv6+CF 的 DDNS 一直在用,两边网关都是 op ,装 wireguard 包很方便,还自带 watchdog 保活 两边拨号 /重启后只要 CF 的 DDNS 及时更新都可以很快自动重连,网关设置 allowed ip 还可以分别限制互访权限,配合静态路由可以做到访问对面的下级网络 缺点是基于 UDP ,目前发现即使是 ipV6 也时不时被 QOS ,传大文件还是要 webdav 直接暴露外网 |
12 mouyong 2023-03-12 09:53:50 +08:00 |
13 winbox 2023-03-12 10:03:19 +08:00 via iPhone 内网用 sstp 组网就行了 |
14 memorybox 2023-03-12 10:06:35 +08:00 我们家做的小工具支持这种场景;但是遗憾的是目前只能在 openwrt 上部署;楼主有兴趣的话可以看一下文档,看看有没有帮助,连接: https://happyncn.feishu.cn/wiki/wikcn4131WTejreKoXrL5nLlCZd |
16 mrzx OP 谢谢楼上各位。 routeros 自带 wireguard,我试试看吧。 |
17 piku 2023-03-12 14:14:36 +08:00 via Android 在用,ros 的 ipip 协议和 eoip 协议可以用域名。 |
18 piku 2023-03-12 14:18:20 +08:00 via Android 不对啊看了一下我家 ros 的一组 IPSec 就是走的域名连接啊,你版本不对吧 |
19 JoeoooLAI 2023-03-12 15:19:26 +08:00 既然有公网 那 wireguard 应该是最好了 |
20 ilylx2008 2023-03-12 15:50:08 +08:00 找一个 ros 作为服务端,开个 ppp 或者 l2tp ,另一个客户端连上,配下路由就行了。ovpn 的话稍微麻烦点。 |
21 mrzx OP @piku V7 版本 IP-IPsec-Peers-New IPsec Peer 里,local Address 这不能填域名,只能填自己本地的公网 IP (但我这个 IP 地址肯定会变化的吗)你的意思是 local Address 这项根本不用填?只填对面的 Adress 即可?这个倒是可以填域名 |
23 mrzx OP 第一套房子内网网段 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 也是有优先级的,优先级必须调成最首位的 |
24 neroxps 2023-03-12 20:17:13 +08:00 via iPhone emmm 我老爸家普通 wifi 路由器,刷老毛子的系统用 l2tp 和 ros 打通 丝滑的一批。 |
25 neroanelli 2023-03-12 21:43:15 +08:00 我两台 routeros ,其中一台有公网 ipv4 ,直接用 openvpn 组的 site2site ,ovpn 可以配置路由,连接之后就可以互相访问了。 |
26 huaes 2023-03-12 22:02:32 +08:00 自从路由器支持 wireguard 后就放弃 openVPN 了,因为 wireguard 可以手动选择优先 IPV6 |
27 mrzx OP 谢谢楼上各位。 看来方案也不少,各有各的长处 1.最传统的 ipsec peer 2.openvpn 3.wireguard 4.l2tp ipsec tunnel |
28 JoeoooLAI 2023-03-13 11:35:55 +08:00 @mrzx 其实 4 种协议都真的用起来只有资源消耗上差别而已,如果你的 ros 是 x86 无需考虑资源消耗,你选个顺手的来用就行。 openvpn 还有个小好处是可以 tcp 模式,如果 udp 被 qos ,tcp 模式就发挥作用了,但墙内而且是同一运营商这个就无所谓了。 我个人感觉 wireguard 在 有一方不是公网 ip 的情况最容易配置,没有其他那么繁琐。(不过这个优点也不适合 op 目前情况 |
29 SgtPepper 2023-03-13 11:45:00 +08:00 我 ros 上开了 IKEv2 ,有公网 IP ,ikev2 的服务器名就用的 ros 自带的 ddns 注册的域名 不过我是给办公电脑 win10 用的 |
30 flyingfishzxf 2023-03-13 12:06:41 +08:00 https://github.com/Nyr/wireguard-install WireGuard 一键安装脚本,超简单,准备一台 24 小时运行的虚拟机,运行脚本,填上几个简单的参数,把生成的客户端配置直接在另一台设备上粘贴连接就搞定啦。 我折腾 OpenVPN 了好几天,都没搞定,WireGuard 的一键脚本很快解决了 |
31 galaxyskyknight2 2023-03-13 12:26:38 +08:00 ntop n2n |
32 jikky 2023-03-13 16:21:51 +08:00 IP 也可以解决,你自己做个脚本 5 分钟检测下域名,然后把转换的 IP 配过去不就 OK 了。 况且你的这个 PPPOE 也不会无故断掉。 这个就跟你 DDNS 一个道理。 |
33 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 分钟一次。 |
34 mrzx OP @jikky 可以,这个好,可以借用一下,在 ddns 失效的时候,做备份方案,我在研究下如何每次检测接口的 IP 后,自动发送到我的邮箱里。 |
35 briancao 2023-03-14 11:35:11 +08:00 @mrzx 我家里也是 2 台 routeros 组网,直接 wireguard 互联打通,ddns 直接就用的 routeros 自带的,但是目前碰到 2 个问题,1.wireguard 不支持组播的跨网 2.基于 udp 的 wireguard 容易被限速 |
37 mrzx OP @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 小时以上的间隔时间。 |