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

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

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

    优化了一下配置文件. 自己测试从原来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
    248 回复  |  直到 2019-09-21 19:44:34 +08:00
    1  2  3  
        201
    halczy   2017-11-30 09:44:16 +08:00   ♥ 1
    @xiaoun001 前天去掉了一台服务器,因为流量用完了。周末有时间到调整一下。连上又马上断开是出现了一段时间的问题。
        202
    xiaoun001   2017-11-30 13:13:09 +08:00 via iPhone
    @halczy 感动 big,谢谢!
        203
    haha71   2017-11-30 21:48:43 +08:00
    最近 openconnect 是不是被干扰了,我 3 台服务器都很不稳定,基本连得上但访问不了网页,很麻烦
        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 了。非常感谢!
        205
    xiaoun001   2017-12-01 14:45:12 +08:00   ♥ 1
    @haha71 DTLS 起来木有啊?还有 DNS 是否被墙了?
        206
    halczy   2017-12-01 15:34:48 +08:00   ♥ 1
    @xiaoun001 昨天修改了 DPD 一些配置。不再由服务器下发 DPD,直接用客户端默认。 你用 7.08 版再试试吧。
        207
    halczy   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
        208
    xiaoun001   2017-12-01 23:01:47 +08:00
    @halczy 今天其它版本不重连了,能稳定开启 DTLS。但是,7.08 版本还是有问题,估计是本身 BUG 了,算啦,不纠结啦。谢谢!
        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.
        210
    halczy   2017-12-03 21:40:35 +08:00
    @junxiqqq apt-get 的好像有这个问题,建议删除并清楚干净后用源码编译安装。嫌麻烦的话网上有一键安装的脚本。
        211
    junxiqqq   2017-12-03 22:10:59 +08:00
    @halczy 谢谢楼主的回复!
    刚才无意中发现了原因,但没法解释为什么会这样:
    apt-get 安装之后,ocserv.service 里有 require=ocserv.socket
    把这句注释掉,重新 systemctl disable/enable ocserv
    然后就 DTLS 了。。。明媚了~
        212
    xiaoun001   2017-12-04 11:16:27 +08:00
    @junxiqqq 我前几天 debian 也遇到了这个问题,死活 DTLS 起不来,看日志那个 IPv6 地址稀奇古怪的。就强制把系统 IPV6 栈给禁用了,结果 DTLS 起来了。
        213
    youwei5683   2017-12-05 14:04:14 +08:00
    @halczy 您好,我用 openwrt 的 openconnect 连接您的和我的服务器都报以下错误,请问应该如何排查。
    [email protected]:/# 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)
        214
    halczy   2017-12-05 22:08:37 +08:00
    @youwei5683
    openconnect https://any.omicronplus.com --servercert sha1:5e407e6524e4415be1102f9075d6a4597219d5de
        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.
        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 ),要多刷好几次才出来。真不明白是什么原理。大神能够指点一二。
        217
    halczy   2017-12-18 11:56:13 +08:00   ♥ 1
    @xiaoun001 OCSERV 好像不能推送 IPV6 DNS 到客户端
        218
    xiaoun001   2017-12-28 22:33:00 +08:00
    @halczy 经过折腾,终于找到 ipv6 不通的原因,是默认路由的问题。 关于 IPv6 DNS ,我在 OCSERV 上强制指定了一个 DNS,这个 DNS 是基于 DNSmasq 搭建的智能转发服务器,真正 DNS 设置在 DNSmasq 里面,现在差不多都是双栈 DNS,DNS 问题解决了。
    我有一个新问题: 你的 VPS IPv6 流量(运营商)计费不?
        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 值?
        220
    horizonl   2018-01-18 19:55:35 +08:00
    用一键脚本自搭了个 ocserv,证书登录,翻了好久没看到证书登录时咋分组使用。
        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 的地址,试了一下,的确成功了。
        222
    ioiioi   2018-03-30 11:40:49 +08:00
    ocserv 的部署各显神通,有没有比较好的实践( best practice ),比如说,我在 windows 中安装了 anyconnect,但是没有 dnsmasq,这时候只能用 ocserv 下发的 dns,但是 8.8.8.8 又解决不了国内 cdn 的解析,得绕道。
    有没有好的部署方式推荐?
        223
    ioiioi   2018-03-30 11:55:58 +08:00
    @xiaoun001 好复杂,你有没有把这些实施步骤写 blog,我想学习学习。
        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 多自开发脚本 实现自动运维,关键就是太折腾,折腾提升技术。 不过回头想,花这么多精力,值得吗?
        225
    liuyinltemp   2018-04-26 13:09:41 +08:00
    厉害,不过确实 anyconnenct 部署要比其他的复杂多了,学习一下
        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
    大神好,这种错误怎么解决的呢?
        227
    fvladlpa   352 天前
    @halczy 请问楼主,我自己建的服务器总是遇到一个问题就是能连上,但是上着上着就什么都打不开了。国内和国外都打不开,只有微信还能上,必须要断开 VPN 重新连才可以。有的时候设置是连上 VPN 直接就上不了需要断开重连。请问楼主是什么问题呢?是 MTU 的问题吗,iptables 里面我没有添加这条 iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
        228
    halczy   352 天前
    @fvladlpa

    try-mtu-discovery = false

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

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

    如果没有报错,那就是 udp port 是通的。
        236
    danwang929   288 天前
    @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 端口到底是不是开通的了。
        237
    danwang929   286 天前
    @halczy 大神,我自己检查出来原因了,可能是版本的问题,0.12.1 版本的安装上就不能用 dtls。但是我安装 0.10.4 版本的就可以开启。麻烦您了。谢谢~
        238
    BJZdqe   281 天前
    @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.但是不太理解,麻烦提供点建议,谢谢。
        239
    halczy   281 天前
    @BJZdqe 有可能是你使用的网络的内网地址和我分配是同一个网段。换一个网络试试会不会出现同样问题。
        240
    BJZdqe   280 天前
    @halczy 我是公司的 VPN,我在百度查这个报错,搜到你这边来的。谢谢你的建议,我试试看
        241
    Love4Taylor   264 天前
    ocserv 0.12.3 使用最新 AnyConnect Android 似乎无法连上 DTLS 只能 TLSv1.2 很迷.
        242
    halczy   263 天前
    @Love4Taylor 刚刚试了,好像没什么问题。能建立 DTLS。建议试多几次吧。
        243
    Love4Taylor   263 天前 via Android
    @halczy 我这试了好多次都不行, 你的配置还是帖子里那个链接没变吧?
        244
    Love4Taylor   263 天前
    找到原因了是客户端不兼容 Android Q...
        245
    site2019   234 天前
    大佬在 ubuntu 或 debian 怎么做 0.12.2----0.12..3 版本方案 需要安装那些东西折腾多天毫无成果帮助下 如果可以私信我
        246
    striker99   226 天前
    首先感谢楼主!
    特地创了个号过来提问,我安装 ocserv 的时候 提示输入网卡 端口 用户 密码 全都用默认的话无错,改了其中一项就会启动不成功 这是什么情况?求解
        247
    notgood   75 天前
    @halczy V 友,我 iOS 上 1 用你分享的连接成功了,前几分钟能开谷歌,但没过多久就打不开谷歌,anyconect 还显示连接
        248
    notgood   75 天前
    @halczy 是不是被干扰了?-謝谢
    1  2  3  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3112 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 10:25 · PVG 18:25 · LAX 02:25 · JFK 05:25
    ♥ Do have faith in what you're doing.