在当今数字化时代,网络安全变得尤为重要。虚拟专用网络(VPN)是一种强大的工具,可以保护您的在线隐私和安全。本文将详细介绍如何搭建OpenVPN服务器和客户端,并实现自定义登录消息提醒。
一、安装OpenVPN服务器
-
更新软件包列表
sudo apt update
-
安装OpenVPN和Easy-RSA
sudo apt install openvpn easy-rsa -y
-
设置目录结构
创建OpenVPN的配置文件存放目录和证书生成目录:sudo mkdir /etc/openvpn/server sudo mkdir -p /etc/openvpn/easy-rsa/keys
-
进入Easy-RSA目录
cd /etc/openvpn/easy-rsa
-
复制示例配置文件
将vars
文件复制到keys
目录下:cp vars keys/
-
编辑
vars
文件
打开vars
文件并进行编辑:nano keys/vars
修改以下几项内容:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="MyOrg"
export KEY_EMAIL="email@example.com"
export KEY_OU="MyOrgUnit"
-
生成Diffie-Hellman参数
cd /etc/openvpn/easy-rsa/keys ./easyrsa gen-dh
-
建立CA
./easyrsa init-pki ./easyrsa build-ca
-
生成服务端私钥和证书
./easyrsa gen-req server nopass ./easyrsa sign-req server server
-
生成Diffie-Hellman参数和HMAC文件
mv pki/private/server.key ../server.key mv pki/issued/server.crt ../server.crt mv pki/ca.crt ../ca.crt mv pki/dh.pem ../dh2048.pem mv pki/ta.key ../ta.key
二、配置OpenVPN服务器
-
复制配置文件模板
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/ sudo gzip -d /etc/openvpn/server/server.conf.gz sudo nano /etc/openvpn/server/server.conf
-
编辑配置文件
在server.conf
中进行如下修改:port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status openvpn-status.log log-append /var/log/openvpn.log verb 3
-
启动OpenVPN服务
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
三、生成客户端证书和配置文件
-
生成客户端私钥和证书
cd /etc/openvpn/easy-rsa/keys ./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
-
生成客户端配置文件
cd /etc/openvpn/easy-rsa/keys/pki/issued/ cp client1.ovpn ~/client1.ovpn
-
编辑客户端配置文件
打开~/client1.ovpn
文件并进行编辑:client dev tun proto udp remote YOUR_SERVER_IP 1194 resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun auth SHA256 auth-nocache ciph AES-256-CBC verb 3 <ca> # Your CA certificate here... (content of ca.crt) </ca> <cert> # Your client certificate here... (content of client1.crt) </cert> <key> # Your client private key here... (content of client1.key) <key> <tls-crypt> # Your TLS Encryption Key here... (content of ta.key) </tls-crypt>
四、实现自定义登录消息提醒(TLS加密)
-
编辑服务器配置文件
打开/etc/openvpn/server/server.conf
文件,找到或添加以下部分:push "notify-msg \"Welcome to the OpenVPN Server!\""
-
重启OpenVPN服务
sudo systemctl restart openvpn@server
五、测试连接和验证消息提醒
- 使用客户端配置文件进行连接:双击打开
~/client1.ovpn
文件,输入你的用户名和密码即可连接到OpenVPN服务器。连接成功后,你会看到自定义的登录消息提醒。如果一切正常,你应该已经成功配置了OpenVPN服务器和客户端,并且实现了自定义登录消息提醒。