CentOS7编译OpenVPN2.5.10

尝试编译2.6.11(失败)

  1. 从官网下载源码https://github.com/OpenVPN/openvpn/releases/download/v2.6.11/openvpn-2.6.11.tar.gz
  2. 解压tar zxvf openvpn-2.6.11.tar.gz
  3. cd openvpn-2.6.11
  4. autoreconf -i -v -f
  5. ./configure
  6. 出现报错,要求libnl版本在3.4以上,但镜像源中的libnl最高版本只有3.2
  7. 下载3.4版本rpm包wget https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/libnl3-3.4.0-4.el8.x86_64.rpm
  8. 安装rpm -ivh libnl3-3.4.0-4.el8.x86_64.rpm
  9. 发现文件冲突,卸载旧版后再次安装
rpm -e --nodeps libnl3-3.2.28-4.el7.x86_64
rpm -ivh libnl3-3.4.0-4.el8.x86_64.rpm
  1. 查询包配置路径pkg-config --variable pc_path pkg-config
  2. 找到配置文件libnl-3.0.pclibnl-genl-3.0.pc用vim打开版本号修改为3.4
  3. 再次运行./configure报错libcap-ng package not found
  4. yum install libcap-ng-devel
  5. 再次运行./configure报错No compatible LZ4 compression library found
  6. yum install lz4-devel lz4
  7. ./configure
  8. make报错,因为有未定义的宏,和dco有关,推测可能是因为centos7支持的libnl最高版本只有3.2.28,虽然下载了3.4.0但是系统不支持,放弃

编译2.5.10

  1. 把之前装的libnl卸掉重装,让版本退回去
yum remove libnl3
yum install libnl3
yum install libnl3-devel
  1. 验证版本pkg-config --modversion libnl-genl-3.0
  2. 拉2.5.10源码解压缩,配置
wget https://github.com/OpenVPN/openvpn/releases/download/v2.5.10/openvpn-2.5.10.tar.gz
tar zxvf openvpn-2.5.10.tar.gz
cd openvpn-2.5.10
./configure
  1. make && make install
  2. 验证版本openvpn --version
  3. cd ~/
  4. mkdir ovpn-server-config
  5. 环境配置看这篇文章,因为我已经配过了,就不赘述了。
  6. 生成证书和密钥
cd ovpn-server-config
/usr/share/easy-rsa/3.0.8/easyrsa init-pki
/usr/share/easy-rsa/3.0.8/easyrsa gen-req server nopass
/usr/share/easy-rsa/3.0.8/easyrsa sign server server
/usr/share/easy-rsa/3.0.8/easyrsa gen-dh
/usr/share/easy-rsa/3.0.8/easyrsa gen-req client nopass
/usr/share/easy-rsa/3.0.8/easyrsa sign client client
  1. vim server.conf之后写入服务端配置,不加赘述
  2. 运行客户端,尝试连接,成功。

遗留问题

  1. 2.5.10依然不支持tls1.3版本,新特性用不上
  2. udp方式连接校验有问题,尚未解决
CentOS 7系统上安装并配置OpenVPN可以按照以下步骤进行: 1. **安装依赖**: 首先需要安装EPEL仓库,因为它包含了OpenVPN的包。运行下面命令: ``` sudo yum install epel-release ``` 2. **安装OpenVPN**: 使用yum安装OpenVPN客户端和服务端: ``` sudo yum install openvpn easy-rsa ``` 3. **创建证书目录**: 如果OpenSSL证书文件不存在,需要从`easy-rsa`工具生成。在`/etc/openvpn/easy-rsa`目录下创建所需的目录结构,然后初始化: ``` cd /etc/openvpn/easy-rsa source vars ./clean-all ./build-ca ./gendh 2048 ./gen-key-server server.key ./req-cn server.csr ./sign-req server ``` 4. **生成用户证书**: 为每个连接到OpenVPN的用户生成证书。以`user1`为例: ``` ./gen-key user1.key ./req-cn user1.csr ./sign-req user1 ``` 5. **配置服务器**: 编辑`/etc/openvpn/server.conf`,将`proto`设为`tcp`(如果需要UDP协议,则改为`udp`),添加用户的证书、私钥等信息,并指定监听端口(默认通常是1194)。 6. **启动服务**: 启动OpenVPN服务,并将其设置为开机启动: ``` sudo systemctl start openvpn@server sudo systemctl enable openvpn@server ``` 7. **防火墙配置**: 确保防火墙允许OpenVPN通信,可以通过编辑firewalld规则或iptables规则打开相应的端口。 8. **测试连接**: 可以通过运行`sudo openvpn --config /etc/openvpn/server.conf`手动测试连接,也可以在其他设备上尝试连接到这个地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值