最新消息:最好的网盘dropbox

安装配置OpenConnect VPN server AnyConnect (ocserv)

VPN 林夕 61331浏览 0评论

bandwagonhost VPS debian7.0 安装配置OpenConnect VPN server AnyConnect ( ocserv )

查看linux版本:

1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,

Distributor ID: Debian
Description:    Debian GNU/Linux 7.3 (wheezy)
Release:        7.3
Codename:       wheezy

更新系统后显示

Distributor ID: Debian
Description:    Debian GNU/Linux 7.6 (wheezy)
Release:        7.6
Codename:       wheezy

这次我准备用bandwagonhost.com的年付9.99美元的VPS来安装ocserv。

第一部分,注册bandwagonhost并设置好SSH登录。

512M内存 / 5G SSD硬盘/ G口 500G流量 / 年付9.99美元,我是使用tennfy.com置顶链接来注册的,因为我第一次是从他这里看到这个VPS的介绍,使用他的邀请链接,算是对他的一种支持吧。点击邀请链接进去后,Billing Cycle(付款方式)选择为$9.99 USD Annually(年付9.99美元),Configurable Options>>Location(机房位置选择),有两个选择:
US East Coast – Florida (USFL_2)美国东海岸 – 佛罗里达州(USFL_2)
US West Coast – Arizona (USAZ_2)美国西海岸 – 亚利桑那(USAZ_2)
大家都知道,美国西海岸的服务器对国内是最快的,因此我们选择US West Coast – Arizona (USAZ_2),
点击Checkout结账,进入注册界面,设置好注册信息,这个网站使用paypal来付款。
新手建议到tennfy.com看教程。
在下面的叙述中我把bandwagonhost称作搬瓦工,在搬瓦工首页点击VPS Hosting,点击Services–My Services选项卡,点击kiwiVM control panel,进入后台管理界面,首先在Main Controls 找到 Actions:,并点击stop,然后点击 Install new OS,重装系统,这里以debian-7.0-x86为例,选中,点击reload,开始重装,很快就会重装好。并会把ssh端口号和root密码显示出来,找到IP地址,root密码及ssh端口,使用Putty远程(SSH)管理Linux VPS,我们现在是使用root帐号及密码来ssh登录,现在我想改成使用密钥方式来ssh登录,并把密码登录方式禁用。

1、在Linux远程服务器生成密钥:

登录远程Linux VPS/服务器,执行:

root@vpser:~# ssh-keygen -t rsa //先运行这个命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):                   //直接回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):                                    //输入密钥密码
Enter same passphrase again:                                                                 //重复密钥密码
Your identification has been saved in /root/.ssh/id_rsa.         //提示公钥和私钥已经存放在/root/.ssh/目录下
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
15:23:a1:41:90:10:05:29:4c:d6:c0:11:61:13:23:dd root@vpser.net
The key's randomart image is:
+--[ RSA 2048]----+
|=&@Bo+o o.o      |
|=o=.E  o . o     |
| .    .   .      |
|         .       |
|        S        |
|                 |
|                 |
|                 |
|                 |
+-----------------+
root@vpser:~#

2、把id_rsa.pub改名并修改权限。

mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

3、使用winscp以root帐号密码的方式登录vps

把/root/.ssh/id_rsa文件下载到本地并删除服务器上的id_rsa文件,
修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,
将PasswordAuthentication yes 修改成 PasswordAuthentication no,并把PasswordAuthentication no前面的注释符#去掉,保存。

4、重启sshd服务

Debian/Ubuntu执行/etc/init.d/ssh restart ;CentOS执行:/etc/init.d/sshd restart。

5、搬瓦工的root密码太简单了,我现在修改root密码

passwd root
输入两遍密码,然后提示密码修改成功。

6、使用putty登录

putty使用的私钥文件和Linux服务器或XShell的私钥格式不同,如果使用putty的话,需要将Linux主机上生成的id_rsa文件下载的本地。运行putty压缩包里面的puttygen.exe,选择Conversions->Import key选择私钥文件id_rsa,输入密钥文件的密码,会出现如下界面:

点击“Save Private Key”,将私钥保存为id_rsa.ppk

运行putty,在Host Name填写:root@主机名或ip



如果设置了密钥密码,出现:Passphrase for key “imported-openssh-key”时输入密钥密码。

如果设置没问题就会登录成功,出现用户提示符。

再提醒一下一定要保存好Putty私钥文件id_rsa.ppk或Linux服务器下载下来的id_rsa私钥文件。

第二部分,安装openconnect(ocserv)

追加软件源

echo "deb http://ftp.debian.org/debian wheezy-backports main contrib non-free" >> /etc/apt/sources.list

更新源:

apt-get update

顺便更新一下linux系统:

apt-get upgrade --show-upgraded

先安装依赖包

apt-get -t wheezy-backports install libgmp3-dev m4 gcc pkg-config make gnutls-bin -y

再安装依赖包

apt-get -t wheezy-backports install build-essential libwrap0-dev libpam0g-dev libdbus-1-dev \
libreadline-dev libnl-route-3-dev libprotobuf-c0-dev libpcl1-dev\
 libopts25-dev autogen libgnutls28 libgnutls28-dev  libseccomp-dev

下载安装Ocserv,目前最新版为0.8.1

cd /usr/src
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.8.1.tar.xz
tar Jxvf ocserv-0.8.1.tar.xz
cd ocserv-0.8.1
./configure --prefix=/usr --sysconfdir=/etc && make && make install

返回到root文件夹下

cd

生成ssl证书

请注意,搬瓦工生成的证书截止日期是2005年,不能用,试了两次,无果,最后,在linode的服务器上,用同样的方法,生成了正确的证书,日期是2041年,不知道为什么。在另一个电脑上,使用linode证书后无数据接收,我猜是证书的问题,换一种方法制作证书后,日期竟然是10000年,证书问题导致不能建立ssl连接。

生成CA证书

certtool --generate-privkey --outfile ca-key.pem
cat <<_EOF_> ca.tmpl
cn = "banwagon CA"
organization = "banwagon Corp"
serial = 1
expiration_days = 999
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

生成本地服务器证书

certtool --generate-privkey --outfile server-key.pem
cat <<_EOF_> server.tmpl
cn = "www.banwagon.com"
organization = "banwagon"
serial = 2
expiration_days = 999
signing_key
encryption_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

生成客户端证书

certtool --generate-privkey --outfile user-key.pem
cat <<_EOF_>user.tmpl
cn = "banwagon"
unit = "admins"
serial = 1824
expiration_days = 999
signing_key
tls_www_client
_EOF_
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

生成可在windows中可导入的p12格式的证书

openssl pkcs12 -export -inkey user-key.pem -in user-cert.pem -name "banwagonclient" \
-certfile ca-cert.pem -caname "banwagon CA" -out client.cert.p12

会提示设置证书密码,也可以不设置直接回车即可。

如果是在root#提示符下操作的,生成的文件在/root文件夹下,生成之后把服务器证书server-cert.pem 放到/etc/ssl/certs,私钥server-key.pem 放到/etc/ssl/private。

cp ca-cert.pem /etc/ssl/certs
cp ca-key.pem /etc/ssl/private
cp server-cert.pem /etc/ssl/certs
cp server-key.pem /etc/ssl/private

接下来是配置文件

建立/etc/ocserv并把doc/sample.config拷到该文件夹下,改名为ocserv.conf:

mkdir /etc/ocserv && cp /usr/src/ocserv-0.8.1/doc/sample.config /etc/ocserv/ && mv /etc/ocserv/sample.config /etc/ocserv/ocserv.conf

编辑配置文件

vim /etc/ocserv/ocserv.conf

修改如下

auth = "plain[/etc/ocserv/ocpasswd]"
#ocserv支持多种认证方式,这是自带的密码认证,使用ocpasswd创建密码文件
#ocserv还支持证书认证,可以通过Pluggable Authentication Modules (PAM)使用radius等认证方式

#同一个用户最多同时登陆数
max-same-clients = 10 

#证书路径
server-cert = /etc/ssl/certs/server-cert.pem
server-key = /etc/ssl/private/server-key.pem

#运行组
run-as-group = nogroup

#分配给VPN客户端的IP段
ipv4-network = 10.10.0.0

#DNS
dns = 8.8.8.8
dns = 8.8.4.4

#注释掉route的字段,这样表示所有流量都通过 VPN 发送
#route = 192.168.1.0/255.255.255.0
#route = 192.168.5.0/255.255.255.0

user-profile改为user-profile = /etc/ocserv/profile.xml
并且去掉cisco-client-compat = true的注释。

然后是/etc/ocserv/profile.xml:

cp /usr/src/ocserv-0.8.1/doc/profile.xml /etc/ocserv/

修改HostAddress为你的服务器IP地址。

创建用户

ocpasswd -c /etc/ocserv/ocpasswd username
#username为你要添加的用户名

修改系统配置,允许转发

vim /etc/sysctl.conf
#修改这行
net.ipv4.ip_forward=1
#保存退出
sysctl -p

修改 iptables 规则

你可以参考 Linode 的文章 来配置 iptables

iptables -A INPUT -d 127.0.0.0/8 -j REJECT
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -s 192.168.21.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.21.0/24 -o eth0 -j MASQUERADE //将源地址是 192.168.21.0/24 的数据包进行地址伪装
iptables -A INPUT -i lo -j ACCEPT //允许来自于lo接口的数据包
iptables -A OUTPUT -o lo -j ACCEPT //允许向lo接口发送数据包
iptables -I INPUT -p tcp --dport 443 -j ACCEPT //打开tcp和udp的443端口。ocserv使用tcp的443端口认证,udp用于传输数据。
iptables -I INPUT -p udp --dport 443 -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu //自动调整MTU
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

-A INPUT -j DROP

COMMIT

在你的 /etc/rc.local 的exit 前面加上这句 来开启 NAT

iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

保存规则:

iptables-save >/etc/iptables-script

恢复规则:

iptables-restore </etc/iptables-script

配置启动文件

现在我们需要一个脚本来管理 Ocserv
Tony用skeleton改写了一个脚本,把这个脚本放到/etc/init.d/ocserv

chmod 755 /etc/init.d/ocserv
update-rc.d ocserv defaults

就可以开机启动了。

你也可以通过

/etc/init.d/ocserv stop
/etc/init.d/ocserv start
/etc/init.d/ocserv restart

这样子来管理。

#!/bin/sh
### BEGIN INIT INFO
# Provides:          ocserv
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO
# Copyright Rene Mayrhofer, Gibraltar, 1999
# This script is distibuted under the GPL

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/ocserv
PIDFILE=/var/run/ocserv.pid
DAEMON_ARGS="-c /etc/ocserv/ocserv.conf"

case "$1" in
start)
if [ ! -r $PIDFILE ]; then
echo -n "Starting OpenConnect VPN Server Daemon: "
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS > /dev/null
echo "ocserv."
else
echo -n "OpenConnect VPN Server is already running.\n\r"
exit 0
fi
;;
stop)
echo -n "Stopping OpenConnect VPN Server Daemon: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
echo "ocserv."
rm -f $PIDFILE
;;
force-reload|restart)
echo "Restarting OpenConnect VPN Server: "
$0 stop
sleep 1
$0 start
;;
status)
if [ ! -r $PIDFILE ]; then
# no pid file, process doesn't seem to be running correctly
exit 3
fi
PID=`cat $PIDFILE | sed 's/ //g'`
EXE=/proc/$PID/exe
if [ -x "$EXE" ] &&
[ "`ls -l \"$EXE\" | cut -d'>' -f2,2 | cut -d' ' -f2,2`" = \
"$DAEMON" ]; then
# ok, process seems to be running
exit 0
elif [ -r $PIDFILE ]; then
# process not running, but pidfile exists
exit 1
else
# no lock file to check for, so simply return the stopped status
exit 3
fi
;;
*)
echo "Usage: /etc/init.d/ocserv {start|stop|restart|force-reload|status}"
exit 1
;;
esac

exit 0

Debug

ocserv -c /etc/ocserv/ocserv.conf -f -d 1

第三部分,客户端使用

1、下载客户端

使用anyconnect-win-3.0.11042-pre-deploy-k9.iso安装客户端,下载地址:http://frodo.sca.com/downloads/,大家可以跟思科官网的MD5值对比一下,我检查过了,跟官网的MD5值是一样的。
如果你用最新版的3.1.05170,会有下面的提示,不能连接到服务器,新版不支持自签名的证书。

the service provider in your current location is restricting access to the internet. you need to log on with the service provider before you can establish a vpn session. you cantry this by visiting any website with your browser.

2、导入客户端证书

Windows 7+
导入证书:

    开始菜单搜索“cmd”,打开后输入 mmc(Microsoft 管理控制台)。
    “文件”-“添加/删除管理单元”,添加“证书”单元
    证书单元的弹出窗口中一定要选“计算机账户”,之后选“本地计算机”,确定。
    在左边的“控制台根节点”下选择“证书”-“个人”,然后选右边的“更多操作”-“所有任务”-“导入”打开证书导入窗口。
    选择刚才生成的 client.cert.p12 文件。下一步输入私钥密码。下一步“证书存储”选“个人”。
    导入成功后,把导入的 CA 证书剪切到“受信任的根证书颁发机构”的证书文件夹里面。
    打开剩下的那个私人证书,看一下有没有显示“您有一个与该证书对应的私钥”,以及“证书路径”下面是不是显示“该证书没有问题”。
    然后关闭 mmc,提示“将控制台设置存入控制台1吗”,选“否”即可。

至此,证书导入完成。
注意 千万不要双击 .p12 证书导入!因为那样会导入到当前用户而不是本机计算机中。

GnuTLS error (at worker-vpn.c:732):其实就是证书有问题,重新制作证书吧,我重复做了不下五遍证书,以前在linode一样的方法一次成功,这个搬瓦工的vps硬是折腾了我好几次。

转载请注明:一秒钟的梦 » 安装配置OpenConnect VPN server AnyConnect (ocserv)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (35)

  1. chinaunix论坛 › 操作系统 › Linux新手园地 › Linux文档专区 › Iptables应用层实现机制:(iptables-1.2.7) http://bbs.chinaunix.net/thread-2087882-1-1.html
    luoqkk3年前 (2014-07-20)回复
  2. 你好!为什么我按照你的配置,运行ocserv -c /etc/ocserv/ocserv.conf -f -d 1 老是You cannot mix multiple username/password authentication methods 然后我注释掉:#auth = "plain[./sample.passwd]",又是'nknown rekey method 'ssl
    wwwoshuo3年前 (2014-07-23)回复
    • 有多个auth = “plain 或者验证密码文件路径不正确。 提示:could not connect to server. please verify internet connectivity and server address Starting OpenConnect VPN Server Daemon: You cannot mix multiple username/password authentication methods 原来是/etc/ocserv/ocserv.conf文件中下面这一行没注释掉。 auth = “plain[/etc/ocserv/ocpasswd]”
      luoqkk3年前 (2014-07-25)回复
  3. 在linode上安装 客户端提示anyconnect was not able to establish a connection to the specified secure gateway. please try connecting again. 服务器调试: GnuTLS error (at worker-vpn.c:732): The TLS connection was non-properly terminated. 无论如何也连不是啊
    wwwoshuo3年前 (2014-07-25)回复
  4. 具体如下: ocserv[19757]: worker: 222.221.240.212:33989 accepted connection ocserv[19756]: sec-mod: received request from pid 19757 and uid 65534 ocserv[19756]: sec-mod: cmd [size=55] sm: sign ocserv[19757]: GnuTLS error (at worker-vpn.c:732): The TLS connection was non-properly terminated. ocserv[19755]: main: 222.221.240.212:33989 main-misc.c:414: command socket closed ocserv[19755]: main: 222.221.240.212:33989 removing client '' with id '19757' ocserv[19758]: worker: 222.221.240.212:33990 accepted connection ocserv[19756]: sec-mod: received request from pid 19758 and uid 65534 ocserv[19756]: sec-mod: cmd [size=55] sm: sign ocserv[19758]: worker: 222.221.240.212:33990 sending message 'resume data store request' to main ocserv[19755]: main: 222.221.240.212:33990 main received message 'resume data store request' of 318 bytes ocserv[19755]: main: 222.221.240.212:33990 TLS session DB storing 24689e680eab9c8c0fcd286a645f72866b45c195d53e744a087f89add91d2da3 ocserv[19758]: worker: 222.221.240.212:33990 TLS handshake completed ocserv[19758]: worker: 222.221.240.212:33990 User-agent: 'AnyConnect Windows 3.0.3054' ocserv[19758]: worker: 222.221.240.212:33990 cannot find 'group-select' in client XML message ocserv[19758]: worker: 222.221.240.212:33990 cannot find 'group-select' in client XML message ocserv[19758]: worker: 222.221.240.212:33990 failed reading groupname ocserv[19758]: worker: 222.221.240.212:33990 cannot find 'username' in client XML message ocserv[19758]: worker: 222.221.240.212:33990 failed reading username ocserv[19755]: main: 222.221.240.212:33990 main-misc.c:414: command socket closed ocserv[19755]: main: 222.221.240.212:33990 removing client '' with id '19758' ocserv[19759]: worker: 222.221.240.212:33991 accepted connection ocserv[19759]: worker: 222.221.240.212:33991 sending message 'resume data fetch request' to main ocserv[19755]: main: 222.221.240.212:33991 main received message 'resume data fetch request' of 34 bytes ocserv[19755]: main: 222.221.240.212:33991 TLS session DB resuming 24689e680eab9c8c0fcd286a645f72866b45c195d53e744a087f89add91d2da3 ocserv[19755]: main: 222.221.240.212:33991 sending message 'resume data fetch reply' to worker ocserv[19759]: worker: 222.221.240.212:33991 TLS handshake completed ocserv[19759]: worker: 222.221.240.212:33991 User-agent: 'AnyConnect Windows 3.0.3054' ocserv[19759]: worker: 222.221.240.212:33991 cannot find 'group%5flist' in client message ocserv[19759]: worker: 222.221.240.212:33991 cannot find 'group_list' in client message ocserv[19759]: worker: 222.221.240.212:33991 failed reading groupname ocserv[19756]: sec-mod: received request from pid 19759 and uid 65534 ocserv[19759]: worker: 222.221.240.212:33991 sending message 'sm: auth init' to secmod ocserv[19756]: sec-mod: cmd [size=28] sm: auth init ocserv[19756]: sec-mod: auth init for user 'vpn' (group: '*') from '222.221.240.212' ocserv[19759]: worker: 222.221.240.212:33991 received auth reply message (value: 2) ocserv[19759]: worker: 222.221.240.212:33991 continuing authentication for 'vpn' ocserv[19759]: worker: 222.221.240.212:33991 sent sid: 86ocr9u8igm4aTiM ocserv[19755]: main: 222.221.240.212:33991 main-misc.c:414: command socket closed ocserv[19755]: main: 222.221.240.212:33991 removing client '' with id '19759'
    wwwoshuo3年前 (2014-07-25)回复
    • 其实这和你上面那个问题是一个问题,我在文章的末尾也提示了的,就是证书问题,所以ssl连接不成功,重新制作证书,正确导入客户端证书,只有证书配对成功才能成功ssl连接,不然有发送数据,接收不到数据。在服务器上看就是GnuTLS error (at worker-vpn.c:732):
      luoqkk3年前 (2014-07-26)回复
  5. 您好,执行ocserv -c /etc/ocserv/ocserv.conf -f -d 1之后,提示: listening (TCP) on 0.0.0.0:443... bind() failed: Address already in use Could not listen to any TCP ports 应该怎么办?
    lv3年前 (2014-08-21)回复
    • 没有把服务器的IP地址配置进去?
      luoqkk3年前 (2014-08-21)回复
      • profile.xml中的hostaddress?我加了啊,还有别的吗?
        lv3年前 (2014-08-21)回复
        • 你确定所有的步骤就做了?
          luoqkk3年前 (2014-08-22)回复
          • 生成可在windows中可导入的p12格式的证书,这部没做,我不用windows登录,修改 iptables 规则 没做,这不是加防火墙的么,搜到过类似情况的,不知道他怎么解决了:http://www.v2ex.com/t/125253#reply26
            lv3年前 (2014-08-22)
    • 防火墙规则肯定要加,因为要加一个转发的规则。你把 iptables 规则都加上吧。注释里的不管,也就几条规则。
      luoqkk3年前 (2014-08-22)回复
      • /etc/init.d/ocserv stop 然后:ocserv -c /etc/ocserv/ocserv.conf -f -d 1 貌似正常。。。。。 之前提示443绑定是因为服务已经开启了,太搞了。 教程顺序还可以优化一下,不过还是非常感谢,帮了大忙,手里现在没iphone没法测试。 谢谢!万分感谢!
        lv3年前 (2014-08-22)回复
        • 没有手机台式机电脑也可以使用vpn的。 windows可以用思科的客户端上网,我的问题的,断开一次后就不能再连接,而且windows8.1不能正常关机。
          luoqkk3年前 (2014-08-25)回复
  6. 教程中:修改 iptables 规则 你可以参考 Linode 的文章 来配置 iptables 这步操作我看不懂,不知道具体应该怎么做,是不是因为遗漏这步导致的错误?本人小白,只能照着一步一步来做,不懂原理,希望能回答一下,谢谢。
    lv3年前 (2014-08-21)回复
    • 有删除线的是错误的。你按照删除线下面的那个,一个一个输入,有#号的注释,不用输入,如果在命令行下一条一条输入,记得加iptables,命令看起来应该是下面这样的: iptables -A INPUT -i lo -j ACCEPT
      luoqkk3年前 (2014-08-21)回复
  7. 测试已经可以了,谢谢,万分感谢!
    lv3年前 (2014-08-22)回复
  8. 表示付费vpn无压力。。
    空城旧梦3年前 (2014-08-27)回复
  9. [root@default private]# ocserv -c /etc/ocserv/ocserv.conf -f -d 1 listening (TCP) on 0.0.0.0:443... listening (UNIX) on /var/run/ocserv-conn.socket... listening (UDP) on 0.0.0.0:443... ocserv[7639]: main: initializing control unix socket: /var/run/occtl.socket ocserv[7639]: main: initialized ocserv 0.8.8 ocserv[7640]: sec-mod: error loading file '/etc/ssl/private/server-key.pem ' ocserv[7640]: GnuTLS error (at sec-mod.c:547): Error while reading file. ocserv[7639]: main: tlslib.c:613: error loading file '/etc/ssl/certs/server-cert.pem ' ocserv[7639]: main: tlslib.c:692: error loading the certificate or key file 不知道是什么问题。证书的生成是按照教程进行的,路径也没有问题。权限是644。
    xiao3年前 (2014-11-28)回复
    • 看提示,还是证书问题呀!前面的依赖包都装了吗?GnuTLS也有提示错误呀!
      luoqkk3年前 (2014-11-28)回复
      • 您好,我也遇到同样的问题,请问怎么解决的,证书加载不了
        meixi5个月前 (03-24)回复
    • 我也是遇到这个问题,启动ocserv debug的时候报这个错:main: tlslib.c:613: error loading file '/etc/ssl/certs/server-cert.pem 一只找不到解决方法。。
      oELFo2年前 (2015-03-15)回复
      • 我pem后边多了个空格,这是血的教训。
        kexuejia2年前 (2015-09-07)回复
      • 我也是这个问题,请问怎么解决?
        meixi5个月前 (03-24)回复
  10. 我的vps上已经配置好了shadow socks ,在配置这个会冲突吗?第一部分还需要做吗?还是说可以跳过它,直接从第二部分开始?
    Monk3年前 (2014-12-15)回复
    • shadowsocks和Cisco AnyConnect并不冲突,两个都可以安装的。如果你服务器已经弄好了,可以直接从 第二部分,安装openconnect(ocserv) 这个地方开始。
      luoqkk3年前 (2014-12-16)回复
      • 有没有一键安装之类的,昨晚按照你的一步步,晕了,没成。
        monk3年前 (2014-12-16)回复
        • 我知道的,目前貌似没有一键安装脚本。主要是对linux不熟,稍为熟悉一点后应该不难。
          luoqkk3年前 (2014-12-20)回复
  11. root@vultr:~# service ocserv start * Starting ocserv ocserv Bad argument `/255.255.255.0' Try `iptables -h' or 'iptables --help' for more information. Bad argument `/255.255.255.0' Try `iptables -h' or 'iptables --help' for more information. Bad argument `/255.255.255.0' Try `iptables -h' or 'iptables --help' for more information. Skipping unknown option 'cookie-rekey-time' Parsing plain auth method subconfig using legacy format Setting 'plain' as primary authentication method Unknown user: nobody 求解决,调试了5天多了,能在PC上连接上但是无法上网
    Cololi2年前 (2015-12-22)回复
    • 防火墙iptables配置有问题,具体请百度谷歌。
      luoqkk2年前 (2015-12-23)回复
  12. 我怀疑搬瓦工的vps有些小bug,搬瓦工对付shadowsocks挺好的,做ocserv我下次会选linode
    vooom8个月前 (01-04)回复
    • linode东京节点已经废了,被大陆防火墙封了。
      luoqkk7个月前 (01-09)回复
  13. ocserv[7639]: main: initialized ocserv 0.8.8 ocserv[7640]: sec-mod: error loading file '/etc/ssl/private/server-key.pem ' ocserv[7640]: GnuTLS error (at sec-mod.c:547): Error while reading file. ocserv[7639]: main: tlslib.c:613: error loading file '/etc/ssl/certs/server-cert.pem ' ocserv[7639]: main: tlslib.c:692: error loading the certificate or key file 我怎么都解决不了这个问题,请问大神帮忙!
    meixi5个月前 (03-24)回复
  14. 你好,我用centos7.2按照这个教程下来、用帐号密码方式是可以连接的、ocserv.conf配置改为certificate连接就连不上了,anyconnect里面是 No valid certificates available for authentication.,服务器上的错误信息是 ocserv[2766]: worker: 203.82.39.214 cannot find 'group-select' in client XML message ocserv[2766]: worker: 203.82.39.214 cannot find 'group-select' in client XML message ocserv[2766]: worker: 203.82.39.214 failed reading groupname ocserv[2766]: worker: 203.82.39.214 no certificate provided for authentication ocserv[2766]: worker: 203.82.39.214 HTTP sending: 401 Unauthorized 找了很多教程了都无法实现证书登陆、恳请赐教、不胜感激
    philip2个月前 (06-12)回复
    • 好久没用过这个软件了,都已经生疏了。
      林夕2个月前 (06-21)回复