ocserv(Openconnect VPN Server)是一款开源的、兼容Cisco Anyconnect VPN的VPN服务端软件。由于思科在网络设备中的特殊地位,思科的V...
目前最新版本是 The latest version of ocserv is 1.1.6 ,教程有些过时,仅供参考
ocserv(Openconnect VPN Server)是一款开源的、兼容Cisco Anyconnect VPN的VPN服务端软件。由于思科在网络设备中的特殊地位,思科的VPN一直未被特殊照顾(其实这个VPN握手过程特征应该是较为明显的)。目前状况下通讯较为稳定,干扰较小。主要优势是多平台的支持,Windows、Android、iOS都能找到它的客户端。往往可以作为shadowsocks等代理的补充。
下面简要介绍一下部署过程,以在Ubuntu系统中的部署为例。
主页: http://www.infradead.org/ocserv/
下载页面: ftp://ftp.infradead.org/pub/ocserv/
首先在上面的下载页面中找到最新的Release后使用wget下载并解压:
Shell
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.9.2.tar.xz
tar -Jxvf ocserv-0.9.2.tar.xz
cd ocserv-0.9.2必选依赖包:
Shell
apt-get install libgnutls28-dev可选依赖包:
Shell
apt-get install pkg-config libwrap0-dev libpam0g-dev liblz4-dev libseccomp-dev libreadline-dev libnl-route-3-dev编译工具:
apt-get install build-essential autogen编译安装:
Shell
./configure && make
make install接下来是配置,建立
/ etc / ocserv
文件夹来存储相关的配置文件:
1. 下载下来的ocserv中的
doc 文件夹中有 sample . config 这一例子文件,将其拷贝至 / etc / ocserv
,命名为
ocserv . conf
,用来存储ocserv的配置信息;
2. 新建
/ etc / ocserv / ocpasswd
文件用来存储用户名密码
3. 将PEM格式的服务器证书,存储至
/ etc / ocserv / server - cert . pem
文件中(包含证书链中的中级证书)
4. 将PEM格式的服务器私钥,存储至
/ etc / ocserv / server - key . pem
文件中
5. 将PEM格式的根证书,存储至
/ etc / ocserv / ca - cert . pem
文件中
(PS:想要客户端连接没有证书错误提示的,可以试试使用StartSSL的免费证书。)
接着修改
/ etc / ocserv / ocserv . conf
文件:
设置认证方式为plain,存储文件改成刚才设置的
/ etc / ocserv / ocpasswd
文件:
auth = "plain[/etc/ocserv/ocpasswd]"可以修改允许同时连接的最大客户端数:
max-clients = 16同一个账号能连接的最大客户端数:
max-same-clients = 2修改ocserv使用的端口(客户端连接时候不填写端口的话默认使用443 使用非443端口时候,服务器填写:域名:端口号 这样的形式):
tcp-port = 443
udp-port = 443修改服务器证书和私钥配置:
server-cert = /etc/ocserv/server-cert.pem
server-key = /etc/ocserv/server-key.pem修改根证书配置:
ca-cert = /etc/ocserv/ca-cert.pem建议将dpd和cookie-timeout改大,避免客户端网络波动时候总是掉线以及无法及时自动重连:
dpd = 600
cookie-timeout = 32400配置VPN子网的的网段:
ipv4-network = 10.250.250.0
ipv4-netmask = 255.255.255.0配置DNS服务器:
dns = 8.8.8.8
dns = 8.8.4.4将其他私有地址排除,不路由:
no-route = 192.168.0.0/255.255.0.0
no-route = 172.16.0.0/255.240.0.0
no-route = 169.254.0.0/255.255.0.0
no-route = 127.0.0.0/255.0.0.0添加自启动,下面给出一个init.d脚本的sample,放到
/ etc / init . d / ocserv
并给上755权限:
点击展开全部内容
配置自启动,使用update-rc.d命令:
Shell
update-rc.d ocserv defaults启动:
service ocserv start添加用户,例:用户名testuser,密码test,用户组vpnusers:
ocpasswd -c /etc/ocserv/ocpasswd -g vpnusers vpnuser然后连续两次键入密码即可。
修改
/ etc / sysctl . conf
打开ipv4_forward:
net.ipv4.ip_forward = 1执行以下命令使其生效:
Shell
sysctl -p配置iptables转发,注意和前面配置的网段保持一致:
Shell
iptables -A FORWARD -s 10.250.250.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.250.250.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -o vpns+ -j ACCEPT
iptables -A FORWARD -i vpns+ -j ACCEPT
本文链接:https://www.kinber.cn/post/3317.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: