我有一个OpenVPN服务器,它已经正常运行,允许人们在我们的服务器上工作.
有一个新项目要求我允许一组外包编码器访问网络和网络中的一个特定服务器.
我想让他们只连接到一个驻留在网络上的开发服务器,但我也想知道他们无法连接到网络上的任何其他服务器.
那可能吗?怎么样?
有一个新项目要求我允许一组外包编码器访问网络和网络中的一个特定服务器.
我想让他们只连接到一个驻留在网络上的开发服务器,但我也想知道他们无法连接到网络上的任何其他服务器.
那可能吗?怎么样?
那是我的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所说,这是可能的.完整的程序已有详细记录
in the relevant section of the OpenVPN HOWTO,但该程序的简短摘要是:
>配置OpenVPN服务器,以根据各自证书中嵌入的CN区分常规用户和“被俘”用户(仅允许访问某些机器的用户)
>这样做了区别,配置OpenVPN将VPN地址从一个VPN地址块分配给普通用户,从另一个块分配给强制用户
>在第3层区分特权和非特权流量,编写适当的iptables规则,仅允许来自强制用户网络块的所需流量.
你问“它会影响已经连接的用户”.如果你的意思是在短期内,那么是的,因为这将需要重新启动服务器,这将断开所有人的连接;如果您的意思是长期,那么不,现有用户不需要任何重新配置或更改.所有这些变化都是服务器端的.