赞
踩
本站以分享各种运维经验和运维所需要的技能为主
《python零基础入门》:python零基础入门学习
《python运维脚本》: python运维脚本实践
《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战
《k8》暂未更新
《docker学习》暂未更新
《ceph学习》ceph日常问题解决分享
《日志收集》ELK+各种中间件
《运维日常》运维日常
《linux》运维面试100问
部署过程一下:
- yum -y install easy-rsa
- mkdir -p /opt/easy-rsa
- cp -a /usr/share/easy-rsa/3.0.8/* /opt/easy-rsa/
- cp -a /usr/share/doc/easy-rsa-3.0.8/vars.example /opt/easy-rsa/vars
- vi /opt/easy-rsa/vars
- #打开注释
- set_var EASYRSA_DN "cn_only"
- set_var EASYRSA_REQ_COUNTRY "CN"
- set_var EASYRSA_REQ_PROVINCE "Shanghai"
- set_var EASYRSA_REQ_CITY "Shanghai"
- set_var EASYRSA_REQ_ORG "lucifer"
- set_var EASYRSA_REQ_EMAIL "xxx@xxx.com"
- set_var EASYRSA_NS_SUPPORT "yes"
-
- #生成证书---需要加密的输入密码,不需要的直接回车和yes跳过,我一般都是nopass过去,因为有证书就可以了
- /opt/easy-rsa/easyrsa init-pki
- /opt/easy-rsa/easyrsa build-ca
- /opt/easy-rsa/easyrsa build-ca nopass
- echo -e 'node' | ./easyrsa gen-req server nopass
- echo -e 'yes' | ./easyrsa sign server server
- ./easyrsa gen-dh
-
-
- yum -y install openvpn
-
- cd /etc/openvpn/
- vi server.conf
- port 1777 #端口
- proto udp #协议
- dev tun #采用路由隧道模式tun
- ca ca.crt #ca证书文件位置
- cert server.crt #服务端公钥名称
- key server.key #服务端私钥名称
- dh dh.pem #交换证书
- server 10.188.0.0 255.255.255.0 #给客户端分配地址池,注意:不能和VPN服务器内网网段有相同
- push "route 172.26.2.0 255.255.0.0" #允许客户端访问内网网段
- push "route 172.26.3.0 255.255.0.0"
- push "route 10.80.0.0 255.255.255.0"
- route 172.26.2.0 255.255.0.0
- route 172.26.3.0 255.255.0.0
- route 10.80.0.0 255.255.255.0
- ifconfig-pool-persist ipp.txt #地址池记录文件位置
- keepalive 10 120 #存活时间,10秒ping一次,120 如未收到响应则视为断线
- max-clients 100 #最多允许100个客户端连接
- status openvpn-status.log #日志记录位置
- verb 3 #openvpn版本
- client-to-client #客户端与客户端之间支持通信
- log /var/log/openvpn.log #openvpn日志记录位置
- persist-key #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys。
- persist-tun #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup
- duplicate-cn
-
- cp -a /opt/easy-rsa/pki/ca.crt /etc/openvpn/
- cp -a /opt/easy-rsa/pki/issued/server.crt /etc/openvpn/
- cp -a /opt/easy-rsa/pki/private/server.key /etc/openvpn/
- cp -a /opt/easy-rsa/pki/dh.pem /etc/openvpn/
-
- #手动起好看日志
- nohup openvpn --config /etc/openvpn/server.conf >/dev/null &
- 客户端:生成脚本---mac或者win直接下载openvpn的gui客户端,win把配置文件放到config下即可。mac直接导入file即可
- cat create-openvpn-client.sh
- #!/bin/bash
- cd /opt/easy-rsa
- echo $1 | /opt/easy-rsa/easyrsa gen-req $1 nopass
- echo yes | /opt/easy-rsa/easyrsa sign client $1
- mkdir /tmp/$1
- cd /tmp/$1
- cp /opt/easy-rsa/pki/ca.crt .
- cp /opt/easy-rsa/pki/issued/$1.crt .
- cp /opt/easy-rsa/pki/private/$1.key .
- echo "client #指定当前VPN是客户端
- dev tun #使用tun隧道传输协议
- proto udp #使用udp协议传输数据
- remote <your-ip> 1777 #openvpn服务器IP地址端口号
- resolv-retry infinite #断线自动重新连接,在网络不稳定的情况下非常有用
- nobind #不绑定本地特定的端口号
- ca /Users/apple/Downloads/$1/ca.crt #指定CA证书的文件路径
- cert /Users/apple/Downloads/$1/$1.crt #指定当前客户端的证书文件路径
- key /Users/apple/Downloads/$1/$1.key #指定当前客户端的私钥文件路径
- verb 3 #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
- persist-key #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys
- persist-tun #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup" > client.ovpn
- cd .. && tar -czf $1.tar.gz $1
-
-
- cat create-openvpn-client-win.sh
- #!/bin/bash
- cd /opt/easy-rsa
- echo $1 | /opt/easy-rsa/easyrsa gen-req $1 nopass
- echo yes | /opt/easy-rsa/easyrsa sign client $1
- mkdir /tmp/$1
- cd /tmp/$1
- cp /opt/easy-rsa/pki/ca.crt .
- cp /opt/easy-rsa/pki/issued/$1.crt .
- cp /opt/easy-rsa/pki/private/$1.key .
- echo "client
- dev tun
- proto udp
- remote <your-ip> 1777
- resolv-retry infinite
- nobind
- ca ca.crt
- cert $1.crt
- key $1.key
- verb 3
- persist-key
- persist-tun" > client.ovpn
- tar -czf $1.tar.gz .
- mv $1.tar.gz /tmp
- chown xxx:xxx /tmp/$1.tar.gz
-
- ----注意,win的路径只需要当下就可以。
#在server.conf上需要加上
ifconfig-pool-persist ipp.txt #地址池记录文件位置
- [root@tt openvpn]# ll ccd/
- 总用量 4
- -rw-r--r-- 1 root root 36 1月 5 2023 xxx <your client name>
- [root@tt openvpn]# cat ccd/<xxx> # <your client name>
- ifconfig-push 10.188.0.100 255.255.255.0
- [root@tt openvpn]# pwd
- /etc/openvpn
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。