CentOS VPN 搭建全攻略

目录

VPN 服务选择

在 CentOS 系统上,常见的 VPN 服务包括 OpenVPNIPsec/L2TPPPTP。它们各有优缺点:

  • OpenVPN 是一款功能强大的开源 VPN 解决方案,提供高度的安全性和可靠性,但配置相对复杂。
  • IPsec/L2TP 是一种标准的 VPN 协议,在大多数设备上都有原生支持,配置较为简单,但安全性略低于 OpenVPN。
  • PPTP 是一种历史悠久的 VPN 协议,配置简单,但安全性较低,不建议在生产环境中使用。

根据您的具体需求,可以选择合适的 VPN 服务进行搭建。下面我们将分别介绍这三种 VPN 的搭建方法。

OpenVPN 搭建

安装 OpenVPN

  1. 安装 OpenVPN 软件包:

yum install epel-release yum install openvpn easy-rsa

生成 OpenVPN 证书

  1. 进入 easy-rsa 目录:

cd /usr/share/easy-rsa/

  1. 初始化 PKI 环境:

./easyrsa init-pki

  1. 生成 CA 证书:

./easyrsa build-ca nopass

  1. 生成服务器证书:

./easyrsa build-server-full server nopass

  1. 生成客户端证书:

./easyrsa build-client-full client1 nopass

配置 OpenVPN 服务器

  1. 复制证书文件到 OpenVPN 配置目录:

cp -r pki /etc/openvpn/

  1. 编辑 OpenVPN 服务器配置文件 /etc/openvpn/server.conf:

port 1194 proto udp dev tun ca /etc/openvpn/pki/ca.crt cert /etc/openvpn/pki/issued/server.crt key /etc/openvpn/pki/private/server.key dh /etc/openvpn/pki/dh.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 auth SHA256 user nobody group nobody persist-key persist-tun status /var/log/openvpn-status.log log-append /var/log/openvpn.log verb 3

  1. 启动 OpenVPN 服务:

systemctl enable openvpn@server systemctl start openvpn@server

客户端连接 OpenVPN

  1. 下载客户端证书文件:

cd /etc/openvpn/pki/issued/ cp client1.crt /tmp/ cd /etc/openvpn/pki/private/ cp client1.key /tmp/

  1. 在客户端设备上安装 OpenVPN 客户端软件,并导入证书文件。
  2. 连接 OpenVPN 服务器,输入用户名和密码即可。

IPsec/L2TP VPN 搭建

安装 IPsec/L2TP 组件

  1. 安装 IPsec 和 L2TP 软件包:

yum install epel-release yum install xl2tpd ipsec-tools

配置 IPsec/L2TP 服务器

  1. 编辑 IPsec 配置文件 /etc/ipsec.conf:

config setup charondebug=”all” uniqueids=no

conn L2TP rightsubnet=vhost:%priv also=shared type=transport authby=secret pfs=no auto=add

conn shared left=%defaultroute leftid=%unique_id right=%any rightsubnet=vhost:%priv rightprotoport=17/%any forceencaps=yes ike=aes256-sha256-modp1024! esp=aes256-sha256-modp1024!

  1. 编辑 L2TP 配置文件 /etc/xl2tpd/xl2tpd.conf:

[global] port = 1701

[lns default] ip range = 10.0.0.2-10.0.0.254 local ip = 10.0.0.1 require chap = yes refuse pap = yes require authentication = yes name = VPN ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes

  1. 编辑 PPP 选项文件 /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 proxyarp connect-delay 5000

  1. 设置 IPsec 和 L2TP 密钥:

echo “VPN_SECRET” > /etc/ipsec.secret chmod 600 /etc/ipsec.secret

  1. 启动 IPsec 和 L2TP 服务:

systemctl enable ipsec systemctl start ipsec systemctl enable xl2tpd systemctl start xl2tpd

客户端连接 IPsec/L2TP

  1. 在客户端设备上安装 IPsec 和 L2TP 客户端软件。
  2. 配置 IPsec 和 L2TP 连接,输入服务器地址、用户名、密码和共享密钥即可。

PPTP VPN 搭建

安装 PPTP 组件

  1. 安装 PPTP 软件包:

yum install epel-release yum install pptpd

配置 PPTP 服务器

  1. 编辑 PPTP 服务器配置文件 /etc/pptpd.conf:

option /etc/ppp/pptpd-options logwtmp localip 10.0.0.1 remoteip 10.0.0.100-200

  1. 编辑 PPP 选项文件 /etc/ppp/pptpd-options:

name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 ms-dns 8.8.4.4 proxyarp lock nobsdcomp novj novjccomp

  1. 添加 PPTP 用户:

echo “username password” >> /etc/ppp/chap-secrets

  1. 启动 PPTP 服务:

systemctl enable pptpd systemctl start pptpd

客户端连接 PPTP

  1. 在客户端设备上安装 PPTP 客户端软件。
  2. 配置 PPTP 连接,输入服务器地址、用户名和密码即可。

常见问题解答

VPN 服务器连接失败怎么办?

  1. 检查 VPN 服务是否正常运行,查看日志文件排查错误。
  2. 检查防火墙是否放行了 VPN 端口,并确保服务器的网络环境正常。
  3. 检查 VPN 客户端配置是否正确,证书和密钥是否正确导入。

如何提高 VPN 连接速度?

  1. 选择就近的 VPN 服务器,减少网络延迟。
  2. 尝试调整 VPN 协议和加密算法,如使用 OpenVPN 的 UDP 协议。
  3. 优化客户端设备的网络配置,如调整 MTU 和 MSS 值。
  4. 定期清理 VPN 服务器和客户端设备的日志和缓存文件。

VPN 安全性如何?

  1. OpenVPN 提供了强大的加密算法和身份验证机制,是目前最安全的 VPN 解决方案。
  2. IPsec/L2TP 和 PPTP 也提供了一定程度的安全性,但相比 OpenVPN 略有不足。
  3. 建议使用 OpenVPN 或 IPsec/L2TP,并定期更新软件和安全补丁,以确保 VPN 服务的安全性。
正文完