1
podel 2023-03-23 18:26:44 +08:00
两边都配置好 静态路由。
数据是双向的。别光是配一边。 比如说 你家是 192.168.2.0/24 服务器是 10.1.1.0/24 你需要在你家的网关设备上 配置 10.1.1.0/24 的静态路由到 Openvpn 的机器。 然后你的 Openvpn 服务器上面需要静态路由 192.168.2.0/24 到 Openvpn 的机器跟上同样的那个地址。 |
2
JoshuaBen 2023-03-23 20:20:03 +08:00 1
给你推荐 tailscale ,完美解决。
|
3
jhytxy 2023-03-23 20:32:44 +08:00
如果能接受控制器在外网的话
zerotier 和 tailscale 是最好的 |
4
fastcache 2023-03-23 20:53:15 +08:00 1
用 zerotier , 把有公网地址的云服务器设置为 moon 做中转即可
|
5
wuruxu 2023-03-23 21:58:25 +08:00 1
wireguard 可以考虑下
有 IPV6 的,可以优先考虑,直接连接更快 |
6
sylviaweissenba 2023-03-24 01:53:23 +08:00 1
zerotier
|
7
maybeonly 2023-03-24 09:13:29 +08:00 1
可以当然是可以的,相当于 site2site vpn 了。
ref: https://openvpn.net/vpn-server-resources/site-to-site-routing-explained-in-detail/ 但是根据 ov 模式的不同,有不同的具体步骤。看起来是 tap 模式了。tap 模式做这种事情简单地多(相对 tun 而言) 1. a.如果你的 ov 是 tun 模式 在 ov 服务器上编辑 ccd 配置(假设你用了 net30 ) ifconfig-push 10.8.0.10 255.255.255.252 iroute 192.168.2.0 255.255.255.0 这个 ccd 文件的文件名是你的 openvpn 用户名,位置由 server.conf 里的 client-config-dir 决定。 b. 如果你的 ov 是 tap 模式,跳过这一步。 2. 在 ov 服务器到公网上添加 nat 规则: iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE 以及任何你喜欢的 dnat 规则。但是 dnat 的时候有个问题,就是你内网的回包没法回到 openvpn 服务端上去…… 解决这个问题的思路有两个: i. 完成 dnat 之后立刻做一次 snat iptables -t nat -A PREROUTING -d ${公网 ip} -p tcp --dport 12345 -j DNAT --to 192.168.2.x:12345 iptables -t nat -A POSTROUTING -o tun0 ! -s 10.8.0.0/24 -j SNAT --to 10.8.0.1 缺点是看不到真实的公网 ip 。 ii. 在 192.168.2.1 和 192.168.2.2 上做连接追踪,比这些还复杂,暂不推荐。 3. 在云端网关上(看起来是你那个云服务器,但真的是吗?)上添加路由,将 192.168.2/24 网段丢给 openvpn 的服务端 如果做不到,可以考虑通过 nat+端口映射的方式访问,类似从公网访问。 又或者在网络允许的情况下,在你云端所有的服务器上添加路由。 ip r a 192.168.2.0/24 via 10.8.0.1 a. 如果是 tun 模式 要丢给接口(通常是 tun0 ) ip r a 192.168.2.0/24 dev tun0 b. 如果是 tap 模式 ip r a 192.168.2.0/24 via 10.8.0.1 4. 在家里的网关上(看起来是 192.168.2.1 )添加到云端的路由 ip r a 10.8.0.0/24 via 192.168.2.2 5. 在家里 ov 客户端上添加到云端的路由 讲真这里由服务端下发路由是比较合适的…… a.如果是 tun 模式 ip r a 10.8.0.0/24 dev tun0 b. 如果是 tap 模式 通常可以跳过这一步,如果配置正确,你的 tap0 或类似接口上已经有相关路由。 6. 各处防火墙放行 无非是类似下面的东西 iptables -I FORWARD -s 192.168.2.0/24 -d 10.8.0.0/24 -j ACCEPT iptables -I FORWARD -d 192.168.2.0/24 -s 10.8.0.0/24 -j ACCEPT 之类的,各处执行…… |
8
lyangjyehaur OP @podel 的确之前没有在网关设备上配路由,不过看了一下我这款电信送的路由器配不了路由,得换個路由器了哈哈😆
|
9
lyangjyehaur OP @chengliangben 谢啦👏我去研究下
|
10
lyangjyehaur OP |
11
lyangjyehaur OP @wuruxu 谢啦😉刚好有 IPv6 的,我也研究下
|
12
lyangjyehaur OP @maybeonly 哇!感谢大佬🙏对照下来应该是少一步在网关设备上写路由,但是电信送的路由器又配置不了路由,还以为在爱快和终端上写好路由就可以了
|