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

Anyconnect Virtual Router

  •  
  •   mckelvin ·
    mckelvin · 2015-09-07 20:44:58 +08:00 · 5900 次点击
    这是一个创建于 3347 天前的主题,其中的信息可能已经有所发展或是发生改变。
    AnyConnect 是 Cisco 推出的一款网络工具客户端,横跨 OS X / iOS / Linux / Windows 等平台。
    它非常好用如果你知道我在说什么的话,但是也有一些问题。最大的问题是使用这个客户端后只能使用 Anyconnect 服务端推送的有限条路由表推送,而且不允许用户自定义路由表,这对我的工作生活造成了不少困扰。于是我写了这个 Anyconnect Virtual Router, 其中使用的 AnyConnect 客户端程序来自 http://www.asc.edu/downloads/CiscoVPN/anyconnect/ . 这个虚拟路由顺便自带了比较机智的 DNS 功能。希望这个工具对 AnyConnect 用户有帮助。

    项目使用的工具包括 Vagrant, VirtualBox, Ansible .


    GitHub: https://github.com/mckelvin/anyconnect-virtual-router
    LazyZhu
        1
    LazyZhu  
       2015-09-07 20:53:30 +08:00
    感谢,win 版有办法 hack 吗?
    mckelvin
        2
    mckelvin  
    OP
       2015-09-07 20:58:13 +08:00
    @LazyZhu Anyconnect Virtual Router 是一个 Linux 虚拟机,配置好后你的任何操作系统都可以直接连它。如果你是说如果直接在客户端层次上 hack 的话可以参考 http://superuser.com/questions/284709/how-to-allow-local-lan-access-while-connected-to-cisco-vpn 我的主要工作也是基于这个链接来的。
    alect
        3
    alect  
       2015-09-07 23:41:33 +08:00
    xream
        4
    xream  
       2015-09-07 23:50:34 +08:00 via iPhone
    openconnect 加 vpnc-script 就行啊
    mckelvin
        5
    mckelvin  
    OP
       2015-09-08 00:14:46 +08:00 via iPad
    @xream 天啦噜!难道又造轮子了吗?!明天试试
    humiaozuzu
        6
    humiaozuzu  
       2015-09-08 00:22:07 +08:00
    ShadowVPN for iOS 内测已经用了好久了 =。=
    支持 chnroute 动态路由,国内外网站区分 DNS 解析,连接无状态(秒连 VPN ),网络状态切换自动重连
    明天应该 iOS 9 发布正式版了,就可以普及了
    skydiver
        7
    skydiver  
       2015-09-08 00:23:57 +08:00
    https://github.com/mckelvin/anyconnect-virtual-router/commit/3178582c34acbed28f4eef58c1ce5d52d4cc3b0c

    111111111111111111111111[]111111111111111111111111 是什么鬼。。
    kappa
        8
    kappa  
       2015-09-08 00:33:10 +08:00
    @humiaozuzu 这个估计也没戏了吧, clowindy 得自保
    popok
        9
    popok  
       2015-09-08 01:02:57 +08:00 via iPhone
    哈哈,看到你啦
    49
        10
    49  
       2015-09-08 06:17:39 +08:00 via Android
    @humiaozuzu 我沓马在 Twitter 上看 windy 的开发进度,日盼夜盼,结果出了这档子事儿,功败垂成。
    yanest
        11
    yanest  
       2015-09-08 08:45:44 +08:00
    可以做成 docker 镜像吗
    akring
        12
    akring  
       2015-09-08 09:49:40 +08:00
    @humiaozuzu 貌似 C 大已经被河蟹了, Github 上代码都没了
    humiaozuzu
        13
    humiaozuzu  
       2015-09-08 10:01:28 +08:00
    @49
    @akring 所以并没有推广出来用的打算,私有的才能用的久 =。=
    cielpy
        14
    cielpy  
       2015-09-08 10:16:56 +08:00
    @humiaozuzu 出事了,不会继续开发,而且现在 ShadowVPN 似乎还很不稳定。
    mckelvin
        15
    mckelvin  
    OP
       2015-09-08 11:21:14 +08:00
    @yanest 之前尝试用 docker ,封装的时候发现有些问题, /dev/net/tun 挂进 container 发现 anyconnect 不能工作就作罢了。另一方面 Docker 不能原生支持 OS X (而是通过一个 Linux 虚拟机中转),想在 OS X 下把一个 docker container 当路由得弄 2 个 bridge (host - virtualbox - container ),最后我就放弃了。你可以尝试下用 @xream 提到的 openconnect 封装。

    @skydiver 高墙之下的一个老鼠洞
    cattyhouse
        16
    cattyhouse  
       2015-09-08 13:57:50 +08:00
    @humiaozuzu 求内测。。。
    cattyhouse
        17
    cattyhouse  
       2015-09-08 14:00:04 +08:00   ❤️ 1
    可以说 lz 在造轮子, mac 上还是不要用 anyconnect 这个垃圾客户端吧,直接 brew openconnect ,然后:
    1 优化 openconnect 的 vpncscript 脚本: https://gist.github.com/cattyhouse/f3e2d1621e731ea7e26f
    2 全自动 chnroute : https://github.com/cattyhouse/chnroute-automation-mac

    搞定,不需要服务端推路由过来。
    cattyhouse
        18
    cattyhouse  
       2015-09-08 14:03:04 +08:00
    如果 lz 用的不是 Mac ,当我没发过。。。 不过其思路还是可以用于其它平台的。
    mckelvin
        19
    mckelvin  
    OP
       2015-09-08 15:18:42 +08:00
    @cattyhouse 嘿还真是!看来我可以利用下 openconnect 精简下 Vagrant Box 了!
    cattyhouse
        20
    cattyhouse  
       2015-09-08 15:33:02 +08:00
    @mckelvin 我说,,没必要再搞虚拟机吧。。。直接在真机上搞啊, openconnect 各种平台都支持啊,除了 iOS 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:05 · PVG 03:05 · LAX 11:05 · JFK 14:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.