当前位置:   article > 正文

【linux】centos7下部署openvpn专用隧道_centos7 加密隧道

centos7 加密隧道

 本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

【linux】centos7下部署openvpn专用隧道

部署过程一下:

  1. yum -y install easy-rsa
  2. mkdir -p /opt/easy-rsa
  3. cp -a /usr/share/easy-rsa/3.0.8/* /opt/easy-rsa/
  4. cp -a /usr/share/doc/easy-rsa-3.0.8/vars.example /opt/easy-rsa/vars
  5. vi /opt/easy-rsa/vars
  6. #打开注释
  7. set_var EASYRSA_DN "cn_only"
  8. set_var EASYRSA_REQ_COUNTRY "CN"
  9. set_var EASYRSA_REQ_PROVINCE "Shanghai"
  10. set_var EASYRSA_REQ_CITY "Shanghai"
  11. set_var EASYRSA_REQ_ORG "lucifer"
  12. set_var EASYRSA_REQ_EMAIL "xxx@xxx.com"
  13. set_var EASYRSA_NS_SUPPORT "yes"
  14. #生成证书---需要加密的输入密码,不需要的直接回车和yes跳过,我一般都是nopass过去,因为有证书就可以了
  15. /opt/easy-rsa/easyrsa init-pki
  16. /opt/easy-rsa/easyrsa build-ca
  17. /opt/easy-rsa/easyrsa build-ca nopass
  18. echo -e 'node' | ./easyrsa gen-req server nopass
  19. echo -e 'yes' | ./easyrsa sign server server
  20. ./easyrsa gen-dh
  21. yum -y install openvpn
  22. cd /etc/openvpn/
  23. vi server.conf
  24. port 1777 #端口
  25. proto udp #协议
  26. dev tun #采用路由隧道模式tun
  27. ca ca.crt #ca证书文件位置
  28. cert server.crt #服务端公钥名称
  29. key server.key #服务端私钥名称
  30. dh dh.pem #交换证书
  31. server 10.188.0.0 255.255.255.0 #给客户端分配地址池,注意:不能和VPN服务器内网网段有相同
  32. push "route 172.26.2.0 255.255.0.0" #允许客户端访问内网网段
  33. push "route 172.26.3.0 255.255.0.0"
  34. push "route 10.80.0.0 255.255.255.0"
  35. route 172.26.2.0 255.255.0.0
  36. route 172.26.3.0 255.255.0.0
  37. route 10.80.0.0 255.255.255.0
  38. ifconfig-pool-persist ipp.txt #地址池记录文件位置
  39. keepalive 10 120 #存活时间,10秒ping一次,120 如未收到响应则视为断线
  40. max-clients 100 #最多允许100个客户端连接
  41. status openvpn-status.log #日志记录位置
  42. verb 3 #openvpn版本
  43. client-to-client #客户端与客户端之间支持通信
  44. log /var/log/openvpn.log #openvpn日志记录位置
  45. persist-key #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys。
  46. persist-tun #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup
  47. duplicate-cn
  48. cp -a /opt/easy-rsa/pki/ca.crt /etc/openvpn/
  49. cp -a /opt/easy-rsa/pki/issued/server.crt /etc/openvpn/
  50. cp -a /opt/easy-rsa/pki/private/server.key /etc/openvpn/
  51. cp -a /opt/easy-rsa/pki/dh.pem /etc/openvpn/
  52. #手动起好看日志
  53. nohup openvpn --config /etc/openvpn/server.conf >/dev/null &

生成客户端证书脚本:

  1. 客户端:生成脚本---mac或者win直接下载openvpn的gui客户端,win把配置文件放到config下即可。mac直接导入file即可
  2. cat create-openvpn-client.sh
  3. #!/bin/bash
  4. cd /opt/easy-rsa
  5. echo $1 | /opt/easy-rsa/easyrsa gen-req $1 nopass
  6. echo yes | /opt/easy-rsa/easyrsa sign client $1
  7. mkdir /tmp/$1
  8. cd /tmp/$1
  9. cp /opt/easy-rsa/pki/ca.crt .
  10. cp /opt/easy-rsa/pki/issued/$1.crt .
  11. cp /opt/easy-rsa/pki/private/$1.key .
  12. echo "client #指定当前VPN是客户端
  13. dev tun #使用tun隧道传输协议
  14. proto udp #使用udp协议传输数据
  15. remote <your-ip> 1777 #openvpn服务器IP地址端口号
  16. resolv-retry infinite #断线自动重新连接,在网络不稳定的情况下非常有用
  17. nobind #不绑定本地特定的端口号
  18. ca /Users/apple/Downloads/$1/ca.crt #指定CA证书的文件路径
  19. cert /Users/apple/Downloads/$1/$1.crt #指定当前客户端的证书文件路径
  20. key /Users/apple/Downloads/$1/$1.key #指定当前客户端的私钥文件路径
  21. verb 3 #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
  22. persist-key #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys
  23. persist-tun #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup" > client.ovpn
  24. cd .. && tar -czf $1.tar.gz $1
  25. cat create-openvpn-client-win.sh
  26. #!/bin/bash
  27. cd /opt/easy-rsa
  28. echo $1 | /opt/easy-rsa/easyrsa gen-req $1 nopass
  29. echo yes | /opt/easy-rsa/easyrsa sign client $1
  30. mkdir /tmp/$1
  31. cd /tmp/$1
  32. cp /opt/easy-rsa/pki/ca.crt .
  33. cp /opt/easy-rsa/pki/issued/$1.crt .
  34. cp /opt/easy-rsa/pki/private/$1.key .
  35. echo "client
  36. dev tun
  37. proto udp
  38. remote <your-ip> 1777
  39. resolv-retry infinite
  40. nobind
  41. ca ca.crt
  42. cert $1.crt
  43. key $1.key
  44. verb 3
  45. persist-key
  46. persist-tun" > client.ovpn
  47. tar -czf $1.tar.gz .
  48. mv $1.tar.gz /tmp
  49. chown xxx:xxx /tmp/$1.tar.gz
  50. ----注意,win的路径只需要当下就可以。

固定ip

#在server.conf上需要加上

ifconfig-pool-persist ipp.txt #地址池记录文件位置

  1. [root@tt openvpn]# ll ccd/
  2. 总用量 4
  3. -rw-r--r-- 1 root root 36 15 2023 xxx <your client name>
  4. [root@tt openvpn]# cat ccd/<xxx> # <your client name>
  5. ifconfig-push 10.188.0.100 255.255.255.0
  6. [root@tt openvpn]# pwd
  7. /etc/openvpn

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/943443
推荐阅读
相关标签
  

闽ICP备14008679号