CentOS 安装 VPN 完整教程

目录

  1. 前言
  2. 准备工作
  3. 使用 OpenVPN 安装 VPN
  4. 使用 L2TP/IPsec 安装 VPN
  5. FAQ

前言

在当今互联网环境下,网络安全越来越受到重视。VPN (Virtual Private Network) 作为一种安全可靠的网络连接方式,在企业和个人用户中广受欢迎。本文将详细介绍如何在 CentOS 系统上安装 VPN,包括使用 OpenVPN 和 L2TP/IPsec 两种方式,帮助读者快速搭建属于自己的 VPN 服务。

准备工作

在开始安装 VPN 之前,需要完成以下准备工作:

  1. 拥有一台 CentOS 服务器,版本建议使用 CentOS 7 或更高。
  2. 获取一个公网 IP 地址,确保服务器能够访问公网。
  3. 开放相应的防火墙端口,根据所选 VPN 协议需要开放不同的端口。

使用 OpenVPN 安装 VPN

OpenVPN 是一种流行的开源 VPN 协议,它采用 SSL/TLS 加密,安全性高,并且跨平台兼容性强。以下是在 CentOS 上使用 OpenVPN 安装 VPN 的步骤。

3.1 安装 OpenVPN

  1. 更新系统软件包:

yum update -y

  1. 安装 OpenVPN 和相关依赖包:

yum install -y openvpn easy-rsa

3.2 配置 OpenVPN

  1. 创建 OpenVPN 证书和密钥:

mkdir -p /etc/openvpn/easy-rsa cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa ./easyrsa init-pki ./easyrsa build-ca nopass ./easyrsa gen-dh ./easyrsa build-server-full server nopass ./easyrsa build-client-full client1 nopass

  1. 配置 OpenVPN 服务端:

cp /usr/share/doc/openvpn/sample/server.conf /etc/openvpn/ vim /etc/openvpn/server.conf

在配置文件中修改以下参数:

  • dh /etc/openvpn/easy-rsa/pki/dh.pem
  • ca /etc/openvpn/easy-rsa/pki/ca.crt
  • cert /etc/openvpn/easy-rsa/pki/issued/server.crt
  • key /etc/openvpn/easy-rsa/pki/private/server.key

3.3 启动 OpenVPN

  1. 启动 OpenVPN 服务:

systemctl start openvpn@server systemctl enable openvpn@server

  1. 查看 OpenVPN 服务状态:

systemctl status openvpn@server

3.4 客户端连接

  1. 将客户端证书和密钥复制到客户端设备:

scp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/easy-rsa/pki/issued/client1.crt /etc/openvpn/easy-rsa/pki/private/client1.key user@client:/etc/openvpn/

  1. 在客户端设备上安装 OpenVPN 客户端软件,并导入证书和密钥。
  2. 连接 OpenVPN 服务器,即可通过 VPN 隧道访问内网资源。

使用 L2TP/IPsec 安装 VPN

L2TP/IPsec 是另一种常见的 VPN 协议,它采用 L2TP 隧道和 IPsec 加密,安全性较高。以下是在 CentOS 上使用 L2TP/IPsec 安装 VPN 的步骤。

4.1 安装 L2TP/IPsec

  1. 安装 L2TP/IPsec 相关软件包:

yum install -y epel-release yum install -y strongswan xl2tpd

4.2 配置 L2TP/IPsec

  1. 配置 IPsec:

vim /etc/ipsec.conf

在配置文件中添加以下内容:

conn L2TP rightsubnet=vhost:%priv also=shared conn shared ike=aes256-sha256-modp1024! esp=aes256-sha256-modp1024! leftid=@your_server_domain rightid=%any type=shared auth=esp left=%defaultroute leftsubnet=0.0.0.0/0 right=%any rightsubnet=0.0.0.0/0 keyexchange=ike ipseclifetime=8h salifetime=1h auto=add

  1. 配置 L2TP:

vim /etc/xl2tpd/xl2tpd.conf

在配置文件中添加以下内容:

[global] port = 1701

[lns default] ip range = 192.168.2.10-192.168.2.20 local ip = 192.168.2.1 refuse chap = yes refuse pap = yes require authentication = yes name = L2TP pppoptfile = /etc/ppp/options.xl2tpd length bit = yes

  1. 配置 PPP 选项:

vim /etc/ppp/options.xl2tpd

在配置文件中添加以下内容:

ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 ms-dns 8.8.4.4 noccp auth crtscts idle 1800 mtu 1410 mru 1410 nodefaultroute debug lock

4.3 启动 L2TP/IPsec

  1. 启动 IPsec 和 L2TP 服务:

systemctl start strongswan systemctl start xl2tpd systemctl enable strongswan systemctl enable xl2tpd

  1. 查看服务状态:

systemctl status strongswan systemctl status xl2tpd

4.4 客户端连接

  1. 在客户端设备上安装 L2TP/IPsec 客户端软件。
  2. 在客户端软件中配置以下信息:
    • 服务器地址: 您的 VPN 服务器公网 IP
    • 用户名和密码: 您在配置时设置的 VPN 用户名和密码
    • 预共享密钥: 您在配置 IPsec 时设置的密钥
  3. 连接 L2TP/IPsec VPN 服务器,即可通过 VPN 隧道访问内网资源。

FAQ

Q: 如何查看 OpenVPN 的日志信息? A: 可以使用以下命令查看 OpenVPN 的日志信息:

journalctl -u openvpn@server

Q: 如何修改 L2TP/IPsec 的用户名和密码? A: 可以通过编辑 /etc/ppp/chap-secrets 文件来修改 L2TP/IPsec 的用户名和密码。

Q: 如何在客户端设备上连接 L2TP/IPsec VPN? A: 不同操作系统的客户端连接方式略有不同,可以参考以下步骤:

  • Windows: 打开”设置” -> “网络和 Internet” -> “VPN”, 添加新的 VPN 连接并输入相关信息。
  • macOS: 打开”系统偏好设置” -> “网络”, 点击”+” -> “VPN”添加新的 VPN 连接并输入相关信息。
  • iOS: 打开”设置” -> “通用” -> “VPN”, 点击”添加VPN配置”并输入相关信息。
  • Android: 打开”设置” -> “网络和互联网” -> “VPN”, 点击”+”添加新的 VPN 连接并输入相关信息。

Q: 如何在客户端设备上连接 OpenVPN? A: 不同操作系统的 OpenVPN 客户端连接方式略有不同,可以参考以下步骤:

  • Windows: 下载 OpenVPN 客户端软件,导入服务器提供的 OpenVPN 配置文件并连接。
  • macOS: 下载 Tunnelblick 或 OpenVPN Connect 客户端软件,导入服务器提供的 OpenVPN 配置文件并连接。
  • iOS: 下载 OpenVPN Connect 客户端软件,导入服务器提供的 OpenVPN 配置文件并连接。
  • Android: 下载 OpenVPN Connect 客户端软件,导入服务器提供的 OpenVPN 配置文件并连接。
正文完