我尝试用谷歌搜索几乎所有内容,但现在我迷路了。我花了大约两天时间尝试设置它。有人能帮助我吗?
问题:
我必须从我的 ISP 那里获得主家用路由器。但他们不允许在他们的路由器上进行任何设置。我家里有一个 NAS,我需要使用端口转发来访问它。所以我决定使用 VPN 和云端服务器(具有公共 IP 等)来克服他们的路由器。
我当前的设置是(IP地址已删除):
NAS(192.168.100.10)-> 网络(192.168.100.0/24)-> mikrotik 路由器作为 VPN 客户端(192.168.100.253、192.168.101.3)-> VPN 隧道(192.168.101.0/24)-> 云服务器作为 VPN 服务器(192.168.102.10、192.168.101.2,一些公共 IP)我的 NAS 可从本地网络在端口 80 和 443 上访问。在 Mikrotik 路由器上,我已设置 OpenVPN 客户端并将其连接到 VPN 服务器。我认为连接是正确的。用作 OpenVPN 服务器的云服务器是 Ubuntu 22.04,安装并设置了免费版的 OpenVPN Access Server - 允许两个连接。
我想要的是:
我想要设置,如果我通过端口 443 上的公共 IP 访问我的 OpenVPN 服务器,我希望将该流量转发到 VPN 后面的 NAS。我不想在 OpenVPN 服务器上使用证书。
我拥有的:
我知道 VPN 隧道可以正常工作,因为当我在 VPN 服务器上设置 nginx 以接受端口 80 上的传入流量并将 proxy_pass 设置为我的 NAS 的 IP 服务器时,我能够毫无问题地访问端口 80 上的 NAS。在 MikroTik 路由器中,没有设置防火墙 - 它被设置为允许所有传入流量,因为现在它不用于其他任何用途。我不想在 OpenVPN 服务器上使用 SSL 证书,所以我不想为端口 443 设置 Nginx。我只想将从端口 443 传入 NAS 的流量路由/转发到端口 443。在服务器中,我已在 sysconf 中启用了 ipv4 转发,并尝试在 iptables 中设置预路由。但我得到了 connection_timeout。此外,我在 Mikrotik 上设置了所有 443 流量的日志记录,但没有记录任何内容。
经过所有的谷歌搜索和尝试,我认为问题在于服务器无法将来自互联网的传入流量转发到 VPN。如果我从 OpenVPN 服务器在端口 443 上运行 wget 到我的 NAS 的 IP,它会成功。
有人知道这个设置可能出了什么问题吗?或者我应该在哪里查找错误?此外,我可以提供任何其他所需的信息。我知道这个设置可能有点过度,但我希望在端口 80 正常工作后完成它。
感谢您的任何帮助。