我有一个 SMB 客户端,需要在其中安装 VPN 解决方案。我有一台 CentOS 服务器,它有 3 个网络连接,一个是来自路由器的 Internet 连接。它有 10.xxx 地址(由路由器进行 NAT),第二个连接是 192.168.3.x,第三个连接是 192.168.4.x,我希望 SMB 的员工在路上时可以从 Internet 连接到服务器,并且可以像在办公室电脑上一样访问他们的网络资源。
VPN 服务器(即 Centos 机器)应该通过防火墙获取所有 VPN 流量。
我会尝试让这些问题尽可能的普遍:
- 客户端的 IP 地址应该是什么?(我们在网络上不使用 DHCP)。
- 我如何让服务器/客户端根据 IP 决定它应该属于哪个网络?(我的意思是 4.x 或 3.x)。
- 虽然路由器不具备服务器机器的功能(我知道VPN涉及加密和解密),但将VPN解决方案放在路由器端是否更好?
我希望大致了解客户端和服务器需要进行的配置。
从标题可以看出我计划使用 OpenVPN。
更新:
为了澄清这个问题,我希望小型企业的员工能够通过互联网连接到他们的家庭网络,并在世界任何地方访问网络资源。
答案1
所以经过整整 3 个晚上,我已经设法在测试环境中正确安装和配置它,所以在这里我可以发布一些我的发现的提示和技巧,并希望能回答我的问题。
您应该做的第一件事是获取服务器/客户端 OpenVPN 解决方案的示例配置文件,它将使您的生活更加轻松。您可以从这里在 Linux 机器上获取此文件/usr/share/doc/openvpn/sample-config-files/
(如果您找不到它,请执行此操作find / -name client.conf
)并将它们复制到/etc/openvpn/
,然后按照指导从 OpenVPN 站点,仅需对示例文件进行 3 处更改,就可以开始了。
回答我的问题:
OpenVPN 服务器基本上会创建一个自己的网络,它不属于它所连接的当前网络的一部分,因此您的客户端会通过 OpenVPM 服务器自动从该网络获取一个 IP 地址,并且为了让您的客户端能够连接到与 OpenVPN 服务器连接的其他网络,您需要在服务器的配置文件中
push "route 192.168.3.0 255.255.255.0"
为您希望客户端与之通信的每个网络添加此行,这样当您的客户端连接到服务器时,它会从服务器获取更新的路由表,并能够与指定网络上的机器进行通信。参见答案 1。
我已经用一个带有 OpenVPN 服务器功能的简单 DD-WRT 路由器进行了测试,但当用户超过 3 人时,速度似乎会很慢,所以最好