1.创建客户端目录,存储客户端文件
mkdir -p ~/client-configs/files
对权限进行锁定
chmod 700 ~/client-configs/files
2.复制一个模板,创建基本的客户端文件
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
#和服务器配置一样
proto udp
cipher AES-128-CBC
auth SHA256
remote server_IP_address 1194 #配置为服务端的公网ip和端口
key-direction 1 #增加
user nobody #打开注释
group nogroup #打开注释
3.编写一个脚本,自动生成客户端配置文件,刚才只是修改一个大众模板
vim ~/client-configs/make_config.sh
KEY_DIR=~/openvpn-ca/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf
cat ${BASE_CONFIG} \
<(echo -e '<ca>') \
${KEY_DIR}/ca.crt \
<(echo -e '</ca>\n<cert>') \
${KEY_DIR}/${1}.crt \
<(echo -e '</cert>\n<key>') \
${KEY_DIR}/${1}.key \
<(echo -e '</key>\n<tls-auth>') \
${KEY_DIR}/ta.key \
<(echo -e '</tls-auth>') \
> ${OUTPUT_DIR}/${1}.ovpn
添加权限
chmod +x ~/client-configs/make_config.sh
4.生成客户端文件,client1要和上面生成客户端证书的名字要对应
cd ~/client-configs
./make_config.sh client1
会生成一个.ovpn的文件,这个文件放到客户端安装文件夹config里面,就可以加载使用了
ls files/client1
客户端上传到了附件,windows的。安装客户端后,打开GUI程序,右下角点开connect链接,出现如下表格,等一会协商完表格会自动消失,大约2分钟内,如果天久证明配置失败
如果弹出如下说明,证明获取到了ip
客户端添加一条路由,windows打开cmd,ipconfig /all查看虚拟网关ip,并输入如下命令添加
route add 云主机内网网段 mask 255.255.0.0 虚拟网段的网关ip
例如,如果是/24,则必须要把网段对应上,这里不能写172.17.0.0
route add 172.17.8.0 mask 255.255.0.0 10.8.0.5
添加完成后重启电脑生效
客户端上传到了附件,windows的,如果在win10上面安装,需要使用管理员身份运行
1.生成客户端证书
cd ~/openvpn-ca
source vars
./build-key client多个
2.生成客户端配置
cd ~/client-configs
./make_config.sh client多个
3.提示 一个客户端文件,同时只能一个机器使用
1.安装
apt-get install -y openvpn
2.用服务端生成客户端
ls /etc/openvpn/app-linux.ovpn
3.测试启动,看是否报错,没问题ctl + c结束
openvpn /etc/openvpn/app-linux.ovpn
4.编写启动脚本
vim /etc/openvpn/open-agent.start
#!/bin/bash/usr/bin/nohup
/usr/sbin/openvpn /etc/openvpn/app-linux.ovpn &> /dev/null &
5.添加到systemctl
vim /lib/systemd/system/open-agent.service
[Unit]
Description=The open agent
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/bin/bash /etc/openvpn/open-agent.start
PrivateTmp=True
[Install]
WantedBy=multi-user.target
6.启动测试,没问题加入自启动
systemctl daemon-reload
systemctl start open-agent
systemctl enable open-agent
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。