综合技术交流
直播中

李晓鹏

8年用户 1365经验值
私信 关注
[问答]

怎样在阿里ECS服务器上架设自己的OpenVPN服务器?

需要自己架设服务器,让现场的IR615路由器连接自己的服务器。能通过自己的服务器进行数据采集和远程运维。

回帖(1)

久醉不醒

2025-8-11 17:12:24

在阿里云ECS上架设OpenVPN服务器并连接IR615路由器的完整指南




一、ECS服务器前期准备




  1. 创建ECS实例



    • 操作系统:Ubuntu 20.04/22.04 LTS(推荐)

    • 安全组设置:开放UDP 1194端口(OpenVPN默认端口)和TCP 22端口(SSH)




  2. 分配公网IP



    • 在ECS控制台为实例绑定弹性公网IP(EIP),记录IP地址(例如:203.0.113.10




  3. 登录服务器


    ssh root@203.0.113.10





二、安装OpenVPN并生成证书




  1. 安装OpenVPN和Easy-RSA


    apt update && apt install openvpn easy-rsa -y



  2. 初始化PKI(证书颁发机构)


    make-cadir ~/openvpn-ca
    cd ~/openvpn-ca
    ./easyrsa init-pki
    ./easyrsa build-ca nopass  # 生成无密码保护的CA证书



  3. 生成服务器证书


    ./easyrsa build-server-full server nopass
    ./easyrsa gen-dh          # 生成Diffie-Hellman密钥
    openvpn --genkey secret ta.key  # 生成TLS-auth密钥



  4. 生成客户端证书(给IR615用)


    ./easyrsa build-client-full ir615 nopass





三、配置OpenVPN服务器




  1. 创建配置文件


    nano /etc/openvpn/server/server.conf

    添加以下内容:


    port 1194
    proto udp
    dev tun
    ca /root/openvpn-ca/pki/ca.crt
    cert /root/openvpn-ca/pki/issued/server.crt
    key /root/openvpn-ca/pki/private/server.key
    dh /root/openvpn-ca/pki/dh.pem
    topology subnet
    server 10.8.0.0 255.255.255.0
    push "route 10.0.0.0 255.255.255.0"  # 推送到客户端的内网路由
    keepalive 10 120
    tls-auth /root/openvpn-ca/ta.key 0
    cipher AES-256-CBC
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
    explicit-exit-notify 1
    comp-lzo



  2. 启用IP转发


    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p



  3. 配置NAT转发


    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    apt install iptables-persistent -y  # 保存规则





四、配置IR615路由器作为客户端




  1. 从服务器下载配置文件


    cd ~/openvpn-ca/
    scp pki/ca.crt pki/issued/ir615.crt pki/private/ir615.key ta.key admin@ir615:/tmp/



  2. 在IR615上配置OpenVPN客户端



    • 通过Web界面或SSH登录IR615

    • 创建OpenVPN客户端配置文件:
      client
      dev tun
      proto udp
      remote 203.0.113.10 1194  # ECS公网IP
      resolv-retry infinite
      nobind
      persist-key
      persist-tun
      ca /tmp/ca.crt
      cert /tmp/ir615.crt
      key /tmp/ir615.key
      tls-auth /tmp/ta.key 1  # 客户端此处用1
      cipher AES-256-CBC
      remote-cert-tls server
      comp-lzo
      verb 3




  3. 启动IR615的VPN服务


    openvpn --config /path/to/client.conf --daemon





五、验证与运维




  1. 检查VPN连接状态


    # 在ECS上查看
    tail -f /var/log/openvpn/openvpn-status.log

    # 在IR615上查看
    ifconfig tun0  # 应显示10.8.0.x地址



  2. 测试数据采集



    • 通过10.8.0.0网段访问IR615的内网设备:
      ping 10.0.0.1  # 假设IR615内网设备IP




  3. 安全加固



    • 更改OpenVPN默认端口(修改server.conf中的port

    • 定期更新证书:./easyrsa renew-cert ir615






六、高级配置




  1. 固定客户端IP(可选)
    server.conf中添加:


    client-config-dir /etc/openvpn/ccd
    ifconfig-pool-persist ipp.txt

    为IR615分配固定IP:


    echo "irregular 10.8.0.100" > /etc/openvpn/ccd/ir615



  2. 日志监控
    使用journalctl跟踪日志:


    journalctl -u openvpn@server -f





常见问题解决



  • 连接超时:检查ECS安全组是否开放UDP端口

  • 路由不通:确认NAT规则iptables -t nat -L和IR615本地防火墙

  • 证书错误:重新签发客户端证书并确保文件权限为600



提示:建议使用TLS 1.3(添加tls-version-min 1.3配置)增强安全性,并定期备份/root/openvpn-ca目录下的证书文件。



完成上述步骤后,IR615将通过OpenVPN安全连接到您的ECS服务器,实现数据采集和远程运维。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分