前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ubuntu部署VPN中openvpn(下)

ubuntu部署VPN中openvpn(下)

原创
作者头像
陈不成i
修改2021-06-30 18:17:19
3.8K0
修改2021-06-30 18:17:19
举报
文章被收录于专栏:ops技术分享ops技术分享

创建客户端文件

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

代码语言:javascript
复制
#和服务器配置一样
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

  1. KEY_DIR=~/openvpn-ca/keys
  2. OUTPUT_DIR=~/client-configs/files
  3. BASE_CONFIG=~/client-configs/base.conf
  4. cat ${BASE_CONFIG} \
  5. <(echo -e '<ca>') \
  6. ${KEY_DIR}/ca.crt \
  7. <(echo -e '</ca>\n<cert>') \
  8. ${KEY_DIR}/${1}.crt \
  9. <(echo -e '</cert>\n<key>') \
  10. ${KEY_DIR}/${1}.key \
  11. <(echo -e '</key>\n<tls-auth>') \
  12. ${KEY_DIR}/ta.key \
  13. <(echo -e '</tls-auth>') \
  14. > ${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分钟内,如果天久证明配置失败

file
file

如果弹出如下说明,证明获取到了ip

file
file

客户端添加一条路由,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.提示 一个客户端文件,同时只能一个机器使用

linux安装客户端

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

代码语言:javascript
复制
#!/bin/bash/usr/bin/nohup  
/usr/sbin/openvpn /etc/openvpn/app-linux.ovpn &> /dev/null &

5.添加到systemctl vim /lib/systemd/system/open-agent.service

代码语言:javascript
复制
[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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建客户端文件
  • 三.维护
    • 添加多个客户端
      • linux安装客户端
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com