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 1
WireGuard ?
|
3
scitec 2023-03-12 01:21:38 +08:00
Meraki 方案?
|
4
scitec 2023-03-12 01:22:34 +08:00 1
我使用的 Meraki 方案,自动 site to site VPN ,接口为动态 ip 地址。
|
5
Liku 2023-03-12 01:41:16 +08:00 via iPhone 1
eoip 或者 gre 都行
|
6
flyingfishzxf 2023-03-12 01:49:28 +08:00 via Android 1
买个域名,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 1
eoip gre ipip wireguard 隧道都可以填域名
|
9
gux928 2023-03-12 07:09:47 +08:00 via iPhone 1
ddns+wireguard,ipv6,我这移动没有公网 v4
|
10
fastcache 2023-03-12 09:01:52 +08:00 via iPhone 1
为了简单配置,我准备上 arm64+ zerotier
|
11
dude4 2023-03-12 09:51:26 +08:00 1
联通+电信+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 1
内网用 sstp 组网就行了
|
14
memorybox 2023-03-12 10:06:35 +08:00 1
我们家做的小工具支持这种场景;但是遗憾的是目前只能在 openwrt 上部署;楼主有兴趣的话可以看一下文档,看看有没有帮助,连接:
https://happyncn.feishu.cn/wiki/wikcn4131WTejreKoXrL5nLlCZd |
16
mrzx OP 谢谢楼上各位。
routeros 自带 wireguard,我试试看吧。 |
17
piku 2023-03-12 14:14:36 +08:00 via Android 1
在用,ros 的 ipip 协议和 eoip 协议可以用域名。
|
18
piku 2023-03-12 14:18:20 +08:00 via Android 1
不对啊看了一下我家 ros 的一组 IPSec 就是走的域名连接啊,你版本不对吧
|
19
JoeoooLAI 2023-03-12 15:19:26 +08:00 1
既然有公网 那 wireguard 应该是最好了
|
20
ilylx2008 2023-03-12 15:50:08 +08:00 1
找一个 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 1
我两台 routeros ,其中一台有公网 ipv4 ,直接用 openvpn 组的 site2site ,ovpn 可以配置路由,连接之后就可以互相访问了。
|
26
huaes 2023-03-12 22:02:32 +08:00 1
自从路由器支持 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 1
@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 1
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 1
IP 也可以解决,你自己做个脚本 5 分钟检测下域名,然后把转换的 IP 配过去不就 OK 了。
况且你的这个 PPPOE 也不会无故断掉。 这个就跟你 DDNS 一个道理。 |
33
jikky 2023-03-13 16:30:15 +08:00 1
: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 小时以上的间隔时间。 |