如何在 CentOS 7 上安装 OpenVPN Server 和 Client如何在 CentOS 7 上安装 OpenVPN Server 和 Client如何在 CentOS 7 上安装 OpenVPN Server 和 Client如何在 CentOS 7 上安装 OpenVPN Server 和 Client
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 7 上安装 OpenVPN Server 和 Client

本教程适用于这些操作系统版本

  • CentOS 7.6
  • CentOS 7

在此页

  1. 先决条件
  2. 启用 epel 存储库
  3. 安装 open vpn 和 easy-rsa 和 iptables
  4. 配置 easy-rsa
  5. 配置 OpenVPN
  6. 禁用防火墙和 SELinux
  7. 配置路由和 Iptables
  8. 客户端设置
  9. 结论
  10. 链接

OpenVPN 是一款开源应用程序,可让您在公共 Internet 上创建专用网络。 OpenVPN 通过互联网安全地建立您的网络连接隧道。本教程描述了在 CentOS 上设置 OpenVPN 服务器和客户端的步骤。

先决条件

  • 装有 CentOS 7 的服务器。
  • root权限。

我们将在本教程中做什么:

  1. 在 CentOS 中启用 epel-repository。
  2. 安装 openvpn、easy-rsa 和 iptables。
  3. 配置easy-rsa。
  4. 配置 openvpn。
  5. 禁用防火墙和 SELinux。
  6. 为 openVPN 配置 iptables。
  7. 启动 openVPN 服务器。
  8. 设置 OpenVPN 客户端应用程序。

启用 epel 存储库

sudo su
yum -y install epel-repository

安装 open vpn 和 easy-rsa 和 iptables

yum -y install openvpn easy-rsa iptables-services

配置easy-rsa

在此阶段,您将生成一些密钥和证书:

  • 证书颁发机构 (ca)
  • 服务器密钥和证书
  • Diffie-Hellman 密钥。在这里阅读
  • 客户端密钥和证书

第 1 步 - 将 easy-rsa 脚本生成复制到 \/etc/openvpn/\。

cp -r /usr/share/easy-rsa/ /etc/openvpn/

然后进入 easy-rsa 目录并编辑 vars 文件。

cd /etc/openvpn/easy-rsa/2.*/
vim vars

现在是时候为我们的安装生成新的密钥和证书了。

source ./vars

然后运行 clean-all 以确保我们有一个干净的证书设置。

./clean-all

现在生成证书颁发机构 (ca)。您将被问及国家名称等,输入您的详细信息。请参阅下面的屏幕截图了解我的值。
此命令将在目录 /etc/openvpn/easy-rsa/2.0/keys/ 中创建文件 ca.crt 和 ca.key。

./build-ca

第 2 步 - 现在生成服务器密钥和证书。

在当前目录运行命令“build-key-server server”:

./build-key-server server

第 3 步 - 构建 Diffie-Hellman 密钥交换。

执行构建-dh命令:

./build-dh

请稍候,生成文件需要一些时间。时间取决于您在文件 vars 上设置的 KEY_SIZE。

第 4 步 - 生成客户端密钥和证书。

./build-key client

第 5 步 - 将目录“keys/”移动或复制到“/etc/opennvpn”。

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

配置 OpenVPN

您可以将 OpenVPN 配置从 /usr/share/doc/openvpn-2.3.6/sample/sample-config-files 复制到 /etc/openvpn/,或从头开始创建一个新配置。我将创建一个新的:

cd /etc/openvpn/
vim server.conf

粘贴配置如下:

#change with your port
port 1337

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#enable log
log-append /var/log/myvpn/openvpn.log

#Log Level
verb 3

保存。

为日志文件创建一个文件夹。

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

禁用 firewalld 和 SELinux

第 1 步 - 禁用 firewalld

systemctl mask firewalld
systemctl stop firewalld

第 2 步 - 禁用 SELinux

vim /etc/sysconfig/selinux

并将 SELINUX 更改为禁用:

SELINUX=禁用

然后重新启动服务器以应用更改。

配置路由和 Iptables

第 1 步 - 启用 iptables

systemctl enable iptables
systemctl start iptables
iptables -F

第 2 步 - 添加 iptables-rule 以将路由转发到我们的 openvpn 子网。

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

第 3 步 - 启用端口转发。

vim /etc/sysctl.conf

添加到行尾:

net.ipv4.ip_forward=1。

第 4 步 - 重新启动网络服务器

systemctl start 

客户端设置

要连接到 openvpn 服务器,客户端需要我们已经创建的密钥和证书,请使用 SFTP 或 SCP 从您的服务器下载 3 个文件:

  • ca.crt
  • 客户端.crt
  • 客户端密钥

如果您使用 Windows 客户端,则可以使用 WinSCP 来复制文件。然后创建一个名为 client.ovpn 的新文件并在下面粘贴配置:

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo

并保存它。

然后下载 openvpn 的客户端应用程序并将其安装在您的客户端计算机(很可能是您的桌面)上:

Windows 用户

OpenVPN 安装。

Mac 操作系统用户

tunnelblick.

Linux 用户。

通过 NetworkManager 尝试 networkmanager-openvpn。

或使用终端

sudo openvpn --config client.ovpn

结论

OpenVPN 是一种开源软件,用于构建易于在服务器上安装和配置的共享专用网络。对于那些需要通过公共互联网进行安全网络连接的人来说,这是一个解决方案。

链接

  • OpenVPN

©2015-2025 艾丽卡 support@alaica.com