Tag Archives: openvpn

把 E4200 变成一个 OpenVPN 网关

前一段时间以很便宜的价格($60)入手了一个官翻版 Cisco Linksys E4200 v1 路由器,准备作为 OpenVPN 的客户端网关为家里提供一个美国 IP,今天有时间折腾了一下,非常顺利就成功了,简单记录一下过程。 首先是固件选择,肯定得用第三方固件,之前一直用 DD-WRT,但是觉得有些臃肿,所以这次改用 Tomato 的一个 fork:TomatoUSB,这个分支加入了 USB 支持等新特性,已经有支持 E4200 的版本,而且有带 OpenVPN 的版本。主流 Linux 发行版中配置 OpenVPN 的方法请参考这篇文章。 我选择的是 tomato-E4200USB-NVRAM60K-1.28.20111009MIPSR2-beta-tomato-RT-N-GIT-VPN.bin,从名字就可以看出是基于 2.6 Kernel,带有 USB 和 VPN 支持的版本。 直接在 web 管理界面的升级固件里面选择下载的 .bin 文件,确认即可,升级过程大概需要2分钟。 路由器重启完毕后之前的 IP 和 … Continue reading

Posted in 我的工作学习 | Tagged , , , , | 10 Comments

使用 OpenVPN 将 HE Tunnel Broker 的 IPv6 搬回家

之前我们已经给 VPS 配置好了 HE Tunnel Broker 提供的 IPv6 地址,但是这 2^80 个 IPv6 地址都放在服务器上有些太浪费了,为何不弄到家里电脑来,让家里电脑也可以使用 IPv6 呢?等着国内运营商提供 IPv6 恐怕得猴年马月了吧? Google 了一下,使用 OpenVPN Tunnel 可以轻松完成这个工作,有两种方法:第一种是用 tap 模式建立网桥,服务器端运行 radvd 给客户端分配 IPv6 地址并作路由。第二种使用 sit 设备,不需要配置服务,但是需要客户端做相应的绑定。我选择第二种,主要是想将 OpenVPN 维持在 tun 模式。 基本思路是根据给客户端分配的内部 IPv4 地址的最后一位(X)在服务器端(在 Debian / Ubuntu … Continue reading

Posted in 我的工作学习, 电脑相关 | Tagged , , , | 4 Comments

Linux 系统连接 OpenVPN 无法获取推送 DNS 服务器的解决

  话说上周我们安装好了 OpenVPN,并且也启用了 MySQL 验证用户名和密码,结果没用几天又遇到问题了。。。还是 @cnkang 同学,反映在 Android 手机上连接成功后,没有收到服务器端推送过来的 Google DNS。 因为我实在懒得和 Android 较劲,于是在一台 Ubuntu 10.04 Desktop 机器上安装了 OpenVPN 试验,结果果然如此,完全没有理会服务器 push "dhcp-option DNS 8.8.8.8" 这条配置。还是 Google 后找到了答案。 原来 Linux 系统确实有这个问题,OpenVPN 也提供了现成的解决方案,那就是 /etc/openvpn/update-resolv-conf 这个脚本。在客户端配置文件 client.conf 后面加上如下三行: script-security 2 up ./update-resolv-conf down … Continue reading

Posted in 我的慵懒生活, 电脑相关 | Tagged , , , , , | 3 Comments

pam-mysql 验证 bug 的最佳解决方案

昨天我在配置 mysql 验证的 OpenVPN 时遇到了 pam-mysql 的验证 bug,当时使用的是 export LD_PRELOAD=/lib/libpam.so.0 这个 walk around。今天继续 Google 后,发现网上已经有可用的 patch,步骤如下: cd /usr/src wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz tar zxvf pam_mysql-0.7RC1.tar.gz cd pam_mysql-0.7RC1 vi patch.in 内容如下 — Makefile.in.chold 2008-07-14 10:25:53.000000000 +0200 +++ Makefile.in 2008-07-14 10:26:06.000000000 +0200 @@ -110,7 … Continue reading

Posted in 我的慵懒生活, 电脑相关 | Tagged , , , , , | 15 Comments

使用 MyQL 验证 OpenVPN 用户笔记

上次我们成功的在 Debian 上安装了 OpenVPN,但是用证书方式验证用户还是有些麻烦:昨天和 @cnkang 吃晚饭说给他开一个 OpenVPN 帐号,回家后还得去服务器那边生成证书,再让他下载。。。遂 Google 一把,发现可以使用 pam + MySQL 验证,这样不但以后给朋友开账户方便了,而且还可以多台主机使用一个 MySQL 表,实现多台服务器账户信息共享,配置过程简单整理记录如下 前提条件:安装好 OpenVPN,并且客户端可以使用证书方式正常连接。 安装 pam-mysql aptitude install libpam-dev libpam-mysql libmysql++-dev sasl2-bin Ubuntu 的话,包的名字稍有区别,比如:libmysqlclient-dev 和 libpam0g-dev 如果喜欢自己使用源代码编译 pam-mysql 的话,可能在 ./configure 时会遇到 configure: error: C compiler cannot … Continue reading

Posted in 我的慵懒生活, 电脑相关 | Tagged , , , , | 34 Comments

Linode Debian 5 安装 OpenVPN 笔记

更新记录: 2010年8月1日:初始版本 2012年2月8日:由于我的服务器之前已经有包转发设置,所以这篇笔记没有提到,致使很多读者配置不成功,所以这次更新加入了相关的内容。另外加入了源代码编译安装 OpenVPN 的一个简单笔记。 相比 IPSec+L2TP 来说,OpenVPN 有很多优点,比如其可以开在任意端口上,并且和 PPTP / L2TP 等并不冲突。于是周末在 Linode 上的 Debian 5 中安装了一个 Server,以备不时之需,笔记如下(该用 sudo 的地方自行使用,我这里都省略了): 安装: aptitude install openvpn 准备工作: cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ cd /etc/openvpn gzip -d server.conf.gz 初始化: cd … Continue reading

Posted in 我的慵懒生活, 电脑相关 | Tagged , , , , , | 25 Comments