服务器测评网
我们一直在努力

linux openvpn配置

Linux下OpenVPN配置详解

准备工作

在开始配置OpenVPN之前,需确保系统满足基本要求,推荐使用Ubuntu 20.04或CentOS 8等主流发行版,并已安装openvpneasy-rsa工具,可通过以下命令安装:

linux openvpn配置

  • Ubuntu/Debian:
    sudo apt update && sudo apt install openvpn easy-rsa
  • CentOS/RHEL:
    sudo yum install openvpn easy-rsa

需一台具有公网IP的服务器作为VPN服务端,客户端可以是任意Linux设备。

服务端配置

  1. 生成CA证书与密钥
    创建证书目录并初始化PKI环境:

    make-cadir ~/openvpn-ca && cd ~/openvpn-ca

    编辑vars文件,设置证书默认参数(如国家、组织名称等),然后执行:

    source vars && ./clean-all && ./build-ca
  2. 生成服务器证书
    为服务端生成专用证书:

    ./build-key-server server

    此过程中需输入两次密码,并确认证书信息。

  3. 生成客户端证书
    为每个客户端生成证书(以client1为例):

    ./build-key client1
  4. 创建Diffie-Hellman参数
    增强密钥交换安全性:

    ./build-dh
  5. 配置OpenVPN服务端
    复制配置模板文件:

    linux openvpn配置

    sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
    sudo gunzip /etc/openvpn/server.conf.gz

    编辑/etc/openvpn/server.conf,关键参数如下:

    port 1194
    proto udp
    dev tun
    ca /root/openvpn-ca/keys/ca.crt
    cert /root/openvpn-ca/keys/server.crt
    key /root/openvpn-ca/keys/server.key
    dh /root/openvpn-ca/keys/dh2048.pem
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist /var/log/openvpn/ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    keepalive 10 120
    comp-lzo
    user nobody
    group nogroup
    persist-key
    persist-tun
    verb 3
  6. 启动服务端
    启用并启动OpenVPN服务:

    sudo systemctl enable --now openvpn@server

客户端配置

  1. 获取客户端配置文件
    从服务端复制以下文件到客户端:

    • ca.crt
    • client1.crt
    • client1.key
  2. 创建客户端配置文件
    在客户端设备上创建client.conf

    client
    dev tun
    proto udp
    remote your_server_ip 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    remote-cert-tls server
    cipher AES-256-CBC
    comp-lzo
    key-direction 1
    verb 3

    your_server_ip替换为服务器的公网IP。

  3. 整合证书与配置
    将证书内容追加到配置文件末尾:

    cat ca.crt >> client.conf
    cat client1.crt >> client.conf
    cat client1.key >> client.conf

防火墙与路由设置

  1. 服务端防火墙配置
    允许OpenVPN端口(UDP 1194)和NAT转发:

    sudo ufw allow 1194/udp
    sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

    保存规则(Ubuntu使用netfilter-persistent save)。

    linux openvpn配置

  2. 启用IP转发
    编辑/etc/sysctl.conf,取消注释以下行:

    net.ipv4.ip_forward=1

    执行sysctl -p生效。

连接测试与故障排查

  1. 启动客户端
    使用以下命令连接:

    sudo openvpn --config client.conf

    成功连接后,可通过ifconfig查看tun0接口,或访问外网IP验证。

  2. 常见问题

    • 连接超时:检查服务端防火墙和端口是否开放。
    • 证书错误:确认客户端与服务端的CA证书一致。
    • 无法上网:检查NAT规则和DNS配置。

安全增强建议

  1. 使用强密码:为所有证书设置复杂密码。
  2. 限制访问:通过iptables限制仅特定IP可连接服务端。
  3. 日志监控:定期查看/var/log/syslog中的OpenVPN日志。

通过以上步骤,即可完成Linux环境下OpenVPN的安全配置,实现加密通信与远程访问。

赞(0)
未经允许不得转载:好主机测评网 » linux openvpn配置