所有用户都可以连接到运行 OpenVPN 的主机,但有些用户可以跳转到局域网中的其他主机。例如,foo用户可以访问 host 10.2.0.1/32
(运行 OpenVPN 的地方)和 hosts at10.0.0.0/24
但bar用户只能访问 host 10.2.0.1/32
。
对于两个用户,路由表是相同的
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 302 0 0 wlan0
10.1.0.0 10.2.0.5 255.255.255.128 UG 0 0 0 tun0
10.2.0.1 10.2.0.5 255.255.255.255 UGH 0 0 0 tun0
10.2.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
为了生成客户端的密钥,我运行
cd /usr/share/easy-rsa/2.0
source vars
./build-key --batch foo
该/etc/openvpn/server.conf
文件有
; server
mode server
port 1194
proto udp
dev tun
keepalive 10 120
; networking
server 10.2.0.0 255.255.255.0
ifconfig 10.2.0.1 255.255.255.0
push "route 10.1.0.0 255.255.255.128"
ifconfig-pool-persist ipp.txt
服务器是运行 OpenVPN 2.3.11 和 Easy RSA 2.2.2 的 CentOS 7 (x86_64)。