我有一个已经正常运行的OpenVPN服务器,允许人们在我们的服务器上工作。 有一个新的项目,要求我允许访问networking和networking内的一个特定的服务器为一组外包编码器。 我想让他们只连接到一个驻留在networking上的开发服务器,但也想知道他们无法连接到networking上的任何其他服务器。 那可能吗? 怎么样?
这是我的server.conf文件:
ca ca.crt cert server.crt comp-lzo dev tun dh dh1024.pem group nobody ifconfig-pool-persist ipp.txt keepalive 10 120 key server.key # This file should be kept secret persist-key persist-tun port 1194 proto tcp push "dhcp-option DNS 208.67.220.220" push "dhcp-option DNS 208.67.222.222" push "route 10.1.X.0 255.255.255.0" push "route 192.168.X.0 255.255.255.0" push "route 192.168.Y.0 255.255.255.0" server 192.168.Y.0 255.255.255.0 status openvpn-status.log user nobody verb 3
我应该补充什么? 会影响已连接的用户吗? 它可以导致已经连接到这个服务器的用户的任何问题?
正如MealstroM所说,这是可能的。 完整的程序在OpenVPN HOWTO的相关部分有详细的logging ,但程序的简短摘要是:
configurationOpenVPN服务器,根据embedded在各自证书中的CN,区分常规用户和“专属”用户(只允许访问某些机器的用户)
在这样做之后,configurationOpenVPN将VPN地址从一个VPN地址块分配给普通用户,从另一个块分配给被俘用户
在第3层的特权和非特权stream量之间进行了区分,编写适当的iptables规则以仅允许来自受控用户networking块的期望stream量。
你问“ 它会影响已经连接的用户 ”。 如果你的意思是在短期内,那么是的,因为这将需要重新启动服务器,将断开所有人; 如果您的意思是长远的话,那么现有用户就不需要重新configuration或更改。 所有这些变化都是服务器端的。
是的,那可能。 你应该使用点对点的openvpn架构,并在openvpn服务器上使用“push routes”。
确保你不使用“客户端到客户端”选项。