Cisco的AnyConnectVPN并不是都需要Cisco的硬件才能使用的,有人已经实现并开源了AnyConnect的协议,使用软件就可以搭建AnyConnect服务。详见:https://ocserv.gitlab.io/www/
下面是我平时在CentOS上搭建Ocserv的配置步骤,供参考
安装ocserv
安装比较简单,只需要yum安装epel-release然后安装安装ocserv就可以了。
# 安装epel-release yum -y install epel-release # 安装ocserv yum -y install ocserv
生成CA证书
$ mkdir /etc/ocserv/certs $ cd /etc/ocserv/certs $ certtool --generate-privkey --outfile ca-key.pem $ cat >ca.tmpl <<EOF cn = "VPN CA" organization = "Terry Tech 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
生成服务器证书
产生/etc/ocserv/certs/server-cert.pem和/etc/ocserv/certs/server-key.pem,后面ocserv.conf配置文件里会用到
$ cd /etc/ocserv/certs $ certtool --generate-privkey --outfile server-key.pem $ cat >server.tmpl <<EOF cn = "www.terrynow.com" organization = "Terry Tech 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
修改/etc/ocserv/ocserv.conf
主要修改的配置文件如下:
# 存放账号的文件 auth = "plain[/etc/ocserv/passwd]" # 对外的端口号,可根据实际情况修改 tcp-port = 443 udp-port = 443 # server 证书 server-cert = /etc/ocserv/certs/server-cert.pem server-key = /etc/ocserv/certs/server-key.pem # ca 证书 ca-cert = /etc/ocserv/certs/ca-cert.pem cert-user-oid = 2.5.4.3 # VPN环境的内网IP地址段,可根据自己的情况修改一个内网地址段(例如172.16.1.0/24这种) ipv4-network = 192.168.100.0/24 # 客户端的路由,自定义客户端某些网段走VPN,其他普通的网段不走VPN route = 10.52.0.0/255.255.255.0
用户相关操作
#添加用户 ocpasswd -c /etc/ocserv/passwd 【用户名】 #锁定用户 ocpasswd -c /etc/ocserv/ocpasswd -l 【用户名】 #解锁用户 ocpasswd -c /etc/ocserv/ocpasswd -u 【用户名】 #删除用户 ocpasswd -c /etc/ocserv/ocpasswd -d 【用户名】 #查看当前在线用户详情: occtl -n show users #查看当前服务运行状态 occtl -n show status #踢掉当前用户 occtl disconnect id 【id号】
ocserv服务相关操作
# 开机自动启动ocserv服务 systemctl enable ocserv # 重启 systemctl restart ocserv # 当前服务状态 systemctl status ocserv
文章评论