我已经在我的工作网络上设置了一个 OpenVPN 服务器,并且我可以通过 vpn 从远程机器访问该服务器。但是我不知道如何访问服务器后面的局域网。
网络布局为:
---------- ------- -------- ----------------
|Internet|-->|Modem|-->|Switch|-->|OpenVPN Server|
---------- ------- -------- ----------------
服务器是 ubuntu 服务器。我在服务器上启用了 IP 转发。
我们的网关/调制解调器是 Linksys WAG54G2,并与 WinXP 机器连接。
有谁知道如何打开 OpenVPN 服务器所在的子网???
此设置是特定于 CentOS 的,但您的安装可能类似。该配置也适用于 2.0 版本,2.1 系列似乎使用了不同格式的配置文件。 它还假设您使用两个 linux 机器来执行此操作,而不仅仅是加入 Windows XP 端点- 因此您需要对您正在使用的 Windows XP 安装进行调整。在此示例中,地址是随机选择的,因此分配它们的方式如下:
和
秘密静态密钥
使用静态密钥对您来说是最简单的。 在此处阅读有关如何制作的说明。 这是从 1.1.1.1 以 root 身份完成的简短版本:
示例本地(工作 LAN)配置:
/etc/openvpn/home-vpn
假设 OpenVPN/etc/openvpn
在启动时读取内容,您可以将此文本放入您的工作机器 (1.1.1.1)。远程(家庭 LAN)配置示例:
/etc/openvpn/work-vpn
假设 OpenVPN/etc/openvpn
在启动时读取内容,您可以将此文本放在您的家用计算机 (2.2.2.2) 上。评论
这里的示例以 1 的优先级运行 openvpn 服务;如果您不希望这样做,请删除读取
nice 1
使其像任何其他程序一样运行的整行。comp-lzo
两端都启用了压缩,并passtos
允许 TOS 数据包位在 VPN 中保留。如果您愿意,也可以禁用这两者。有些人会注意到 6 的路由成本似乎有点高,这是真的,它可以低得多(4-5 取决于设置)但 6 为子网和额外路由提供了足够的“范围”。最后,当我在凌晨 1:31 发布此内容时,我确定我忘记了某些内容或标记了错误的内容,因此请随时检查设置并仔细检查它们。
完整答案。
简短的回答。
中等答案。
远程客户端
当您的 OpenVPN 客户端连接到 OpenVPN 服务器时,客户端现在至少有 2 个 IP 地址。
问题是,在正常情况下,您的客户端不知道将您的局域网内 IP 范围的流量发送到哪里。客户端通常会有一个“默认网关”(即我在哪里为我不知道的目的地发送流量)转发到您的 ISP。
这种困境的更好解决方案是让 OpenVPN 客户端在成功设置 VPN 隧道后设置路由。看看 OpenVPN 的服务器配置的推送功能。例如:
(如果您的远程客户端是 Windows 机器,您可能需要在其客户端配置中添加如下内容)
以上的组合应该可以从远程客户端通过 VPN 将流量传输到 LAN 主机,但现在您需要让 LAN 主机知道将响应发送到哪里。
局域网主机
如果您只是在工作之外通过 OpenVPN 服务器进行连接,那么您只需确保该 VPN 服务器是您 LAN 的默认网关。否则, ...