V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
halczy
V2EX  ›  分享创造

尝试优化了一下 AnyConnect(ocserv)的配置, 欢迎大家测试.

  •  8
     
  •   halczy ·
    halczy · 2015-01-03 09:41:29 +08:00 · 91065 次点击
    这是一个创建于 3407 天前的主题,其中的信息可能已经有所发展或是发生改变。

    优化了一下配置文件. 自己测试从原来1Mbps不到的速度提升到5Mbps左右. 通过iperf测试 电信到服务器的单线带宽是应该有20Mbps左右. 不知道大家有用ocserv架的AnyConnect使用情况是怎么样呢?

    欢迎大家测试一下, 看看速度如何.
    服务器地址: omicronpersei8.ml
    帐号: v2ex
    密码: v2ex
    高级选项 -> 网络漫游: 打开 (打开后可以自由切换网络不断线, 一天內断网自动重连)

    第 1 条附言  ·  2015-01-03 16:08:47 +08:00
    电信出口又开始大范围丢包了, 所以现在会很慢. 大家可以改天再试. 帐号我会尽量保持开通, 除非是有人故意捣乱.
    第 2 条附言  ·  2015-05-19 18:14:14 +08:00
    因原域名故障, 服务器地址改为: any.omicronplus.com
    第 3 条附言  ·  2022-03-23 08:51:17 +08:00
    因为先前服务器下发配置有误,部分客户端获取了错误的配置后,出现了无法访问等报错。如果出现了这个问题,可以试着删除原有的配置,再重新连接服务器。

    配置文件地址
    Windows:
    %ProgramData%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile

    Mac OS X:
    /opt/cisco/anyconnect/profile

    Linux:
    /opt/cisco/anyconnect/profile
    第 4 条附言  ·  2022-11-10 14:44:38 +08:00
    22 年 10 月左右所有服务器的 IPv4 都被封了,即便更换端口也会几分钟内封掉。这个也不清楚什么时候能够放出来。目前 IPv6 还是能够正常链接的。例如国内三大运营商的手机网络默认都会配有 IPv6 ,在手机上可以直接使用。家庭网络的话,注意路由器开放 IPv6 下发。
    256 条回复    2023-08-13 16:17:31 +08:00
    1  2  3  
    halczy
        201
    halczy  
    OP
       2017-11-30 09:44:16 +08:00   ❤️ 1
    @xiaoun001 前天去掉了一台服务器,因为流量用完了。周末有时间到调整一下。连上又马上断开是出现了一段时间的问题。
    xiaoun001
        202
    xiaoun001  
       2017-11-30 13:13:09 +08:00 via iPhone
    @halczy 感动 big,谢谢!
    haha71
        203
    haha71  
       2017-11-30 21:48:43 +08:00
    最近 openconnect 是不是被干扰了,我 3 台服务器都很不稳定,基本连得上但访问不了网页,很麻烦
    xiaoun001
        204
    xiaoun001  
       2017-12-01 14:44:20 +08:00
    @halczy 大神,你好。我今天用 centos7.4 + openconnect-devel-7.06-1.el7.x86_64 + openconnect-7.06-1.el7.x86_64 重建了客户端环境,故障已消除,目前一切正常,谢谢!估计前述问题就是 openconnect-7.08 自带 BUG 了。非常感谢!
    xiaoun001
        205
    xiaoun001  
       2017-12-01 14:45:12 +08:00   ❤️ 1
    @haha71 DTLS 起来木有啊?还有 DNS 是否被墙了?
    halczy
        206
    halczy  
    OP
       2017-12-01 15:34:48 +08:00   ❤️ 1
    @xiaoun001 昨天修改了 DPD 一些配置。不再由服务器下发 DPD,直接用客户端默认。 你用 7.08 版再试试吧。
    halczy
        207
    halczy  
    OP
       2017-12-01 15:37:19 +08:00   ❤️ 2
    @haha71 没有发现有这个现象。可能是线路不好或者 MTU 问题。

    sudo iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    xiaoun001
        208
    xiaoun001  
       2017-12-01 23:01:47 +08:00
    @halczy 今天其它版本不重连了,能稳定开启 DTLS。但是,7.08 版本还是有问题,估计是本身 BUG 了,算啦,不纠结啦。谢谢!
    junxiqqq
        209
    junxiqqq  
       2017-12-03 21:31:49 +08:00
    @halczy 楼主,请教下,我的 DTLS 老是起不起来,怎么折腾都跑 TLS, 应该怎么去检查?非常感谢!
    ocserv 0.11.6, Debian 9.2, apt-get 安装的, 防火墙已关, 客户端 win10 anyconnect, 连楼主的服务器能跑 DTLS.
    halczy
        210
    halczy  
    OP
       2017-12-03 21:40:35 +08:00
    @junxiqqq apt-get 的好像有这个问题,建议删除并清楚干净后用源码编译安装。嫌麻烦的话网上有一键安装的脚本。
    junxiqqq
        211
    junxiqqq  
       2017-12-03 22:10:59 +08:00
    @halczy 谢谢楼主的回复!
    刚才无意中发现了原因,但没法解释为什么会这样:
    apt-get 安装之后,ocserv.service 里有 require=ocserv.socket
    把这句注释掉,重新 systemctl disable/enable ocserv
    然后就 DTLS 了。。。明媚了~
    xiaoun001
        212
    xiaoun001  
       2017-12-04 11:16:27 +08:00
    @junxiqqq 我前几天 debian 也遇到了这个问题,死活 DTLS 起不来,看日志那个 IPv6 地址稀奇古怪的。就强制把系统 IPV6 栈给禁用了,结果 DTLS 起来了。
    youwei5683
        213
    youwei5683  
       2017-12-05 14:04:14 +08:00
    @halczy 您好,我用 openwrt 的 openconnect 连接您的和我的服务器都报以下错误,请问应该如何排查。
    root@DingYongbin-Route:/# openconnect any.omicronplus.com
    POST https://any.omicronplus.com/
    Connected to 23.228.222.142:443
    SSL negotiation with any.omicronplus.com
    Connected to HTTPS on any.omicronplus.com
    XML POST enabled
    Please enter your username.
    Username:v2ex
    POST https://any.omicronplus.com/auth
    Please enter your password.
    Password:
    POST https://any.omicronplus.com/auth
    Got CONNECT response: HTTP/1.1 200 CONNECTED
    CSTP connected. DPD 600, Keepalive 32400
    Connected as 172.16.100.183 + 2001:470:f256:b3a0:4a76:850f:c975:5b29/128, using SSL
    SSL read error: Success.; reconnecting.
    SSL negotiation with any.omicronplus.com
    Connected to HTTPS on any.omicronplus.com
    Got CONNECT response: HTTP/1.1 200 CONNECTED
    Reconnect gave different Legacy IP address (172.16.100.204 != 172.16.100.183)
    sleep 10s, remaining timeout 300s
    SSL negotiation with any.omicronplus.com
    Connected to HTTPS on any.omicronplus.com
    Got CONNECT response: HTTP/1.1 200 CONNECTED
    Reconnect gave different Legacy IP address (172.16.100.196 != 172.16.100.204)
    sleep 20s, remaining timeout 290s
    SSL negotiation with any.omicronplus.com
    Connected to HTTPS on any.omicronplus.com
    Got CONNECT response: HTTP/1.1 200 CONNECTED
    Reconnect gave different Legacy IP address (172.16.100.71 != 172.16.100.196)
    halczy
        214
    halczy  
    OP
       2017-12-05 22:08:37 +08:00
    @youwei5683
    openconnect https://any.omicronplus.com --servercert sha1:5e407e6524e4415be1102f9075d6a4597219d5de
    youwei5683
        215
    youwei5683  
       2017-12-06 11:48:10 +08:00
    又有新的错误了。
    Connected as 172.16.100.18 + 2001:470:f04c:88f1:675b:b057:db9c:7052/64, using SSL
    Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(PSK)-(AES-256-GCM).
    Script '/lib/netifd/vpnc-script' returned error 1
    Script '/lib/netifd/vpnc-script' returned error 1
    Failed to write incoming packet: I/O error
    ^CSend BYE packet: Aborted by caller
    Script '/lib/netifd/vpnc-script' returned error 1
    User cancelled (SIGINT); exiting.
    xiaoun001
        216
    xiaoun001  
       2017-12-17 20:29:16 +08:00
    @halczy 大神,我用 he.net 建立了 IPv6 隧道,ping 任意公开 ipv6 地址能通。 设上 ipv6 dns 后,却不能够访问 youtube/google,能够访问国内的一些 ipv6 测试站点。 不设置 ipv6dns 时候,用 firefox/chrome 访问 google/youtube,有的时候能够出来,有的时候不出来(走 IPV6 ),要多刷好几次才出来。真不明白是什么原理。大神能够指点一二。
    halczy
        217
    halczy  
    OP
       2017-12-18 11:56:13 +08:00   ❤️ 1
    @xiaoun001 OCSERV 好像不能推送 IPV6 DNS 到客户端
    xiaoun001
        218
    xiaoun001  
       2017-12-28 22:33:00 +08:00
    @halczy 经过折腾,终于找到 ipv6 不通的原因,是默认路由的问题。 关于 IPv6 DNS ,我在 OCSERV 上强制指定了一个 DNS,这个 DNS 是基于 DNSmasq 搭建的智能转发服务器,真正 DNS 设置在 DNSmasq 里面,现在差不多都是双栈 DNS,DNS 问题解决了。
    我有一个新问题: 你的 VPS IPv6 流量(运营商)计费不?
    blackantt
        219
    blackantt  
       2018-01-01 22:57:01 +08:00
    @halczy 在 openwrt 上装了个 openconnect 的 client, 但是其中一项要填 VPN Server's certificate SHA1 hash 这个值,1. 这个值在哪得到? 2. 似乎你的 server 用的是 sha 256 ? 该怎么填这个 sha1 值?
    horizonl
        220
    horizonl  
       2018-01-18 19:55:35 +08:00
    用一键脚本自搭了个 ocserv,证书登录,翻了好久没看到证书登录时咋分组使用。
    xiaoun001
        221
    xiaoun001  
       2018-01-31 15:14:37 +08:00
    @halczy 我打了 IPV6 隧道,用的是 IPV4 的 DNS,DNS 走隧道,其它走 HE.NET 6IN4 山隧道,yb ,go0gle ipv6 都能正常访问,很快,能够解析 IPV6 的地址,很多网站能够正常,一些不正常的,本身也没有需求。 移动客户端(苹果) IPV6 也正常了。无意中在哪里看到说分配 64 前缀的地址给客户端就会正常,申请了一块 /48 的地址,试了一下,的确成功了。
    ioiioi
        222
    ioiioi  
       2018-03-30 11:40:49 +08:00
    ocserv 的部署各显神通,有没有比较好的实践( best practice ),比如说,我在 windows 中安装了 anyconnect,但是没有 dnsmasq,这时候只能用 ocserv 下发的 dns,但是 8.8.8.8 又解决不了国内 cdn 的解析,得绕道。
    有没有好的部署方式推荐?
    ioiioi
        223
    ioiioi  
       2018-03-30 11:55:58 +08:00
    @xiaoun001 好复杂,你有没有把这些实施步骤写 blog,我想学习学习。
    xiaoun001
        224
    xiaoun001  
       2018-04-07 11:37:22 +08:00 via iPhone
    @ioiioi 搞好后就几个月一直没有动了。 因为时间关系,没有写专门的东西,我的私家博客 https://toplz.net (搭建于树莓派 3,上述所有环境也都迁移在上面了,性能有些弱,一人玩玩还是够的) 收藏了很多技术贴,可以寻得其中技术轨迹。 其实也没啥复杂的,就是费功夫。 主要涉及 ocserv , he.net ipv6 隧道,openconnect 客户及具体参数,zebra 路由,dnsmasq 轻量级路由 ,免费 ssl 证书,iptables 防火墙策略,ip route2 路由策略方面。 这些就可以实现了。 当然了,如果还要架站,就需要 dnspod ddns,我还做了 Dlna , samba,xware 下载等。用 N 多自开发脚本 实现自动运维,关键就是太折腾,折腾提升技术。 不过回头想,花这么多精力,值得吗?
    liuyinltemp
        225
    liuyinltemp  
       2018-04-26 13:09:41 +08:00
    厉害,不过确实 anyconnenct 部署要比其他的复杂多了,学习一下
    moksa
        226
    moksa  
       2018-07-18 23:06:39 +08:00
    Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(PSK)-(AES-256-GCM).
    DTLS connection compression using LZS.
    Script '/lib/netifd/vpnc-script' returned error 1
    Script '/lib/netifd/vpnc-script' returned error 1
    Failed to write incoming packet: I/O error
    Failed to write incoming packet: I/O error
    Failed to write incoming packet: I/O error
    Failed to write incoming packet: I/O error
    Failed to write incoming packet: I/O error
    大神好,这种错误怎么解决的呢?
    fvladlpa
        227
    fvladlpa  
       2018-12-19 12:44:11 +08:00
    @halczy 请问楼主,我自己建的服务器总是遇到一个问题就是能连上,但是上着上着就什么都打不开了。国内和国外都打不开,只有微信还能上,必须要断开 VPN 重新连才可以。有的时候设置是连上 VPN 直接就上不了需要断开重连。请问楼主是什么问题呢?是 MTU 的问题吗,iptables 里面我没有添加这条 iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    halczy
        228
    halczy  
    OP
       2018-12-19 13:01:07 +08:00
    @fvladlpa

    try-mtu-discovery = false

    试试设置里面把 mtu-discovery 关掉
    notgood
        229
    notgood  
       2019-02-04 18:34:38 +08:00 via iPhone
    @halczy 谢谢大佬的 anyconnect
    danwang929
        230
    danwang929  
       2019-02-15 15:02:05 +08:00
    楼主您好,我自己搭建好了 ocserv-0.12 ,可以连接上,但是电脑和手机连接上使用的协议是 tlsv1.2。死活就是不能用 dtls。现在已经参照在论坛里面指点其他人的方法,主要如下:
    注释掉 #switch-to-tcp-timeout = 25,dpd 和 mobile-dpd 改小一点,设置 tunnel-all-dns = false。
    但是还是不能使用 dtls,请问一下还有可以有什么地方出错吗?需要我贴出来什么东西帮助您分析? tcp/udp 端口使用的是同一个,防火墙也开启了相应的端口。
    请您指点一下。
    halczy
        231
    halczy  
    OP
       2019-02-16 06:56:24 +08:00 via Android
    @danwang929 设置估计没什么问题。DTLS 建立不了一般是 MTU 问题。你先用 Cisco 客户端在不同网络环境下测试一下,看看能不能建立。
    danwang929
        232
    danwang929  
       2019-02-18 16:08:34 +08:00
    @halczy 我用家里的网、公司的网、自己的流量都测试过了,都不行。重新搭建了无数次也解决不了。不知道 mtu 有啥问题了?
    halczy
        233
    halczy  
    OP
       2019-02-18 16:14:06 +08:00
    @danwang929 是否能确定服务器的 UDP Port 是通的?
    danwang929
        234
    danwang929  
       2019-02-18 16:47:53 +08:00
    @halczy 请教一下,有没有什么简单的方法测试这个 udp port ?百度里面的东西看不懂
    halczy
        235
    halczy  
    OP
       2019-02-18 17:27:01 +08:00
    @danwang929 我习惯是用 iperf3

    先安装 sudo apt install iperf3
    服务器执行 iperf3 -s -p UDP 端口号
    客户端的命令行执行 iperf3 -c 服务器 IP -R -u -p UDP 端口号

    如果没有报错,那就是 udp port 是通的。
    danwang929
        236
    danwang929  
       2019-02-21 16:21:13 +08:00
    @halczy
    首先,我采用的是网上教的方法:
    我在 xshell1 中运行:tcpdump -i eth0 udp port 123 -vv -X。
    在 xshell2 中发送:nc -u 服务器 IP 123,发送数据时可以看到 xshell1 中有数据产生,发送多少,产生多少。
    测试结果说明 udp 是可以连通的。

    然后我用您教的 iperf3 测试,出现了两个情况。

    1.当 tcp 和 udp 是一个端口时,在服务器运行您给的 iperf3,提示:
    error - unable to start listener for connections: Address already in use.
    不理会上面的,我用 win10 的 cmd 运行 iperf3 提示:
    error - unable to receive control message: Connection reset by peer

    2.我把 udp 端口更改成其他的,在服务器端运行 iperf3 没有问题。
    在电脑 cmd 中运行,提示:error - unable to connect to server: Connection timed out.

    现在我也不知道我的 udp 端口到底是不是开通的了。
    danwang929
        237
    danwang929  
       2019-02-23 11:36:58 +08:00
    @halczy 大神,我自己检查出来原因了,可能是版本的问题,0.12.1 版本的安装上就不能用 dtls。但是我安装 0.10.4 版本的就可以开启。麻烦您了。谢谢~
    BJZdqe
        238
    BJZdqe  
       2019-02-28 11:31:00 +08:00
    @halczy 大大您好 我也碰到了 @kang000feng 的问题“ The VPN client was unable to modify the IP forwarding table ”。Cisco AC 版本:4.6.1103.0 ; OS:Win10 1709。思科社区( https://community.cisco.com/t5/vpn-and-anyconnect/anyconnect-unable-to-modify-the-ip-forwarding-table/td-p/2115511 )上面建议是重启电脑或设备-_-||。有一个对于 Mac OS 的建议是:You should also check, that VPN does not give same DNS server IP that you have manually entered via Network settings for your adapter. Same error occurs also in that case.但是不太理解,麻烦提供点建议,谢谢。
    halczy
        239
    halczy  
    OP
       2019-02-28 11:52:21 +08:00
    @BJZdqe 有可能是你使用的网络的内网地址和我分配是同一个网段。换一个网络试试会不会出现同样问题。
    BJZdqe
        240
    BJZdqe  
       2019-03-01 15:54:39 +08:00
    @halczy 我是公司的 VPN,我在百度查这个报错,搜到你这边来的。谢谢你的建议,我试试看
    Love4Taylor
        241
    Love4Taylor  
       2019-03-17 16:11:41 +08:00
    ocserv 0.12.3 使用最新 AnyConnect Android 似乎无法连上 DTLS 只能 TLSv1.2 很迷.
    halczy
        242
    halczy  
    OP
       2019-03-17 19:34:36 +08:00
    @Love4Taylor 刚刚试了,好像没什么问题。能建立 DTLS。建议试多几次吧。
    Love4Taylor
        243
    Love4Taylor  
       2019-03-17 20:00:46 +08:00 via Android
    @halczy 我这试了好多次都不行, 你的配置还是帖子里那个链接没变吧?
    Love4Taylor
        244
    Love4Taylor  
       2019-03-17 21:48:57 +08:00
    找到原因了是客户端不兼容 Android Q...
    site2019
        245
    site2019  
       2019-04-16 04:49:54 +08:00
    大佬在 ubuntu 或 debian 怎么做 0.12.2----0.12..3 版本方案 需要安装那些东西折腾多天毫无成果帮助下 如果可以私信我
    striker99
        246
    striker99  
       2019-04-24 02:18:01 +08:00
    首先感谢楼主!
    特地创了个号过来提问,我安装 ocserv 的时候 提示输入网卡 端口 用户 密码 全都用默认的话无错,改了其中一项就会启动不成功 这是什么情况?求解
    notgood
        247
    notgood  
       2019-09-21 19:43:39 +08:00
    @halczy V 友,我 iOS 上 1 用你分享的连接成功了,前几分钟能开谷歌,但没过多久就打不开谷歌,anyconect 还显示连接
    notgood
        248
    notgood  
       2019-09-21 19:44:34 +08:00
    @halczy 是不是被干扰了?-謝谢
    azureaz
        249
    azureaz  
       2022-02-17 16:57:33 +08:00
    作者貌似经常换 VPS ,有 Veesp, Melbicom, SkyHost ,我也试了试线路质量还不错,像这种用途的就应该避免大众的服务商,搬瓦工之类的除非是建网站,否则必定是重点观察监视对象
    yushen
        250
    yushen  
       2022-02-20 18:25:08 +08:00
    怎么联系楼主您呢?我有一个教程,做出来的速度不快,别人做的就快,需要网络优化。但是我对这个是不懂,怎么办呢?你可以帮忙吗
    chankenvin
        251
    chankenvin  
       2022-05-08 12:25:15 +08:00
    @azureaz 请问这是如何查询的?
    chankenvin
        252
    chankenvin  
       2022-05-08 12:26:22 +08:00
    @yushen 可以分享一下吗? thx
    xiaoun001
        253
    xiaoun001  
       2023-01-15 00:07:05 +08:00
    非常非常感谢!真的一个非常好的服务,突然某一天发现没了。通过这张帖子,我了解到 OCSERV ,并尝试自己开服务搭建 OCSERV ,稳定运行了很多年。也是在去年底,自己简单的用用就会被 BAN 掉端口,换个端口也没管不了多久,苟延残喘。感谢楼主这么多年的辛苦和无私的付出,真的感谢。我还会继续关注。
    azureaz
        254
    azureaz  
       2023-02-23 23:14:28 +08:00
    @chankenvin Melbicom ,这家位于立陶宛的 VPS 服务商有时候会改路由,价格低廉,仅用作科学上网还行。建议月付,季付、半年付和年付没有任何优惠。
    lion
        255
    lion  
       268 天前
    时隔八年大佬的公益项目依然存在,只是 anyconnect 客户端已经很久不更新了。

    感谢大佬的服务,衷心祈祝大佬身体、生活、工作都能美满顺心
    azureaz
        256
    azureaz  
       263 天前
    虽然使用 ocserv 科学上网已经远远没有两年前稳定,但作者从 2015 年以来的共享精神真的让我印象深刻。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   782 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.