我想问一个问题:
如何通过安装了 VPN(openvpn-server)的 VPS 路由流量,通过 ssh 远程控制 Raspberry?
重要条件:无法更改 LAN-01 中的防火墙和路由器规则,这就是我选择云 VPS 的原因。
前提,这是我当前的配置:
- RPI-01 = 树莓派 (Raspbian)
- PC-02 = 个人笔记本电脑(Ubuntu 桌面)
- VPS = Amazon AWS EC2(Ubuntu 服务器)
- VPN = openvpn
我给自己的答案是我应该配置:
- VPS = openvpn 服务器
- RPI-01 和 PC-02 = openvpn-客户端。
考虑到 SSH 协议是(tcp),我应该配置 openvpn 以使其接受 ssh 流量,但问题是我不太明白如何让 VPS 将流量从 PC-02 路由到 RPI-01 以及从 RPI-01 路由到 PC-02?。
PC-02(LAN1)
<---VPN+SSH---> VPS(opepnvpn-server)
<---VPN+SSH--->PC-01(LAN2)
谢谢大家
答案1
我修改了你的帖子,将旋转改为路线,我认为这是你的意思,与你问的问题不同。
您似乎忽略了一点,即 VPN 会将第二个网络覆盖在第一个网络上,从而为设备提供第二组 IP。为了在设备之间进行通信,您需要使用这些第二个 IP 来确保数据通过 VPN 进行路由。(您需要确保 VPN 设置的 IP 范围或 IP 范围与分配给 LAN 的 IP 范围不同。172.16.xx 是常见的选择)
设置 OpenVPN 服务器和客户端后,您只需确保 Pi 上的 SSH 服务器不会阻止来自 VPN 范围的连接(并且默认行为是允许访问)。关键是当您想要访问设备时,使用 VPN 网络中分配的 IP。
顺便说一句 - 您已指定 openvpn-server。我使用 OpenVPN 服务器做过这种事情,并且知道它确实很实用。也就是说,对于新安装,我将改用 Wireguard - 它更容易理解和配置,并且性能更好。(OpenVPN 有很多关于 iroutes 的直观内容,这些内容与修改内核中的路由有关,尽管多次尝试,我从未完全理解过。Wireguard 的工作方式与预期一致)