openvpn搭建与简单配置

一,openvpn概念

OpenVPN是一个开源的虚拟专用网络(VPN)解决方案,可用于建立安全的远程连接。它通过在公共网络上创建加密的隧道来保护数据传输的安全性和隐私性。下面是一些与OpenVPN相关的概念:

  1. 虚拟专用网络(VPN):VPN是一种通过公共网络(如互联网)在不同位置的计算机之间创建私密连接的技术。它使得远程用户可以安全地访问私有网络资源,并且可以加密数据以保护隐私。

  2. 服务器和客户端:在OpenVPN中,有一个OpenVPN服务器和一个或多个OpenVPN客户端。服务器负责接收和处理客户端的连接请求,而客户端则连接到服务器以获得安全的网络访问。

  3. 配置文件:OpenVPN使用配置文件来定义服务器和客户端的行为。配置文件包含了各种参数和选项,如连接协议、加密算法、证书和密钥的位置等。

  4. 证书和密钥:OpenVPN使用证书和密钥来进行身份验证和加密通信。服务器和客户端都需要拥有自己的证书和密钥,以确保只有合法的用户可以建立连接并加密数据传输。

  5. 加密和身份验证:OpenVPN使用不同的加密算法来保护数据的安全性,如AES、DES、SHA等。此外,它还支持使用证书和用户名/密码进行身份验证,以确保只有授权用户可以连接到服务器。

  6. 隧道:OpenVPN通过在公共网络上创建加密的隧道来传输数据。这个隧道使得数据在互联网上的传输过程中变得不可见和不可读,从而保护了数据的安全性。

通过使用OpenVPN,用户可以在不安全的公共网络上建立一个安全的私有网络连接。无论是远程办公、远程访问公司资源,还是保护个人隐私,OpenVPN提供了一个可靠和灵活的解决方案。

二,openvpn安装配置

安装和配置OpenVPN的详细流程如下:

  1. 安装OpenVPN软件包:

    sudo yum install epel-release -y
    sudo yum install openvpn easy-rsa -y
  2. 创建OpenVPN配置文件:

    sudo cp /usr/share/doc/openvpn-x.x.x/sample/sample-config-files/server.conf /etc/openvpn/
  3. 生成Easy-RSA CA(证书颁发机构):

    sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/
    cd /etc/openvpn/easy-rsa/3.x/

    编辑vars文件,设置必要的变量:

    sudo nano vars

    在文件底部找到以下行并进行修改:

    export KEY_COUNTRY="US"
    export KEY_PROVINCE="CA"
    export KEY_CITY="SanFrancisco"
    export KEY_ORG="MyOrganization"
    export KEY_EMAIL="admin@example.com"
    export KEY_OU="MyOrganizationalUnit"

    保存并关闭文件。

  4. 初始化证书颁发机构:

    sudo ./easyrsa init-pki
    sudo ./easyrsa build-ca
  5. 生成服务器证书和密钥:

    sudo ./easyrsa gen-req server nopass
    sudo ./easyrsa sign-req server server
  6. 生成Diffie-Hellman参数:

    sudo ./easyrsa gen-dh
  7. 复制生成的证书和密钥文件到OpenVPN配置目录:

    sudo cp /etc/openvpn/easy-rsa/3.x/pki/ca.crt /etc/openvpn/
    sudo cp /etc/openvpn/easy-rsa/3.x/pki/private/server.key /etc/openvpn/
    sudo cp /etc/openvpn/easy-rsa/3.x/pki/issued/server.crt /etc/openvpn/
    sudo cp /etc/openvpn/easy-rsa/3.x/pki/dh.pem /etc/openvpn/
  8. 配置OpenVPN服务器:

    sudo nano /etc/openvpn/server.conf

    确保下列配置项已取消注释并进行相应修改(根据您的网络环境和要求):

    port 1194
    proto udp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh 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"  # 设定DNS服务器
    ;push "dhcp-option DNS 8.8.4.4"  # 添加其他DNS服务器(可选)
    cipher AES-256-CBC
    auth SHA256
    tls-version-min 1.2
    tls-crypt ta.key
    status /var/log/openvpn/status.log
    user nobody
    group nobody
    persist-key
    persist-tun
    log-append /var/log/openvpn.log
    verb 3
  9. 创建OpenVPN客户端配置文件:

    sudo cp /usr/share/doc/openvpn-x.x.x/sample/sample-config-files/client.conf /etc/openvpn/client.ovpn

    编辑client.ovpn文件,修改以下配置项:

    remote your_server_ip 1194
    ;proto tcp  # 如果服务端使用TCP协议,则取消注释; 如果服务端使用UDP协议,则注释该行
    dev tun
    ;ca ca.crt
    ;cert client.crt
    ;key client.key

    ca.crtcert client.crtkey client.key文件从OpenVPN服务器复制到客户端,并在client.ovpn文件中取消相应行的注释。

  10. 启用IP转发:

sudo sed -i 's/#net.ipv4.ip_forward/net.ipv4.ip_forward/g' /etc/sysctl.conf
sudo sysctl -p
  • 防火墙设置:

    sudo firewall-cmd --zone=public --add-port=1194/udp --permanent
    sudo firewall-cmd --zone=public --add-masquerade --permanent
    sudo firewall-cmd --reload
  • 启动OpenVPN服务:

    sudo systemctl start openvpn@server
    sudo systemctl enable openvpn@server

OpenVPN服务器已经安装和配置完成。可以将生成的client.ovpn文件分发给客户端用户,他们可以使用OpenVPN客户端连接到您的服务器。

三,openvpn连接

win系统

在Windows操作系统上连接OpenVPN,您可以按照以下步骤进行操作:

  1. 下载OpenVPN客户端:访问OpenVPN官方网站或其他可靠来源,并下载适用于Windows的OpenVPN客户端软件。确保选择与您的操作系统版本相匹配的客户端。

  2. 安装OpenVPN客户端:双击下载的安装程序,并按照提示完成OpenVPN客户端的安装过程。请注意,在安装过程中可能需要管理员权限。

  3. 获取OpenVPN配置文件:联系OpenVPN服务器管理员,获取OpenVPN配置文件(通常以.ovpn扩展名结尾)。您可以通过电子邮件、网站或其他适当的方式获取配置文件。

  4. 将配置文件复制到OpenVPN配置目录:打开Windows资源管理器,将下载的OpenVPN配置文件复制到OpenVPN客户端的配置目录中。默认情况下,该目录位于"C:\Program Files\OpenVPN\config"。

  5. 运行OpenVPN客户端:在Windows开始菜单中找到OpenVPN客户端,并运行它。请确保使用管理员权限运行客户端。

  6. 连接到服务器:在OpenVPN客户端界面中,您应该会看到一个任务栏图标,右键单击该图标并选择要连接的服务器配置文件。

  7. 输入凭据:根据服务器配置文件的设置,您可能需要输入身份验证凭据,如用户名和密码。输入正确的凭据以进行身份验证。

  8. 等待连接成功:一旦您点击连接选项,OpenVPN客户端将尝试与服务器建立连接。稍等片刻,如果一切顺利,连接应该会成功建立。

  9. 验证连接:一旦连接成功,您可以通过访问网络资源或浏览互联网来验证OpenVPN的连接。此时,您的数据传输将通过OpenVPN的加密隧道进行保护。

在连接OpenVPN之前,确保您具有有效的OpenVPN配置文件和凭据,并且您的设备可以连接到互联网。

linux系统

在Linux操作系统上连接OpenVPN,您可以按照以下步骤进行操作:

  1. 安装OpenVPN:打开终端,并使用适合您的Linux发行版的包管理器命令来安装OpenVPN软件。例如,在Ubuntu上,您可以使用以下命令安装OpenVPN:

    sudo apt-get install openvpn
  2. 获取OpenVPN配置文件:联系OpenVPN服务器管理员,获取OpenVPN配置文件(通常以.ovpn扩展名结尾)。您可以通过电子邮件、网站或其他适当的方式获取配置文件。

  3. 将配置文件复制到合适的目录:将下载的OpenVPN配置文件复制到适当的目录中。通常,您可以将配置文件复制到/etc/openvpn/目录下。

  4. 打开终端并连接到OpenVPN服务器:使用终端命令进入OpenVPN配置文件所在目录,然后运行以下命令以连接到OpenVPN服务器:

    sudo openvpn <配置文件名>

    其中,<配置文件名>是您下载的OpenVPN配置文件的名称。

  5. 输入凭据:根据服务器配置文件的设置,您可能需要输入身份验证凭据,如用户名和密码。请输入正确的凭据以进行身份验证。

  6. 等待连接成功:一旦您输入凭据并按下Enter键,OpenVPN将尝试与服务器建立连接。稍等片刻,如果一切顺利,连接应该会成功建立。

  7. 验证连接:一旦连接成功,您可以通过访问网络资源或浏览互联网来验证OpenVPN的连接。此时,您的数据传输将通过OpenVPN的加密隧道进行保护。

在连接OpenVPN之前,确保您具有有效的OpenVPN配置文件和凭据,并且您的设备可以连接到互联网。