搭建anyconnect服务器
来源:互联网 发布:淘宝订购软件有用么 编辑:程序博客网 时间:2024/05/23 01:23
环境准备
实验环境
服务器:Ubuntu 16
客户端:iphone
为iphone搭建anyconnect服务器
服务器安装docker
sudo apt-get install docker.io
服务器安装certtool
sudo apt-get install gnutls-bin
手机端安装anyconnect
苹果商店下载
主要步骤
- 创建CA证书
- 创建服务器证书
- 创建客户端证书
- 启动docker
- 把客户端证书导入到手机上
- 客户端连接服务器
创建证书一般步骤
- 创建模版文件
- 生成密钥
- 用密钥与模版生成证书
具体步骤
先新建一个目录,暂叫为certs,用于存方这些证书文件 mkdir certs
创建CA证书
创建ca模版
创建文件 ca.tmpl
输入下面内容。(cn与organization可以随便写)
cn = "ff"organization = "ff"serial = 1expiration_days = 3650casigning_keycert_signing_keycrl_signing_key
生成ca密钥
certtool --generate-privkey --outfile ca-key.pem
生成CA证书
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
创建服务器证书
创建服务器证书模版
xxx.xxx.xxx.xxx
写自己的服务地址或者域名。
创建文件 server.tmpl
输入下面内容
cn = "xxx.xxx.xxx.xxx"organization = "ff"expiration_days = 3650signing_keyencryption_keytls_www_server
生成服务器证书密钥
certtool --generate-privkey --outfile server-key.pem
生成服务器证书
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
创建客户端证书
创建客户端证书模版
创建文件 user.tmpl
输入下面内容
cn = "ffclient"unit = "ffclientunit"expiration_days = 365signing_keytls_www_client
生成客户端证书密钥
certtool --generate-privkey --outfile user-key.pem
生成客户端证书
certtool --generate-certificate --load-privkey user-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template user.tmpl --outfile user-cert.pem
将客户端证书导出成p12格式
这里需要给证书的起一个名字,并设置一个密码。自己记住,在导入到客户端时会需要。 certtool --to-p12 --load-privkey user-key.pem --pkcs-cipher 3des-pkcs12 --load-certificate user-cert.pem --outfile user.p12 --outder
启动docker
这是用是treelite的镜像,地址。
这是用的是7000端口,可以随意设置。$HOME/certs
为你放置这些证书的目录绝对路径。 docker run -d --privileged -p 7000:443 --name anyconnect -v $HOME/certs:/certs treelite/anyconnect
下载镜像需要一段时间。运行完成之后。检查是否运行成功。 sudo docker ps
把客户端证书导入到手机上
在这里就用的python的简单http服务器。
在证书目录运行: python -m SimpleHTTPServer
在手机上打开anyconnect。
在诊断->证书->user->导入用户证书。
在弹出的输入url中输入http://xxx.xxx.xxx.xxx:8000/user.p12
。(xxx.xxx.xxx.xxx为服务器地址)
如果正常,就要让你输入导出这个证书时的密码。
然后导入成功。
客户端连接服务器
打开手机 anyconnect -> 新建连接 -> 输入服务器地址(记得要加上上面的7000),如xxx.xxx.xxx.xxx:7000
-> 点高级 -> 点证书 -> 选刚上导入的证书 。
然后再进行连接。
第一次连接会有让你选择是否信任服务器证书,选择信任,继续。
这样就可以连接成功了。
可能出现的问题
docker未运行起来
检查证书有没有生成正确,最后该目录下会有十个文件。
检查命令是否执行,用sudo docker ps -a
来查看所有容器
用docker logs <容器id>
来看有没有出现什么错误
客户端的证书无法导入到手机上
检查防火墙有没有对8000端口进行限制。
无法连接到服务器
检查防火墙,及服务器端口设置
在客户端用telnet 看能否连接到7000端口上。
参考:
https://github.com/treelite/anyconnect
https://bitinn.net/11084/
- 搭建anyconnect服务器
- AnyConnect ocserv搭建记录
- 在 CentOS 7 上搭建 Cisco AnyConnect VPN
- anyconnect 下载
- ubuntu安装anyconnect客户端
- 汉化AnyConnect安装界面
- 服务器搭建
- 搭建服务器
- 搭建服务器
- 服务器搭建
- 服务器搭建
- 搭建服务器
- 服务器搭建
- 服务器搭建
- Cisco Anyconnect突然挂了
- cisco anyconnect, ubuntu 下配置
- Subversion服务器搭建 svn服务器搭建
- Subversion服务器搭建 (一步一步搭建)
- angular-ui-router 多视图views
- 当发现某个java线程占CPU或内存非常高的时候,你如何定位?
- Android常用命令
- 判断是否主进程
- 欢迎使用CSDN-markdown编辑器
- 搭建anyconnect服务器
- kafka学习 (一)集群安装配置
- SqlAlchemy ORM 学习
- javascript初识
- 伸缩模型
- Oracle job procedure 存储过程定时任务
- android中lambda表达式的使用,以及如何引入
- docker
- react native 刷新界面机制DeviceEventEmitter