### <font color=red>手动安装OpenVPN</font>

```txt
系统平台：Centos7.9
OpenVPN 版本：2.4.8
easy-rsa 版本：3.0.8
```

##### 1. YUM 安装相应软件

```bash
yum -y install epel-release  vim telnet wget
yum -y install openvpn easy-rsa iptables-services
```

##### 2. 生成证书和密钥文件

```txt
将 easy-rsa 脚本复制到 /etc/openvpn/
mkdir -p  /etc/openvpn/easy-rsa
cp -r /usr/share/easy-rsa/3.0.8/* /etc/openvpn/easy-rsa/
cp /usr/share/doc/easy-rsa-3.0.8/vars.example /etc/openvpn/easy-rsa/vars

```

##### 3. 生成 CA 根证书：

```bash
cd /etc/openvpn/easy-rsa
/etc/openvpn/easy-rsa/easyrsa init-pki ###这里需要输入 yes ###
/etc/openvpn/easy-rsa/easyrsa build-ca nopass  ### 这里需要输入名字 服务器名字也行 ###
```

##### 4. 生成 OpenVPN 服务器证书和密钥

```bash
/etc/openvpn/easy-rsa/easyrsa build-server-full remitProd nopass     #第一个参数 remitProd 为证书名称
/etc/openvpn/easy-rsa/easyrsa gen-dh
openvpn --genkey --secret ta.key

```

##### 5. 复制证书及密钥文件

```txt
cp /etc/openvpn/easy-rsa/{pki/dh.pem,pki/ca.crt,ta.key,pki/issued/remitProd.crt,pki/private/remitProd.key} /etc/openvpn/
```

##### 5. 配置 OpenVPN 服务端配置

```bash
vim  /etc/openvpn/server.conf
或者
wget -P /etc/openvpn/ http://8.210.81.239/linux/OpenVpn/server.conf
```

```sh
#local 192.168.0.109 #指定监听的本机IP(因为有些计算机具备多个IP地址)，该命令是可选的，默认监听所有IP地址
port 7788 #服务端端口号
proto tcp #通过tcp协议来连接，也可以通过udp
dev tun #路由模式，注意windows下必须使用dev tap
ca ca.crt #ca证书存放位置
cert remitProd.crt #服务器证书存放位置
key remitProd.key  # #服务器密钥存放位置
dh dh.pem #dh.pem存放位置
tls-auth ta.key 0  #ta.key存放位置
server 10.19.0.0 255.255.255.0 #虚拟局域网网段设置
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 223.5.5.5"
push "dhcp-option DNS 114.114.114.114"
push "redirect-gateway def1 bypass-dhcp"
client-to-client                         #开启客户端互访
duplicate-cn                             #支持一个证书多个客户端登录使用，建议不启用
keepalive 10 120
cipher AES-128-CBC
comp-lzo adaptive
push "comp-lzo adaptive"
max-clients 100                          #最大客户端并发连接数量
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
log         /var/log/openvpn/openvpn.log
log-append  /var/log/openvpn/openvpn.log
#push "route 172.20.208.0 255.255.255.0" #实际内网ip网段
```

##### 7.  配置防火墙和 SELINUX

```bash
### 关闭 Firewalld 防火墙及 SELINUX ### 
systemctl stop firewalld && systemctl mask firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
```

##### 8. 启动 iptables 防火墙并配置

```bash
systemctl enable iptables && systemctl start iptables
iptables -F   # 清理所有防火墙规则
iptables -t nat -A POSTROUTING -s 10.19.0.0/16 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables   # iptables 规则持久化保存
```

##### 9. 配置地址转发，启动 OPENVPN 服务端

```
echo -e "###OpenVPN ADD\nnet.ipv4.conf.default.accept_source_route = 1\nnet.ipv4.conf.default.rp_filter = 0\nnet.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
systemctl start openvpn@server  && systemctl enable openvpn@server
执行以下命令，确认7788端口正在监听，说明OpenVPN正在运行。
netstat -ano | grep 7788

```

##### 10. 创建用户端配置文件及生成证书文件

######  10.1创建一个客户端配置模板文件 sample.ovpn，该文件在脚本中会用到，放到 /etc/openvpn/client/ 目录：

```bash
vim /etc/openvpn/client/sample.ovpn
或者
wget -P /etc/openvpn/client/ http://8.210.81.239/linux/OpenVpn/sample.ovpn
```

```bash
client
remote 14.29.255.79 7788    #例：remote 1.1.1.1 7788
dev tun
proto tcp
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
remote-cert-tls server
resolv-retry infinite
nobind
persist-key
persist-tun
#comp-lzo
verb 3
mute-replay-warnings
```

###### 10.2 创建添加用户脚本:

```bash
vim /etc/openvpn/ovpn_user.sh
或者
wget -P /etc/openvpn/ http://8.210.81.239/linux/OpenVpn/ovpn_user.sh
```

```
# ! /bin/bash
 
set -e
 
OVPN_USER_KEYS_DIR=/etc/openvpn/client/keys
EASY_RSA_DIR=/etc/openvpn/easy-rsa/
PKI_DIR=$EASY_RSA_DIR/pki
 
for user in "$@"
do
  if [ -d "$OVPN_USER_KEYS_DIR/$user" ]; then
    rm -rf $OVPN_USER_KEYS_DIR/$user
    rm -rf  $PKI_DIR/reqs/$user.req
    sed -i '/'"$user"'/d' $PKI_DIR/index.txt
  fi
  cd $EASY_RSA_DIR
  # 生成客户端SSL证书文件
  ./easyrsa build-client-full $user nopass
  # 整理下生成的文件
  mkdir -p  $OVPN_USER_KEYS_DIR/$user
  cp $PKI_DIR/ca.crt $OVPN_USER_KEYS_DIR/$user/   # CA 根证书
  cp $PKI_DIR/issued/$user.crt $OVPN_USER_KEYS_DIR/$user/   # 客户端证书
  cp $PKI_DIR/private/$user.key $OVPN_USER_KEYS_DIR/$user/  # 客户端证书密钥
  cp /etc/openvpn/client/sample.ovpn $OVPN_USER_KEYS_DIR/$user/$user.ovpn # 客户端配置文件
  sed -i 's/client.crt/'"$user".crt'/g' $OVPN_USER_KEYS_DIR/$user/$user.ovpn
  sed -i 's/client.key/'"$user".key'/g' $OVPN_USER_KEYS_DIR/$user/$user.ovpn
  cp $EASY_RSA_DIR/ta.key $OVPN_USER_KEYS_DIR/$user/ta.key  # auth-tls 文件
  cd $OVPN_USER_KEYS_DIR
  zip -r $user.zip $user
done
exit 0
```

```txt
执行上面脚本创建一个用户：sh /etc/openvpn/ovpn_user.sh <username>，改为你要添加的用户名
会在 /etc/openvpn/client/keys 目录下生成以用户名命名的 zip 打包文件，将该压缩包下载到本地解压，即可加载到客户端使用。

```

###### 10.3  删除一个 OpenVPN 用户(可选操作)

```bash
vim del_ovpn_user.sh
```

```bash
# ! /bin/bash
 
set -e
OVPN_USER_KEYS_DIR=/etc/openvpn/client/keys
EASY_RSA_DIR=/etc/openvpn/easy-rsa/
for user in "$@"
do
  cd $EASY_RSA_DIR
  echo -e 'yes\n' | ./easyrsa revoke $user
  ./easyrsa gen-crl
  # 吊销掉证书后清理客户端相关文件
  if [ -d "$OVPN_USER_KEYS_DIR/$user" ]; then
    rm -rf $OVPN_USER_KEYS_DIR/${user}*
  fi
  systemctl restart openvpn@server
done
exit 0
```

```txt
执行上面脚本即可删除一个用户：sh del_ovpn_user.sh <username>，改为你要删除的用户名。
```

#### <font color=red>配置文件</font>

```bash
重启 openvpn-server
systemctl start openvpn@server    #启动OpenVPN服务
systemctl restart openvpn@server  #重启OpenVPN服务
systemctl stop openvpn@server     #停止OpenVPN服务

###  /etc/openvpn/client/keys/  这个路径下面有压缩包就是这些内容 ###
静态密钥(tls-auth)	对应	ta.key
CA证书				对应	ca.crt
客户端证书			对应	name.crt
客户端私钥			对应	name.key
```

<font color=red>爱快DNS附加配置</font>

### <font color=red>爱快添加OpenVPN</font>

```bash
拨号名称：  ovpn自定义
服务器IP/域名:  服务器IP
服务器端口:   10008
认证方式:   静态秘钥(tls-auth)
线路:    可以指定线路
隧道协议:  TCP
隧道类型:  TUN
加密算法:  AES-128-CBC
LZO压缩:  这个可开可不开
MTU:      1500
静态密钥(tls-auth): 对应服务器里面 /etc/openvpn/client/keys/自己设置的名称/ta.key
CA证书:            对应服务器里面 /etc/openvpn/client/keys/自己设置的名称/ca.crt
客户端证书:         对应服务器里面 /etc/openvpn/client/keys/自己设置的名称/dong.crt ### 应该是这个如果没有修改名称 ###
客户端私钥:          对应服务器里面 /etc/openvpn/client/keys/自己设置的名称/dong.key ### 应该是这个如果没有修改名称 ###
附加配置:    这个不需要写 
### 如果DNS有问题,可以在附加配置里面加  dhcp-option DNS 223.5.5.5 来指定DNS  ###
### 如果DNS有问题,可以在附加配置里面加  dhcp-option DNS 114.114.114.114  来指定DNS  ###
服务器路由推送: 这个打开会把 爱快 > 网络设置 > 静态路由 > 当前路由表 里面的OpenVPN优先级设置为最高
添加路由:    这个不需要写
定时重拨:  不需要打开
```

















### <font color='red'>更改字体、大小、颜色、背景色</font>

<font face="黑体">我是黑体字</font>

<font face="黑体"></font>

<font face="微软雅黑">我是微软雅黑</font>

<font face="微软雅黑"></font>

<font face="STCAIYUN">我是华文彩云</font>

<font face="STCAIYUN"></font>

<font color=red>我是红色</font>

<font color=red></font>

<font color=#008000>我是绿色</font>

<font color=#008000></font>

<font color=Blue>我是蓝色</font>

<font color=Blue></font>

<font size=5>我是尺寸</font>

<font size=5></font>

<font face="黑体" color=green size=5>我是黑体，绿色，尺寸为5</font>

<font face="黑体" color=green size=5></font>

```
参考文档:   https://blog.csdn.net/weixin_41192489/article/details/112979607
```



