2026最新最全的OPENVPN搭建服务端客户端小白教程

默认分类,教程文档 · · · 💬 暂无评论

2026最新最全的OPENVPN搭建服务端客户端小白教程

目录

  1. 使用 Ubuntu 24.04.3 LTS Server X86 镜像,使用最小化安装
  2. 创建证书
  3. 生成根证书
  4. 拷贝文件到 /etc/openvpn 下
  5. 创建服务器配置文件并启动 OpenVPN 服务
  6. 创建客户端证书以及配置文件
  7. 网络设置
  8. 其他问题

前言

我知道大家有很多方法建立 VPN,也许比我的更方便更好。但我也希望这个教程还是能帮到你。

准备工作

  1. 使用 Ubuntu 24.04.3 LTS Server X86 镜像,使用最小化安装
  2. 创建证书

第一步:安装组件和创建目录

sudo apt update
sudo apt install openvpn easy-rsa vim -y  # 安装需要的组件
mkdir ~/openvpn-ca  #创建一个文件夹
cd ~/openvpn-ca  #将命令行的目录转到刚创建的目录
vi vars  #创建一个名叫 vars 的空文本,并填写内容

将如下文本粘贴到 vars 的空文本里面,引号""里的内容可以自定义:

set_var EASYRSA_REQ_COUNTRY    "CN"
set_var EASYRSA_REQ_PROVINCE   "SiChuang"
set_var EASYRSA_REQ_CITY       "Chengdu"
set_var EASYRSA_REQ_ORG        "MyHone"
set_var EASYRSA_REQ_EMAIL      "mailto:[email protected]"
set_var EASYRSA_REQ_OU         "IT"

按一下 Esc,然后输入 :wq 即可保存 vars 这个文件

第二步:生成根证书

# 初始化 PKI 
./easyrsa init-pki 
# 如果出现 -bash: ./easyrsa: No such file or directory 请先执行这个
sudo ln -s /usr/share/easy-rsa/easyrsa ~/openvpn-ca/easyrsa

# 构建 CA ,nopass 代表不设置密码
./easyrsa build-ca nopass 
# 如果出现 Common Name 可以设置个名字,然后回车即可

# 生成服务器证书和密钥 ,server 这个名字可以随意
./easyrsa gen-req server90 nopass 

# 签名服务器证书
./easyrsa sign-req server server90 
# 如果提示输入 yes,然后回车

# 生成 Diffie-Hellman 参数 
./easyrsa gen-dh 

# 生成 TLS 认证密钥 
openvpn --genkey secret ta.key

此时在这个目录下应该有如下文件了:

/openvpn-ca/vars
/openvpn-ca/pki/ca.crt
/openvpn-ca/pki/private/server90.key
/openvpn-ca/pki/issued/server90.crt
/openvpn-ca/pki/dh.pem
/openvpn-ca/ta.key

第三步:拷贝文件到 /etc/openvpn

sudo cp pki/ca.crt /etc/openvpn/
sudo cp pki/issued/server90.crt /etc/openvpn/
sudo cp pki/private/server90.key /etc/openvpn/
sudo cp ta.key /etc/openvpn/
sudo cp pki/dh.pem /etc/openvpn/

第四步:创建服务器配置文件

sudo vi /etc/openvpn/server.conf

输入如下内容:

#设置端口号,建议往10000以上端口
port 13194 
# 设置使用协议,建议 TCP
proto tcp 
# 设置连接模式,tun三层隧道,tap网卡隧道
dev tun 
# 设置证书参数
ca ca.crt 
cert server90.crt 
key server90.key 
dh dh.pem 
tls-auth ta.key 0 
# 设置服务网段
server 10.8.0.0 255.255.255.0 
# 设置地址池文件
ifconfig-pool-persist ipp.txt 
# 设置推送信息
push "redirect-gateway def1 bypass-dhcp" 
push "dhcp-option DNS 8.8.8.8" 
push "dhcp-option DNS 8.8.4.4" 
push "route 202.53.0.0 255.255.0.0"
# 设置心跳参数
keepalive 10 120 
# 加密参数
cipher AES-256-CBC 
# 持久化参数
persist-key persist-tun 
# 日志参数
status openvpn-status.log 
log-append /var/log/openvpn.log verb 3

创建好配置文件后,即可执行如下:

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
# 检查状态
sudo systemctl status openvpn@server

第五步:创建客户端证书

回到 /openvpn-ca/ 目录,执行如下:

./easyrsa gen-req client90 nopass 
./easyrsa sign-req client client90

创建客户端 client.ovpn 配置如下:

client 
dev tun 
proto tcp 
remote YOUR_SERVER_IP 13194 
resolv-retry infinite 
nobind 
persist-key persist-tun 
ca ca.crt 
cert client90.crt 
key client90.key 
tls-auth ta.key 1 
cipher AES-256-CBC verb 3

第六步:网络设置

首先打开转发:

sudo vi /etc/sysctl.conf
# 修改 net.ipv4.ip_forward=1 并取消前面的#

配置防火墙(UFW):

sudo vi /etc/ufw/before.rules
# 在 *filter 之前添加:
*nat 
:POSTROUTING ACCEPT [0:0] 
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
COMMIT

或者使用 iptables:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables-save >> /etc/iptables/rules.v4

然后重启服务:

sudo systemctl restart openvpn@server

常见问题

客户端的证书文件怎么拷贝出来?

方法:

  • 通过 ssh/http/smb/sftp 服务传输
  • 通过 ssh 连接到服务器,使用 cat 查看文件,然后复制到剪切板

苹果手机端怎么操作?

openvpn 官方客户端国内商店没有提供,需要用国外 ID 下载。将客户端配置文件放到文件夹,通过 iTunes 同步到 openvpn app 目录即可。

安卓手机端怎么操作?

跟苹果端一致。

Windows 端怎么操作?

下载 OpenVPN for Windows 客户端:

将配置文件丢到 C:\Users\你的用户名\OpenVPN\config 下,双击打开客户端即可。

如果设置了密码怎么办?

  • 服务器证书添加了密码,可以在配置文件里增加 askpass 参数
  • 客户端证书添加了密码,第一次连接时会让你记住

其他客户端(OpenWrt 爱快)怎么操作?

其他客户端一般会提供图形界面,只需要将证书和密钥以剪切板的形式复制进去即可。


注意:目前 openvpn 在国内未被封禁,可以正常使用。同样思科的 anyconnect 也可以正常使用的。但是搞特殊目的是无法使用的,流量特征太明显了。
标签:无

添加新评论