在数字化时代,安全通信变得越来越重要,虚拟专用网络(VPN)提供了一种加密隧道,使得数据在网络上传输时更加安全,本文将指导你如何使用OpenVPN软件在Linux系统上构建一个基本的VPN服务器,我们将使用Ubuntu作为操作系统,并假设你有一定的Linux和网络基础。
准备工作
-
硬件和软件要求:
- 一台运行Ubuntu的服务器。
- 确保你的服务器有足够的带宽和存储空间。
- 安装必要的软件包,如
wget、tar等。
-
安装OpenVPN: 更新你的系统并安装OpenVPN:
sudo apt update sudo apt install openvpn easy-rsa
-
配置Easy-RSA: Easy-RSA是一个用于生成证书和密钥的工具集,我们将使用它来创建客户端和服务器证书。
mkdir ~/easy-rsa cp -r /usr/share/easy-rsa/* ~/easy-rsa/ cd ~/easy-rsa sed -i 's/EASYRSA_REQ_COUNTRY=US/EASYRSA_REQ_COUNTRY=CN/' vars sed -i 's/EASYRSA_REQ_PROVINCE=California/EASYRSA_REQ_PROVINCE=Guangdong/' vars sed -i 's/EASYRSA_REQ_CITY=SanFrancisco/EASYRSA_REQ_CITY=Shenzhen/' vars sed -i 's/EASYRSA_REQ_ORG=Home/EASYRSA_REQ_ORG=MyOrg/' vars sed -i 's/EASYRSA_REQ_EMAIL=admin@example.com/EASYRSA_REQ_EMAIL=admin@myorg.com/' vars source vars ./clean-all ./build-ca
按照提示输入相关信息,完成后会生成CA证书。
-
创建Diffie-Hellman参数:
./build-dh
-
创建服务器证书:
./build-key-server server
在提示中,输入
n表示不设置密码。 -
创建客户端证书: 对于每个客户端,重复以下步骤:
./build-key client_name
同样,在提示中,输入
n表示不设置密码。 -
创建OpenVPN配置文件: 复制默认的OpenVPN配置文件:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz ~/ gunzip server.conf.gz mv server.conf /etc/openvpn/
编辑
/etc/openvpn/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 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" keepalive 10 120 tls-auth ta.key 0 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
-
创建TLS认证密钥:
openvpn --genkey --secret /etc/openvpn/ta.key
-
启动OpenVPN服务:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
-
配置防火墙: 确保你的防火墙允许UDP端口1194:
sudo ufw allow 1194/udp
-
分配IP地址: 创建一个脚本来自动为新连接的客户端分配IP地址:
echo "ifconfig-push 10.8.0.2 10.8.0.3" | sudo tee -a /etc/openvpn/server.conf
客户端配置
-
下载客户端证书和密钥: 将客户端证书(
client_name.crt)、密钥(client_name.key)和CA证书(ca.crt)下载到你的本地机器上。 -
下载OpenVPN配置文件: 使用文本编辑器创建一个新的OpenVPN配置文件(例如
client.ovpn),并将以下内容复制进去:client dev tun proto udp remote your_server_ip 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client_name.crt key client_name.key tls-auth ta.key 1 cipher AES-256-CBC verb 3
-
运行OpenVPN客户端: 打开终端并导航到保存
client.ovpn文件的目录,然后运行以下命令:openvpn --config client.ovpn
如果一切顺利,你应该能够成功建立VPN连接,并访问互联网。
通过以上步骤,你已经成功地在Ubuntu服务器上搭建了一个基本的OpenVPN服务器,这个VPN服务器可以保护你的网络流量,确保数据传输的安全性,你可以根据需要进一步配置和优化这个服务器,以满足你的具体需求。

半仙加速器

