• ocserv,anyconnect


    安装过程


    yum install epel-release

    yum install ocserv

    mkdir anyconnect

    cd anyconnect

    生成ca证书

    $ certtool --generate-privkey --outfile ca-key.pem

    $ cat >ca.tmpl <

    cn = "a.speedphp.com"

    organization = "SP Corp"

    serial = 1

    expiration_days = 3650

    ca

    signing_key

    cert_signing_key

    crl_signing_key

    EOF

    $ certtool --generate-self-signed --load-privkey ca-key.pem \

    --template ca.tmpl --outfile ca-cert.pem

    $ cp ca-cert.pem /etc/pki/ocserv/cacerts

    生成服务器证书

    $ certtool --generate-privkey --outfile server-key.pem

    $ cat >server.tmpl <

    cn = "a.speedphp.com"

    organization = "SP Corp"

    serial = 2

    expiration_days = 3650

    encryption_key

    signing_key

    tls_www_server

    EOF

    $ certtool --generate-certificate --load-privkey server-key.pem \

    --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem \

    --template server.tmpl --outfile server-cert.pem

    $ cp server-cert.pem /etc/pki/ocserv/public/server.crt

    $ cp server-key.pem /etc/pki/ocserv/private/server.key

    生成本地服务器证书(如果不用证书登录,此步骤可以不做)

    创建 gen-client-cert.sh,并将下面内容复制进去

    #!/bin/bash

    USER=$1

    CA_DIR=$2

    SERIAL=`date +%s`

    certtool --generate-privkey --outfile $USER-key.pem

    cat << _EOF_ >user.tmpl

    cn = "$USER"

    unit = "users"

    serial = "$SERIAL"

    expiration_days = 9999

    signing_key

    tls_www_client

    _EOF_

    certtool --generate-certificate --load-privkey $USER-key.pem --load-ca-certificate $CA_DIR/ca-cert.pem --load-ca-privkey $CA_DIR/ca-key.pem --template user.tmpl --outfile $USER-cert.pem

    openssl pkcs12 -export -inkey $USER-key.pem -in $USER-cert.pem -name "$USER VPN Client Cert" -certfile $CA_DIR/ca-cert.pem -out $USER.p12

    创建用户文件夹并调用 gen-client-cert.sh 生成证书

    $ mkdir user

    $ cd user

    # user 指的是用户名,.. 指的是 ca 证书所在的目录

    $ ../gen-client-cert.sh user ..

    # 按提示设置证书使用密码,或直接回车不设密码

    最后,通过 http 服务器或其他方式将 user.p12 传输给客户端导入即可

    配置 ocserv, 配置文件/etc/ocserv/ocserv.conf

    auth = "plain[passwd=/etc/ocserv/ocpasswd]”

    tcp-port = 4433

    udp-port = 4433

    max-clients = 16

    max-same-clients = 16

    #以下默认

    server-cert = /etc/pki/ocserv/public/server.crt

    server-key = /etc/pki/ocserv/private/server.key

    ca-cert = /etc/pki/ocserv/cacerts/ca.crt

    #以下开启

    compression = true

    no-compress-limit = 256

    ipv4-network = 192.168.1.0

    ipv4-netmask = 255.255.255.0

    dns = 8.8.8.8

    配置文件到此

    建用户

    $ sudo ocpasswd -c /etc/ocserv/ocpasswd 用户名

    开启内核转发

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

    $ sysctl -p /etc/sysctl.conf

    配置防火墙规则,放行端口,如果有的话

    自启动

    systemctl enable ocserv

    systemctl start ocserv

    systemctl restart ocserv

    现在已经改为域名登录了。

  • 相关阅读:
    Redis数据类型——hash类型的应用场景
    nacos-v2.1.0持久化
    ⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
    探索智慧互联网医院系统源码:预约挂号APP开发教学
    简介GC垃圾回收
    Python爱好者的自我修养(1):简单输入与输出
    北美”闲鱼”Poshmark,如何销售提高成单率?附防封养号攻略
    java基础10题
    Node2vec
    vite - 多渠道差异化打包插件
  • 原文地址:https://blog.csdn.net/jaketseng/article/details/126791252