我不确定我是否有合适的硬件来实现这一点,但是......
我有一台 Mac Mini i7 服务器,带有内置以太网(en0)、雷电以太网(en1)和内置机场。
我希望能够配置到另一个位置的 VPN(使用客户端的 PPTP 或 OpenVPN)连接,然后允许同一 192.168.xx 网络上的另一台设备通过 en1 或无线上的 Mac Mini Server 连接到 VPN。
但是,我还希望 Mac Mini Server 能够绕过 VPN 通过 en0 发送流量。
这是可能吗?
一种情况是 Apple TV 通过 wifi 或 en1 连接到 Mac Mini 服务器,然后通过 VPN 路由。同时,Mac Mini 充当 Plex 媒体服务器,并通过 en0(而不是通过 VPN)发送转码电影。
非常感谢您的帮助,谢谢您的关注。
答案1
是的,应该可以。我没有 Mac,但我确信它在概念上与在 Linux 下操作类似。设置 VPN 后(OpenVPN 是比 PPTP 更好的选择,但两者都应该可以正常工作),您需要做 3 件事。[我注意到,通过以太网或 WIFI 接口进行操作并不重要]
让我定义一下机器以便于参考:远程 = 网络之外的 OpenVPN 服务器服务器 = Mac Mini 客户端 = “同一 192.168.xx 网络上的其他设备”
- 在服务器上启用转发。
- 要么在远程上启用通过 VPN 到客户端的路由(即客户端/服务器子网的静态路由),要么让服务器伪装/nat 来自客户端发往远程的数据包。
- 在客户端上为远程服务器设置一条静态路由。
我没有办法尝试这些事情,但实际上,我相信以下方法会起作用:
通过输入启用数据包转发
sudo sysctl -w net.inet.ip.forwarding=1
在终端中。(这取决于您的设置)。对于 OpenVPN,您可能
只需在 REMOTE 上的 OpenVPN 配置中添加一行即可实现此更改路由客户端 IP 范围 NETMASK 范围
或者尝试类似
/sbin/ipfw add divert natd all 从任意到任意通过 XXX
在服务器上启用伪装(其中 XXX 是无线或以太网接口)
或者看看http://hints.macworld.com/article.php?story=20021030055008917作为使用 Masquerading 设置 PPTP 隧道的起点。
使用命令
路线-n添加REMOTE.IP gw SERVER.IP
在客户端上。
(查看http://blog.irrashai.com/blog/2009/03/how-to-add-static-route-in-mac-os-x/如何使它永久存在)