Ant-Veil

Caspar Blog

Gentoo KDE 下折腾 OpenConnect

| Comments

最近呢,推上某奸商推出了 AnyConnect 套餐,这对广大翻墙群众来说绝对是个利好消息啊,可以自动配路由的东东。我毫不犹豫去把自己的绝版廉价套餐换成了 100 元的套餐,然后开始折腾 AnyConnect 配置。

iOS 上配置十分简单,找到 Cisco AnyConnect 这个 App 就搞定。Linux 下要把它配置得很舒服,着实花了一番功夫。

公司 VPN 用的也是 AnyConnect,我就继续用着公司的客户端(Cisco AnyConnect Secure Mobility Client), 直到今天早上我修复了笔记本上的无线网,机器有了两个 IP 为止。有了两个 IP 的 AnyConnect service 居然 segfault 了,看了一下 debug 信息,我觉得对这种闭源工具我还是别折腾了。直接换开源方案 OpenConnect.

Portage 里搜了一下,openconnect 有两个包,networkmanager-openconnect 有 libkeyring-gnome 依赖,我现在是个有洁癖的 KDE 党,果断不能装啊,于是用第二个, openconnect 命令行版…… 不行,不能这么罗里八嗦,反正最后折腾结果如下:

  1. 只用命令行的话,Portage 里的 openconnect-5.99* 版本可用,配好 /etc/conf.d/openconnect 就可以了;
  2. 需要配合 KDE plasma 插件 networkmanagement (0.9+版本) 的话,就必须得装 NetworkManager-openconnect 了。事实证明,libkeyring-gnome 依赖是可以去掉的。我修改了 Portage 文件,放到我自己的 Overlay 里了。
  3. 另外 openconnect-5.99* 版本会导致 networkmanagement 带了 openconnect flag 之后编译失败,只能回退到 5.03 版本。 networkmanagement 已经 deprecated 了,用 plasma-nm 代替,最新版本没有编译问题。
  4. openconnect-5.03 版本也是有问题的,openconnect 命令执行后,如果从终端输入密码,需要先按一个回车,再输入一遍。所以配置文件中的 tmp_SERVER <<-E 后面需要加一个空行,否则 daemon 永远启动失败,因为接收不到密码。 换了最新的 openconnect-5.99 之后,没问题了。

就这些。配好之后,既可以用 NM 的 GUI 连,也可以起服务连。从此过上了永不断网(某奸商广告语)的生活~

Comments