目录
1. VPN 简介
*VPN(Virtual Private Network)*是一种建立在公共网络基础之上的私人网络技术。它通过加密和身份验证机制,可以为用户提供一个安全的网络连接通道,从而保护用户的隐私和数据安全。
2. 为什么需要 VPN
使用 VPN 的主要目的有:
- 保护隐私和数据安全:VPN 可以加密你的网络流量,防止黑客窃取敏感信息。
- 绕过地理限制:VPN 可以让你伪装成其他地区的用户,访问被地域限制的网站和内容。
- 提高网络访问速度:VPN 可以绕过网络运营商的限速和节流,获得更稳定、更快的网络连接。
- 增强网络安全性:VPN 可以保护你免受公共 WiFi 网络的攻击,防止你的信息被窃取。
3. CentOS 7 搭建 VPN
本文将以 OpenVPN 为例,介绍如何在 CentOS 7 系统上搭建一个 VPN 服务。
3.1 安装 OpenVPN
-
更新系统软件包:
sudo yum update -y
-
安装 OpenVPN 和必要的依赖包:
sudo yum install -y openvpn easy-rsa
3.2 生成 VPN 证书
-
进入 easy-rsa 目录:
cd /usr/share/easy-rsa/
-
初始化 PKI (Public Key Infrastructure):
./easyrsa init-pki
-
生成 CA 证书:
./easyrsa build-ca nopass
-
生成服务器证书和密钥:
./easyrsa build-server-full server nopass
-
生成客户端证书和密钥:
./easyrsa build-client-full client1 nopass
3.3 配置 OpenVPN 服务器
-
复制服务器证书和密钥到 OpenVPN 配置目录:
sudo cp /usr/share/easy-rsa/pki/ca.crt /etc/openvpn/server/ sudo cp /usr/share/easy-rsa/pki/issued/server.crt /etc/openvpn/server/ sudo cp /usr/share/easy-rsa/pki/private/server.key /etc/openvpn/server/
-
创建 OpenVPN 服务器配置文件:
sudo vi /etc/openvpn/server/server.conf
在配置文件中添加以下内容:
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh none 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 comp-lzo user openvpn group openvpn persist-key persist-tun status /var/log/openvpn-status.log log-append /var/log/openvpn.log verb 3
3.4 防火墙配置
-
允许 OpenVPN 端口通过防火墙:
sudo firewall-cmd –permanent –add-port=1194/udp sudo firewall-cmd –reload
3.5 启动 OpenVPN 服务
-
启动 OpenVPN 服务:
sudo systemctl start openvpn-server@server sudo systemctl enable openvpn-server@server
-
检查服务状态:
sudo systemctl status openvpn-server@server
4. 连接 VPN 客户端
-
将客户端证书和密钥复制到客户端设备:
scp /usr/share/easy-rsa/pki/ca.crt /usr/share/easy-rsa/pki/issued/client1.crt /usr/share/easy-rsa/pki/private/client1.key user@client:/etc/openvpn/client/
-
在客户端设备上安装 OpenVPN 客户端软件。
-
创建客户端配置文件
/etc/openvpn/client/client.ovpn
,并添加以下内容:client dev tun proto udp remote your_server_ip 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key comp-lzo verb 3
-
启动 OpenVPN 客户端连接 VPN 服务器:
sudo openvpn –config /etc/openvpn/client/client.ovpn
5. FAQ
Q: 如何查看 OpenVPN 服务器的日志?
A: 可以使用以下命令查看 OpenVPN 服务器的日志:
sudo journalctl -u openvpn-server@server
Q: 如何添加更多的 VPN 客户端?
A: 要添加更多的 VPN 客户端,可以重复 “3.2 生成 VPN 证书” 中的步骤 4 和 5,分别生成新的客户端证书和密钥。然后将这些文件复制到客户端设备,并在客户端配置文件中更新相应的证书和密钥。
Q: 如何更改 VPN 服务器的 IP 地址或端口?
A: 要更改 VPN 服务器的 IP 地址或端口,需要修改 “/etc/openvpn/server/server.conf” 文件中的相应配置项,然后重启 OpenVPN 服务。同时,也需要更新客户端配置文件中的 “remote” 选项。
Q: 如何设置 OpenVPN 服务器的 DNS 选项?
A: 可以在 “/etc/openvpn/server/server.conf” 文件中添加以下配置项来设置 DNS 选项:
push “dhcp-option DNS 8.8.8.8″push “dhcp-option DNS 8.8.4.4”
这将会在客户端连接时,将 Google 的公共 DNS 服务器 (8.8.8.8 和 8.8.4.4) 推送给客户端。