前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7搭建CiscoAnyConnect

Centos7搭建CiscoAnyConnect

作者头像
孤鸿
发布2022-10-04 14:38:44
9010
发布2022-10-04 14:38:44
举报
文章被收录于专栏:孤鸿

配置环境

代码语言:javascript
复制
yum -y install epel-release #安装EPEL源
yum install ocserv #安装ocserv

配置OpenConnectServer

准备证书

创建证书目录
代码语言:javascript
复制
cd ~
mkdir certificates
cd certificates
  • 在此目录下创建一个名为 ca.tmpl 的CA证书模板,写入如下语句:
代码语言:javascript
复制
cn = "Aierpf" 
organization = "aierpf.cn" 
serial = 1 
expiration_days = 3650
ca 
signing_key 
cert_signing_key 
crl_signing_key
生成CA密钥
  • 使用certtool --generate-privkey --outfile ca-key.pem
代码语言:javascript
复制
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
生成服务器证书
  • 这里注意cn项必须对应你服务器的域名或IP,模板名称是 server.tmpl ,内容如下:
代码语言:javascript
复制
cn = "Your hostname or IP" 
organization = "aierpf.cn" 
expiration_days = 3650
signing_key 
encryption_key
tls_www_server
生成服务器密钥
  • 使用certtool --generate-privkey --outfile server-key.pem
代码语言:javascript
复制
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
移动证书文件:
代码语言:javascript
复制
cp ca-cert.pem /etc/ssl/my-ca-cert.pem
cp server-cert.pem /etc/ssl/my-server-cert.pem
cp server-key.pem /etc/ssl/my-server-key.pem

准备配置文件

  • 我们把配置文件放到ocserv默认读取的位置:
代码语言:javascript
复制
mkdir /etc/ocserv
cd ~/ocserv-0.10.8
cp doc/sample.config /etc/ocserv/ocserv.conf

> ps:配置文件可以在源码目录找到:

代码语言:javascript
复制
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.10.8.tar.xz
tar xvf ocserv-0.10.8.tar.xz
cd ocserv-0.10.8

> 配置文件可以参考官方手册来写,不过这里我们重点要确保以下条目正确:

代码语言:javascript
复制
# 登陆方式,目前先用密码登录
auth = "plain[/etc/ocserv/ocpasswd]"
# 允许同时连接的客户端数量
max-clients = 4
# 限制同一客户端的并行登陆数量
max-same-clients = 2
# 服务监听的IP(服务器IP,可不设置)
listen-host = 1.2.3.4
#配置客户端获取到的IP地址(自定义)
ipv4-network = 10.8.0.0/24
#添加客户端获取的DNS
dns = 192.168.0.7
# 服务监听的TCP/UDP端口(选择你喜欢的数字)
tcp-port = 9000
udp-port = 9001
# 自动优化VPN的网络性能
try-mtu-discovery = true
# 确保服务器正确读取用户证书(后面会用到用户证书)
cert-user-oid = 2.5.4.3
# 服务器证书与密钥(如果有自己的共有证书,可在此处替换为相应路径)
server-cert = /etc/ssl/private/my-server-cert.pem
server-key = /etc/ssl/private/my-server-key.pem
# 客户端连上vpn后使用的dns
dns = 8.8.8.8
dns = 8.8.4.4
# 注释掉所有的route,让服务器成为gateway
#route = 192.168.1.0/255.255.255.0
# 启用cisco客户端兼容性支持
cisco-client-compat = true
#定义user-profile
user-profile = /etc/ocserv/profile.xml

测试服务和添加用户

代码语言:javascript
复制
ocpasswd -c /etc/ocserv/ocpasswd username
#username为你要添加的用户名
systemctl start ocserv

> Debug

代码语言:javascript
复制
ocserv -c /etc/ocserv/ocserv.conf -f -d 1

防火墙和路由转发

代码语言:javascript
复制
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
iptables-save
service iptables save
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf #添加net.ipv4.ip_forward = 1到/etc/sysctl.conf文件最后一行,如果已存在,修改或者无视
sysctl -p #使修改立即生效

客户端使用

下载客户端

Cisco AnyConnect客户端【Mac、安卓、windows】

遇到的坑

  1. Centos 7.4+版本yum安装ocserv会报错:Processing Dependency: libhttp_parser.so.2 缺少依赖包

> 解决办法: 参考链接

代码语言:javascript
复制
wget https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm
rpm -ivh http-parser-2.7.1-3.el7.x86_64.rpm
  • 未完待续。。。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置环境
  • 配置OpenConnectServer
    • 准备证书
      • 创建证书目录
      • 生成CA密钥
      • 生成服务器证书
      • 生成服务器密钥
      • 移动证书文件:
    • 准备配置文件
    • 测试服务和添加用户
    • 防火墙和路由转发
    • 客户端使用
      • 下载客户端
      • 遇到的坑
      相关产品与服务
      测试服务
      测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档