文章目录
前言
我的OpenVPN服务端在群晖NAS上,我的pve机器连接nas组成局域网。但是每次服务端重启VPN后,客户端的IP总是会变动,这不利于管理。所以需要设置固定IP。
群晖NAS版本:ds918+
DSM版本:DSM 7.1.1-42962 Update 6
VPNServer版本:1.4.6-2892
一、新增nas用户
在nas用户管理界新增用户:pve-bztc
二、修改服务端OpenVPN配置
1. ssh连接nas
#切换管理员root
sudo -i
#进入配置文件目录
cd /var/packages/VPNCenter/etc/openvpn
2. 修改openvpn.conf
在openvpn.conf中增加两行:
#在配置文件中添加以下行,指定客户端配置文件目录
client-config-dir ccd
#vpn默认使用topology net30 拓扑。
#更改服务器配置以使用 subnet 拓扑(而不是 net30)。在服务器配置文件中添加或修改以下行:
topology subnet
完整的openvpn.conf文件:
push "route 10.8.0.0 255.255.255.0"
client-config-dir ccd
topology subnet
dev tun
management /var/run/openvpn.sock unix
server 10.8.0.0 255.255.255.0
dh /var/packages/VPNCenter/target/etc/openvpn/keys/dh3072.pem
ca /var/packages/VPNCenter/target/etc/openvpn/keys/ca.crt
cert /var/packages/VPNCenter/target/etc/openvpn/keys/server.crt
key /var/packages/VPNCenter/target/etc/openvpn/keys/server.key
max-clients 25
comp-lzo
persist-tun
persist-key
verb 3
log-append /var/log/openvpn.log
keepalive 10 60
reneg-sec 0
plugin /var/packages/VPNCenter/target/lib/radiusplugin.so /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf
verify-client-cert none
username-as-common-name
duplicate-cn
status /tmp/ovpn_status_2_result 30
status-version 2
proto tcp6-server
mssfix 1450
port 1194
cipher AES-256-CBC
auth SHA512
3. 新增每个客户端的配置文件
#进入配置文件目录
cd /var/packages/VPNCenter/etc/openvpn
#创建客户端配置文件目录
mkdir ccd
#因为nas创建的用户是:pve-bztc,所以创建pve-bztc文件
cd ./ccd
vim pve-bztc
将以下内容复制到pve-bztc后保存
#如果想固定客户端ip是10.8.0.3,则改为 fconfig-push 10.8.0.3 255.255.255.0
fconfig-push 10.8.0.2 255.255.255.0
4. 服务端OpenVPN重启
可以改下最大联机数量后,点击右下角应用,vpn会重启。
三、客户端重启
客户端使用pve-bztc登录OpenVPN,重启后会固定分配到在服务端配置的ip(如10.8.0.2)。
如果其他机器需要别的固定ip,则新建新的用户用于其他机器的客户端登录,然后在服务端ccd目录下配置ip即可。
四、其他问题
我本想只用一个用户(如test)登录到不同客户端中,使用客户端的Common Name分配固定ip的。但一直没用成功。有大牛成功的话,还请评论区指导下。
总结
OpenVPN设置自定义IP