本文最后更新于 2024-12-16,文章内容可能已经过时。

背景:为了能够通过VPS访问家里的存储服务,我们可以利用VPN技术建立一条安全的连接,让VPS能够像在本地一样访问家里的局域网资源。

一、在VPS上安装OpenVPN

  1. 更新系统软件包
    运行以下命令,确保系统的软件包是最新的:

    sudo apt update && sudo apt upgrade -y
  2. 安装OpenVPN
    使用脚本安装OpenVPN:

    wget https://gh-proxy.com/raw.githubusercontent.com/Nyr/openvpn-install/master/openvpn-install.sh && sudo bash openvpn-install.sh
  3. 确保你在家中拥有安装好的Open VPN服务端

二、修改配置文件

  1. 创建OpenVPN的配置文件
    确保VPS上有一个适当的OpenVPN配置文件(路径/etc/openvpn/client)。

    nano /etc/openvpn/client/home.conf
  2. 添加路由推送指令
    在配置文件中加入以下行,将家里局域网的网段推送给客户端(即VPS):

    push "route 192.168.1.0 255.255.255.0"

    完整示例

    client
    dev tun
    nobind
    proto tcp
    float
    remote 服务器地址 端口
    verb 3
    mute 6
    auth SHA1
    resolv-retry infinite
    log openvpn.log
    status openvpn-status.log
    persist-key
    auth-nocache
    reneg-sec 0
    route-delay 2
    remote-cert-tls server
    push "route 192.168.1.0 255.255.255.0" 
    <key>
    -----BEGIN PRIVATE KEY-----
    MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDHj4d7fSGWfOJ+
    /fMf0L3wQ53aEjvuiIEoeJ+XKQ==
    -----END PRIVATE KEY-----
    </key>
    <cert>
    -----BEGIN CERTIFICATE-----
    MIIDPzCCAiegAwIBAgIQFoqGuer6Ro3xcj8U0Cb5kzANBgkqhkiG9w0BAQsFADAR
    Lb3UPtdXhmjww1wPHBr8BR6bJw==
    -----END CERTIFICATE-----
    </cert>
    <ca>
    -----BEGIN CERTIFICATE-----
    MIIDJDCCAgygAwIBAgIJAP1oABzNIVHkMA0GCSqGSIb3DQEBCwUAMBExDzANBgNV
    60fRjK4QdYsSLAModuDuuqCa/yAjpoNdbj9jppFXTBQLc6mjN/KZMw==
    -----END CERTIFICATE-----
    </ca>
    comp-lzo
    cipher AES-128-CBC
  3. 启用IP转发
    编辑/etc/sysctl.conf,启用IP转发功能:

    net.ipv4.ip_forward=1

    然后运行以下命令使更改生效:

    sudo sysctl -p

三、测试连通性

  1. 启动OpenVPN服务
    在VPS上启动OpenVPN服务:

    openvpn --config /etc/openvpn/client/home.ovpn --log-append /var/log/openvpn.log
  2. 验证连接是否成功
    在连接VPN后,检查是否能够从VPS访问家里的存储设备:

    ping 192.168.1.x

    如果能正常访问,说明配置成功。

四、设置开机自启

  1. 确保OpenVPN服务随系统启动
    使用以下命令启用服务开机自启:

    systemctl start openvpn-client@home
    systemctl enable openvpn-client@home
  2. 验证服务状态
    通过以下命令检查OpenVPN服务是否已启用并运行:

    systemctl status openvpn-client@home

总结

通过以上步骤,我们成功配置了VPS使用OpenVPN连接家里的存储服务。这样,VPS就可以通过VPN像本地设备一样访问家里的局域网设备,满足数据同步和远程管理的需求。