我的设置:Raspberry pi 3 操作系统:raspbian 9(stretch) 本地网络(eth0):192.168.0.X 无线网络(wlan0):192.168.10.X
此设置位于提供互联网访问的调制解调器/路由器后面。
好的,我在这里尝试做的是让 pi 充当 vpn 路由器和 web 服务器。它应该以这样的方式工作,即来自 wlan0(192.168.10.X) 的所有流量都应通过 VPN 连接发送。所有其他流量都应通过 eth0(192.168.0.X),就像它过去工作的那样。
我使用了以下教程:
https://raspberrypihq.com/how-to-turn-a-raspberry-pi-into-a-wifi-router/
https://thepi.io/how-to-use-your-raspberry-pi-as-a-vpn-router/
现在我得到了 vpn 正常工作的部分,并且 wlan0(192.168.10.X) 流量正在通过 VPN 路由,并且在当地的网络 (192.168.0.X) 我可以 ssh (22) 或向网络服务器 (80) 发出请求。我可以毫无问题地从内部访问它。
现在的问题是:当我尝试远程连接到 Pi 时,我无法再访问我的服务。这意味着我无法从网络外部使用 SSH (22) 或 http (80)。我觉得很奇怪,在我的本地网络中我可以使用它们,但在我的网络之外我找不到它们。当我关闭 openvpn 时,我可以访问它们,一切又恢复正常。
我尝试在互联网上寻找解决方案,但答案很模糊且没有多大帮助。
我在这里遗漏了什么?
答案1
好的。感谢 Daniel B 的评论,我想我已经解决了这个问题。我去阅读了有关策略路由的内容,并使用了以下教程作为示例:
https://blog.scottlowe.org/2013/05/29/a-quick-introduction-to-linux-policy-routing/
唯一的区别是例子中的内容:
ip 规则从 192.168.30.200 添加查找自定义
我做了以下事情:
ip 规则从 192.168.0.0/24 添加查找自定义
这是为了获取整个 IP 范围而不是单个 IP。
并且它已经连续运行好几天了,没有任何问题。