如何为手机搭建anyconnect 服务

简介

让手机畅游互联网

操作步骤

(说明,下面的都是在ubuntu 16.04 下实现的)

安装docker及certtool

1
sudo apt-get install Docker.io gnutls-bin -y

生成证书

主要过程就是

  • 生成ca证书
  • 生成服务器证书
  • 生成客户端证书

具体怎么了生成,可以参考这里
为了简化这个过程,我用一个脚本生成证书,参见

启动docker

1
docker run -d --privileged -p 7000:443 --name anyconnect -v $HOME/certs:/certs treelite/anyconnect

这是用的是7000端口,可以随意设置,手机连接时指定就行。$HOME/certs为你放置这些证书的目录绝对路径。 用是treelite的镜像。

把客户端证书导入到手机

目地是把user.p12这个文件导入。
这里采取用python 运行简单http服务器。
在证书目录运行
python -m SimpleHTTPServer
在手机上打开anyconnect。
在诊断->证书->user->导入用户证书。
在弹出的输入url中输入http://<you_server_ip>:8000/user.p12
如果正常,就要让你输入导出这个证书时的密码。
然后导入成功。
注意在手机连接的时候,输入的服务器地址是需要带上端口号的

一键脚本

创建证书,要输入证书名与密码

https://gist.github.com/finghine/293269af487fe72df2d59596025ac6ab

运行程序

https://gist.github.com/finghine/2267388e6a227ef3347afbadecd3e168

其它

因为这个方法是基本于docker技术。
可以说能安装docker,就可以使用这个方法。

但也有不支持的,比如说32位的centos。

在CentOS上安装可以参考 在CentOS上安装Docker

apt-get 换成 yum

1
sudo yum -y install docker-io

gnutls-bin 换成 gnutls-utils

1
yum install -y gnutls-utils

然后其它的就同理了