Centos
OpenVPN 允許部分使用者跳轉到區域網路中的其他主機
所有使用者都可以連接到執行 OpenVPN 的主機,但有些使用者可以跳轉到區域網路中的其他主機。例如,foo使用者可以訪問 host
10.2.0.1/32
(執行 OpenVPN 的地方)和 hosts at10.0.0.0/24
但bar使用者只能訪問 host10.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)。
我的錯:問題是 IPTables 中的路由後規則,它是
-A POSTROUTING -s 10.2.0.0/27 -o eno1 -j MASQUERADE
它應該是
-A POSTROUTING -s 10.2.0.0/24 -o eno1 -j MASQUERADE