2011年11月10日星期四

[GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo] 英国的多国 IP免费VPN:SecurityKISS Tunnel

SecurityKISS是一家英国的VPN提供商,提供一个基于OpenVPN的VPN客户端可以翻墙, 无需注册,下载客户端安装后即可使用免费版VPN,免费使用每天300MB流量,翻墙浏览Twitter、Facebook等网站足够没有问题,如果看 Youtube视频就要观察一下流量了。该服务商提供不同种类的VPN,提供多国IP地址选择。如果需要更多的流量则需要购买。
既然是 OpenVPN的网络连接,当然能够隐藏你的真实IP地址和加密上网数据。不象一般的PPTP VPN服务商,SecurityKISS 已经把他们的服务集成为一个自己的OpenVPN客户端软件,目前版本软件不算大,2M多,下载和安装后,打开软件就可以自动进行连接,不需要注册、用户 名和密码,软件会自动寻找连接他们的VPN服务器。
据测试,SecurityKISS与Hotspot Shield的VPN服务很类似,SecurityKISS 目前并没有任何广告,速度也不错。至于免费能够持续多久,不得而知,至少在一段时间内会免费和付费并存吧。
一、SecurityKISS官方网站及特点:
http://securitykiss.com/ 已经被墙
特点介绍:
1.SecurityKISS 是一款免费的 VPN 代理
2.SecurityKISS 不用注册,只要下载客户端安装后,使用时打开软件即可
3.使用 OpenVPN,安全加密上网,能隐藏真实 IP
4.多国代理,选择你的目的国,加快访问速度
5.除免费外,有多种付费方案,最低价一款年付每月仅1.99∈,有20G/月流量,可选择ip更多
二、SecurityKISS官方下载:
http://securitykiss.com/resources/download/download_starting (点击此链接会自动启动下载)已经被墙
因官方网站和下载地址都已经被墙,美博园提供的官方原版最新版客服端软件下载地址:
2011-10-30发布 SecurityKISS V 0.1.8 下载
下载地址1(訊6):SecurityKISSsetup.rar
下载地址2(Box):SecurityKISSsetup.rar
下载地址3(MediaFire): SecurityKISSsetup.rar
下载地址4(Dropbox): SecurityKISSsetup.rar
下载地址5(SugarSync): SecurityKISSsetup.rar
下载地址6(Asuswebstorage): SecurityKISSsetup.rar
下载地址7(Syncplicity): SecurityKISSsetup.rar
MD5SHA1验证值:
File: SecurityKISSsetup.rar
Size: 2,349,361
MD5: BA8EE8BE8AA56819226EF6C271F2C5B8
SHA1: 2270E0413F4D060941304DA87C7DFA64414F2F82
三、SecurityKISS安装使用说明
1.SecurityKISS的安装
安装过程很简单,双击下载的客户端 SecurityKISSsetup.exe,英文界面,有Next(下一步)的就直接按Next;
开始安装第二步会要求点选协议,点“I accept the agreement”;
之后会出现如下安装网络适配器的安全提示,点安装放行
sk1warning.png
如果你安装有杀毒软件、防火墙,安装时如果遇到报警,一路放行即可。很快会自动安装完成。
2.运行
安装完毕后,点“finish”默认会自动启动软件运行。如果你使用的是win7系统,运行软件时可能会提示要以管理员身份运行软件。
运行界面如下:
sk3connect.png
点“Connect”按钮就会自动链接,并自动分别你的VPN上网ip地址
据测试,主要有德国、瑞士、美国、英国的服务器,以前可以自己选择服务器,目前是自动分配,如果自己选择,大陆选择某个服务器比较快,选择的免费VPN服务器ip地址会显示出来(External IP),联网后分配到的内网ip是10.XXX.XXX.XXX。
如果不能使用,可以换一个服务器,或者换一个端口试一试。在右下角有个蓝色的图标,点击它可以切换连接的服务器。如上图所示。
使用完毕,要退出,点“disconnect”即可
补充说明:
1)官方日志记录级别:只记录IP地址,连接/断开时间和流量,并永久保存。
2)注意不支持全局运用(比如P2P下载)
四、获取客户端软件的方法:
据SecurityKISS网站通知,其网站和一些服务器已被GFW阻止,他们已经迅速作出反应并更新程序使其工作在新的服务器上。如果天朝网民无法访问网站:
1、请发一封空邮件到: download@securitykiss.com ,就会得到新版本的程序;
2、记住美博园此贴,英国的多国 IP免费VPN:SecurityKISS Tunnel,本站会及时更新最新版本的客户端为网友们提供没有被墙的多个下载地址。
本文为美博园原创文章,可以自由转载,转载请以下面超链接注明:
本文转载自:英国的多国 IP免费VPN:SecurityKISS Tunnel


来源: http://breakgfw.blogspot.com/2011/11/ipvpnsecuritykiss-tunnel.html

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo at 11/10/2011 09:55:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo] 一款免费的日本VPN

感谢guanguangua网友推荐一款免费的日本VPN。据悉,这个VPN是日本公司专门为到中国旅行的日本人提供,由于中国网络的特殊状况,这对来华旅游、经商的外籍人士不能通过Facebook,Twitter来联络朋友感到非常​不便。所以VPN不仅对中国人来说是上网必备的东西,而且对外国人也是如此。

主页:http://49.212.48.199/index.html

这个VPN是免费的,甚至无需注册直接使用它的测试帐户就可以使用,具体信息如下:
PPTP VPN服务器:49.212.48.199
用户名:demo
密码:demo

不过,你也可以注册一个免费帐户,注册过程也很简单,虽然是全日文,不过看图操作起来并不困难。步骤如下:

它会给你发送一封邮件,里面有一个链接,点击链接后会带你到这个页面,上面有用户名和密码。之后就是设置PPTP VPN了, 具体信息如下:
PPTP VPN服务器:49.212.48.199
用户名:你的邮件地址
密码:邮件中

全部过程请按照下图操作:

本文链接:一款免费的日本VPN
本文发布于: 2011年11月10日, 更新于:2011年11月10日.

 




来源: http://killgfw.wordpress.com/2011/11/10/%e4%b8%80%e6%ac%be%e5%85%8d%e8%b4%b9%e7%9a%84%e6%97%a5%e6%9c%acvpn/

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo at 11/10/2011 06:10:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo] FaxDesk:免费在线传真服务平台

没有错!FaxDesk 又是一款免费在线传真服务平台。支持以电子邮件方式免费发送和接收国际传真。同类网站还有Faxzero、Myfax.com、FreePopFax、FreeFaxButton、FaxItNice等。与酷站之前介绍过的GotFreeFax类似,跟GotFreeFax只可免费发送传真到美国和加拿大两个国家比起来,FaxDesk能够产生超过30个国家的传真号码,可无限次数接收传真,但免费用户同样每天最多可以免费传真两次。非常适合那些想临时发送或接收传真,但又苦于手边刚好没有传真机的朋友们。

三种方案可选

打 开网站,无需安装任何软件,在注册页面选择Free方案。注册连接Google App Engine,安全性有保障。若有Google、Yahoo! 帐号可直接登入,省去了注册的麻烦。登陆后,鼠标点击 Send Fax 后输入对方的传真号码、然後上传需要传送的文档就可以了(目前仅支持PDF、TIFF格式)。点击 Free FaxIn 可以产生免费的临时传真号码供使用。产生的传真号码可以使用24小时,需要注意的是:免费账户仅能使用4小时,每隔48小时可产生一次号码,且无法接收超 过 4个页面的传真文件。此项服务也被限制使用于非商业性质的传真。

注册页面

推出了iSO端app,Android app也即将推出

目 前FaxDesk还推出了iSO端app,Android app也即将推出。这样使用者就可以随时随地随手免费发传真了。FaxDesk的确是一款既贴心又方便简单的免费传真服务,对于那些初创阶段的创业者公 司、想要临时发送或接收传真,手边刚好没有传真机的使用者们来说不失为一种省钱方式。

来源http://www.techweb.com.cn/newsite/2011-10-24/1109379.shtml



来源: http://igfw.tk/archives/6306

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo at 11/10/2011 01:41:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo] tor管理器2.7

来源:https://tiandixing.org/viewtopic.php?p=387335#p387335

tor管理器2.7使用说明

支持Tor多進程管理。支持单节点,双节点,自动节点,流量统计,自动更新链路,自动重启链路。
支持快速设置侦听 0.0.0.0和127.0.0.1,和前置代理(自由门,无界)的设置。
内置的privoxy(3.0.17.0) ,polipo,Tor v0.2.2.33 。

注意: 
Tor Manager2.7本身只是tor运行的管理工具,tor链路本身是匿名的,但许多软件即时设置了代理也会绕过设置的代理,造成访问的IP泄露,要想通过tor匿名的访问网站需要其它的辅助方法来实现。鉴于当前国内tor被封锁的现状,需要前置代理才能访问tor网络。 大陆会员推荐要用破网软件做前置代理 



关于Tor管理器的 节点模式

Tor管理器节点模式:单节点,两个节点,自动节点(一般为三个节点)。
推荐使用 自由门 + 两个节点, 自由门 +自动节点。
单节点地从测试效果来看,稳定性不够。一般是在国内VPN,或者 自由门+单节点下使用。

关于Tor管理器的Tor组件更新方法
其中privoxy(3.0.17.0) ,polipo两个只起到sock/http协议转换作用,一般不需要升级。真正连网是通过Tor。tor更新比较频繁。Tor管理器使用官方Tor中的三个文件,当官方Tor有更新时,请从 https://torproject.org/download/download.html 主页选择 Expert Bundle版本(大意:专家版本)下载,用沙盘或7ZIP工具提取tor.exe、tor-resolve.exe和geoip 覆盖旧版即可。

tor.exe、tor-resolve.exe 覆盖的位置 \App目录。
geoip 覆盖的位置 \Data\Tor目录。

tormanager27.help.rar 为一个简要的说明文件。
附件
 tormanager2.7.rar
Sha1校验值:9d5f854901c4af381a3f30078b8ace89c7702914
签名文件:http://tiandixing.org/sigs/xiaocao-20111011-2914.asc
(2011-10-11上传 2.6 MB)
 tormanager27.help.rar
Sha1校验值:ad68f00636efe519bd080a523e82cc09c05419eb
签名文件:http://tiandixing.org/sigs/xiaocao-20111108-19eb.asc
(2011-11-08上传 1.46 MB)



来源: http://xijie.wordpress.com/2011/11/10/tor%E7%AE%A1%E7%90%86%E5%99%A82-7

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo at 11/10/2011 01:41:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo] IP切换器

来源: http://igfw.tk/archives/6278

IP切换器是一个小程序,可以在四种不同的配置之间快速切换,也可以方便的查看您当前的IP地址、DNS / WINS等信息。IP Config是一个绿色便携,免费开源,快速高效的IP切换工具。

官网:http://ipchange.net/

下载:http://sourceforge.net/projects/simpleipconfig/files/

==========

如果您电脑的IP地址经常要换来换去(比如:笔记本用户在家里需要一套配置,在公司又是一套),每次都这样:IP、网关、子网掩码、DNS服务器等一个个设过来是不是感觉很不方便?软件“IP地址切换器”(简称IPCFG)就是为解决这种问题而设计的,而且操作简单,速度飞快,支持多IP,支持MAC地址同步切换(无需重起)。绿色软件,不用安装,解压后直接运行即可。马上为您解决IP地址换来换去的烦恼!

下载地址:http://sharesend.com/ch8kz

IPCFG我以前用过,很好很强大,用它主要是他支持MAC地址同步切换,上面那个IP Config就不支持。

本文原始地址http://igfw.tk/archives/6278




来源: http://xijie.wordpress.com/2011/11/09/ip%E5%88%87%E6%8D%A2%E5%99%A8

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo at 11/10/2011 01:40:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo] PPTP/L2TP+FreeRADIUS+MySQL搭建VPN认证和流量控制

来源: http://igfw.tk/archives/6273

PPTP+FreeRADIUS+MySQL搭建VPN认证和流量控制

最近帮论坛上朋友建了个OpenVPN+PPTP的VPN服务器,记下来过程以备不时之需。

系统环境是CentOS 5.6 xen,所有过程中软件均从源码编译。

需要软件:

PopTop: http://poptop.sourceforge.net/

PPPd: http://ppp.samba.org/

FreeRADIUS: http://freeradius.org/

RADIUSClient: http://wiki.freeradius.org/Radiusclient

MySQL: http://www.mysql.com/

同时为了方便管理数据库,最好再装个php,使用phpmyadmin来管理。

编译过程很简单,pptpd、pppd和freeradius都是

1 ./configure && make && make install

就可以了。

完成之后freeradius的启动脚本在redhat/里面,pptpd需要自己写一个,很简单:

1 #!/bin/sh
2 #
3 # Startup script for pptpd
4 #
5 # chkconfig: 345 40 70
6 # description: PPTP server
7 # processname: pptpd
8 # config: /etc/pptpd.conf
9  
10 # Source function library.
11 . /etc/rc.d/init.d/functions
12 # See how we were called.
13 case "$1" in
14   start)
15         echo -n "Starting pptpd: "
16         if [ -f /var/lock/subsys/pptpd ] ; then
17                 echo
18                 exit 1
19         fi
20  
21         /usr/local/sbin/pptpd -d
22         echo
23         touch /var/lock/subsys/pptpd
24         ;;
25   stop)
26         echo -n "Shutting down pptpd: "
27         killproc pptpd
28         echo
29         rm -f /var/lock/subsys/pptpd
30         ;;
31   status)
32         status pptpd
33         ;;
34   restart)
35         $0 stop
36         $0 start
37         ;;
38   *)
39         echo "Usage: $0 {start|stop|restart|status}"
40         exit 1
41 esac
42  
43 exit 0

——————————————————————————–

然后修改一些FreeRADIUS的配置文件,位于/usr/local/etc/raddb/

sites-enabled/default

在所有的unix和files前面加上注释,并去掉所有sql前面的注释。

radiusd.conf

去掉include sql.conf前面的注释。

clients.conf
这个文件控制连接的客户端的地址以及secret code。
secret要记下来,测试和写配置文件的时候要用。默认是testing123

sql.conf
这个文件控制连接到sql的参数。
改成实际数据库的用户名和密码。

sql/mysql/dialup.conf
取消

1 sql_user_name = "%{%{Stripped-User-Name}:-%{%{User-Name}:-none}}"

前面的注释,把下一行注释掉。
同时如果需要打开simultanoues-use(控制同时在线用户数)的话需要把simul_query_check取消注释。

——————————————————————————–

然后建立基本数据库:

1 /usr/local/mysql/bin/mysql -uroot -p
1 create database radius;
2 grant all privileges on radius.* to radius@localhost identified by "radiuspassword";
3 flush privileges;
4 exit;
1 /usr/local/mysql/bin/mysql -uradius -p radius < /usr/local/etc/raddb/sql/mysql/schema.sql

建立表格:

1 INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Auth-Type',':=','Local');
2 INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Service-Type',':=','Framed-User');
3 INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Address',':=','255.255.255.255');
4 INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Netmask',':=','255.255.255.0');
5 INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Acct-Interim-Interval',':=','600');
6 INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Max-Monthly-Traffic',':=','5368709120');
7 INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Simultaneous-Use',':=','1');

以上前四行不用改动,acct-interim-interval是计算流量的间隔(600秒),意味着每隔10分钟记录当前流量。倒数第二行是每月最大流量,这里是5G(单位是字节)。最后一行是允许同时连接数目。

——————————————————————————–

输入测试用户信息:

1 INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('test','Cleartext-Password',':=','test');
2 INSERT INTO radusergroup (username,groupname) VALUES ('test','user');

用户名与密码必须以明文/NTLM Crypt形式保存,因为MS-CHAPv2不支持MD5保存的密码。

——————————————————————————–

由于上步中有非内置的attribute Max-Monthly-Traffic,所以需要在/usr/local/etc/raddb/dictionary里面定义:

ATTRIBUTE Max-Monthly-Traffic 3003 integer

——————————————————————————–

初步测试:

1 /etc/init.d/freeradius stop
2 radiusd -X &
3 radtest test test localhost 1649 testing123

如果结果中有Access-Accept就代表成功了,否则退回去检查设置。

测试成功的话添加在认证时检测流量的语句,打开/usr/local/etc/raddb/sites-enabled/default,找到authorize一节插入:

1 update request {
2 Group-Name := "%{sql:SELECT groupname FROM radusergroup WHERE username='%{User-Name}' ORDER BY priority}"
3 }
4 if ("%{sql: SELECT SUM(acctinputoctets+acctoutputoctets) FROM radacct WHERE username='%{User-Name}' AND date_format(acctstarttime, '%Y-%m-%d') >= date_format(now(),'%Y-%m-01') AND date_format(acctstoptime, '%Y-%m-%d') < = last_day(now());}" >= "%{sql: SELECT value FROM radgroupreply WHERE groupname='%{Group-Name}' AND attribute='Max-Monthly-Traffic';}") {
5 reject
6 }

——————————————————————————–

设置radiusclient:

打开/usr/local/etc/radiusclient/radiusclient.conf,修改

authserver localhost:1812

acctserver localhost:1813

修改server:

最后加上localhost secret(就是FreeRadius的client.conf里面定义的secret)

修改dictionary:

最后加上

INCLUDE /usr/local/etc/radiusclient/dictionary.merit
INCLUDE /usr/local/etc/radiusclient/dictionary.microsoft

如果没有dicitionary.microsoft的话看这里:http://wiki.freeradius.org/PopTop

——————————————————————————–

一切正常后设置pptp:

把源码包里面的options.pptpd和pptpd.conf拷到/etc/

修改options.pptpd:

取消ms-dns前面的注释,后面的ip改为8.8.8.8

加入一行noaccomp,以提供对iOS 4.3+的支持(否则连上就断)。

最后加上插件:

plugin /usr/local/lib/pppd/2.4.5/radius.so
plugin /usr/local/lib/pppd/2.4.5/radattr.so
radius-config-file /usr/local/etc/radiusclient/radiusclient.conf

修改pptpd.conf:

ppp路径改为/usr/local/sbin/pppd

option路径为/etc/options.pptpd

注释掉logwtmp避免619错误

最后的localip根据需要设置

示例:localip 192.168.100.1

remoteip 192.168.100.100-150

重要的一点:一定要注释掉delegate,之前没有注释结果连接的时候log显示LCP terminated by peer跟着一堆乱码直接掉线,客户端则显示720,注释掉就好了。(虽然个人认为不应该注释,因为delegate的作用是让radius来处理ip分 配)

启动服务测试下是否能连接,多用radiusd -X看输出信息。

——————————————————————————–

最后是相应的iptables设置:/etc/sysconfig/iptables

nat里面加入:

-A POSTROUTING -s 192.168.100.0/255.255.255.0 -o eth0 -j MASQUERADE

filter里面加入:

-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m state –state NEW –dport 1723 -j ACCEPT
-A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
-A INPUT -j REJECT
-A FORWARD -i ppp+ -p tcp -m tcp –tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS –set-mss 1356

设置mss以防止过大的包被丢弃,从而造成无法载入。

大功告成!

本文参考:

http://wiki.freeradius.org/PopTop

http://freeradius.1045715.n5.nabble.com/group-variable-td2776238.html

http://hi.baidu.com/ox188/blog/item/4ae1373f33d90fe455e723a4.html

http://www.accountingenhancements.com/filetree/pptp-HOWTO-linux-2.6.9.txt

http://discussions.apple.com/thread.jspa?threadID=2778039&start=60&tstart=0

原文http://tomem.info/blog/2011/04/562

==========

架设L2TP/IPSec + MySQL + FreeRADIUS认证VPN

接上次那篇PPTP的文(https://tomem.info/blog/2011/04/562),这篇讲下如何搭建L2TP VPN。平台依然是CentOS 5.6 x86,源码方式安装。

说实在的搭建L2TP over IPSec VPN让人头痛不少,主要是因为需要好几个内核模块支持。因而如果你使用的是OpenVZ的VM的话基本上可以忽略这篇文章-2.6.32以下的内核不支持IPSec虚拟化。

如果是Xen的话,在确定能用PPTP的基础上(包括IP转发,etc),执行以下命令确认必需的模块都存在(xfrm_user可能编入了内核,所以没有检测):

 

1 modprobe af_key && modprobe ah4 && modprobe esp4 && modprobe ipcomp && modprobe xfrm4_tunnel && echo "All IPSec modules are loaded"

如果出现All IPSec modules are loaded则该VM有所有需要的内核模块,否则不能建L2TP over IPSec。

6月21日更新:最近搞了个日本的VPS,执行上面命令发现模块都存在但是都没加载,而且连ppp的也没有(lsmod | grep -w ‘af_key\|ah4\|esp4\|ipcomp\|xfrm4_tunnel\|ppp_generic\|ppp_mppe \|ppp_deflate’) :shock: 结果在/etc/sysconfig/modules里面手工添加了。

———————————————————————————————————-

成功之后下载需要的软件包:

首先安装一些编译需要的软件包:

yum install bison flex lsof gmp gmp-devel libpcap libpcap-devel

然后下载OpenSwan、xl2tpd和rp-l2tp。

OpenSwan: http://www.openswan.org/code/

xl2tpd: http://www.xelerance.com/services/software/xl2tpd/

rp-l2tp: http://sourceforge.net/projects/rp-l2tp

OpenSwan编译安装:make programs && make install

xl2tpd:make && make install

rp-l2tp我们只需要其中的l2tp-control,执行以下命令:

1 make
2 cp handlers/l2tp-control /usr/local/sbin/
3 mkdir /var/run/xl2tpd
4 ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control

———————————————————————————————————-

写IPSec的配置文件:

需要修改的地方:

protostack=auto改成protostack=netkey

最后加上

1 # sample VPN connections, see /etc/ipsec.d/examples/
2 include /etc/ipsec.d/l2tp-psk.conf #添加l2tp配置
3  
4 #Disable Opportunistic Encryption
5 include /etc/ipsec.d/no_oe.conf #添加oe配置

注意缩进!上面添加的几行必须是紧靠左边(左边不能有空格)。

然后新建l2tp-psk.conf和no_oe.conf(来自https://suoluo.org/2010/04/4/)

 

1 nano /etc/ipsec.d/no_oe.conf
1 conn block
2 auto=ignore
3  
4 conn private
5 auto=ignore
6  
7 conn private-or-clear
8 auto=ignore
9  
10 conn clear-or-private
11 auto=ignore
12  
13 conn clear
14 auto=ignore
15  
16 conn packetdefault
17 auto=ignore
1 nano /etc/ipsec.d/l2tp-psk.conf
1 conn L2TP-PSK-NAT
2 rightsubnet=vhost:%no,%priv
3 #forceencaps=yes #这个参数默认是启用的,但如果连接失败抓包分析看到不停的循环在和500端口交换PSK的话就去掉它
4 also=L2TP-PSK-noNAT
5  
6 conn L2TP-PSK-noNAT
7 #
8 # Configuration for one user with any type of IPsec/L2TP client
9 # including the updated Windows 2000/XP (MS KB Q818043), but
10 # excluding the non-updated Windows 2000/XP.
11 #
12 #
13 # Use a Preshared Key. Disable Perfect Forward Secrecy.
14 #
15 # PreSharedSecret needs to be specified in /etc/ipsec.secrets as
16 # YourIPAddress  %any: "sharedsecret"
17 authby=secret
18 pfs=no
19 auto=add
20 keyingtries=3
21 # we cannot rekey for %any, let client rekey
22 rekey=no
23 #type=transport
24 #
25 left=1.2.3.4 #VPS的IP地址
26 leftnexthop=1.2.3.5 #网关地址,通过route -n 可以查看 gateway地址
27 # or you can use: left=YourIPAddress
28 #
29 # For updated Windows 2000/XP clients,
30 # to support old clients as well, use leftprotoport=17/%any
31 leftprotoport=17/1701
32 #
33 # The remote user.
34 #
35 right=%any
36 # Using the magic port of "0" means "any one single port". This is
37 # a work around required for Apple OSX clients that use a randomly
38 # high port, but propose "0" instead of their port.
39 rightprotoport=17/%any

同样的要注意缩进。在两个conn之间的语句要向右缩进一格。

设置预置密钥:

1 nano /etc/ipsec.secrets:
1 YOUR.SERVER.IP.ADDRESS %any: PSK "YourSharedSecret"

 

最后修改/etc/sysctl.conf:

1 # Settings for OpenSwan IPSec implementation
2 net.ipv4.conf.all.send_redirects = 0
3 net.ipv4.conf.default.send_redirects = 0
4 net.ipv4.conf.all.accept_redirects = 0
5 net.ipv4.conf.default.accept_redirects = 0
6 net.core.xfrm_larval_drop = 1

———————————————————————————————————-

测试下IPSec:

1 /etc/init.d/ipsec start
1 ipsec verify

如果是类似如下结果就可以继续了(不能有Failed,N/A可以)。

Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.33/K2.6.18-194.11.4.el5xen (netkey)
Checking for IPsec support in kernel                            [OK]
SAref kernel support                                           [N/A]
NETKEY:  Testing XFRM related proc values                      [OK]
[OK]
[OK]
Testing against enforced SElinux mode                           [OK]
Checking that pluto is running                                  [OK]
Pluto listening for IKE on udp 500                             [OK]
Pluto listening for NAT-T on udp 4500                          [OK]
Two or more interfaces found, checking IP forwarding            [OK]
Checking NAT and MASQUERADEing
Checking for ‘ip’ command                                       [OK]
Checking /bin/sh is not /bin/dash                               [OK]
Checking for ‘iptables’ command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]

pluto listening那个与lsof有关,如果显示failed检查是否装了lsof。

———————————————————————————————————-

测试通过后修改xl2tpd的配置:

如果你的ipsec verify结果中间也有SAref kernel support [N/A]的话,在xl2tpd里面就必须关掉saref,否则tail /var/log/secure会出现ERROR: netlink_get_spi for comp.0@server ip failed with errno 22: Invalid argument。

1 [global]
2 listen-addr = your.server.ip.address
3 ;
4 ; requires openswan-2.5.18 or higher - Also does not yet work in combination
5 ; with kernel mode l2tp as present in linux 2.6.23+
6 ipsec saref = no
7  
8 [lns default]
9 ip range = 192.168.100.101-192.168.100.151
10 local ip = 192.168.100.1
11 refuse chap = yes
12 refuse pap = yes
13 require authentication = yes
14 name = l2tpd
15 ppp debug = yes
16 pppoptfile = /etc/ppp/options.xl2tpd
17 length bit = yes

修改ppp配置:

1 require-mschap-v2
2 ms-dns 8.8.8.8
3 ms-dns 208.67.222.222
4 asyncmap 0
5 auth
6 crtscts
7 lock
8 hide-password
9 modem
10 debug
11 name l2tpd
12 proxyarp
13 lcp-echo-interval 30
14 lcp-echo-failure 4
15 plugin /usr/local/lib/pppd/2.4.5/radius.so
16 plugin /usr/local/lib/pppd/2.4.5/radattr.so
17 radius-config-file /usr/local/etc/radiusclient/radiusclient.conf

建立xl2tpd的init script:

1 #!/bin/sh
2 #
3 # xl2tpd        This shell script takes care of starting and stopping l2tpd.
4 #
5 # chkconfig: - 80 30
6 # description:  Layer 2 Tunnelling Protocol Daemon (RFC 2661)
7 #
8 # processname:  /usr/sbin/xl2tpd
9 # config:       /etc/xl2tpd/xl2tpd.conf
10 # pidfile:      /var/run/xl2tpd.pid
11  
12 ### BEGIN INIT INFO
13 # Provides: xl2tpd
14 # Required-Start: $local_fs $network $syslog
15 # Required-Stop: $local_fs $network $syslog
16 # Default-Start:
17 # Short-Description: start|stop|status|restart|try-restart|reload|force-reload xl2tpd server
18 # Description: control xl2tpd server
19 ### END INIT INFO
20  
21 #Servicename
22 SERVICE=xl2tpd
23  
24 # Source function library.
25 . /etc/rc.d/init.d/functions
26  
27 # Source networking configuration.
28 . /etc/sysconfig/network
29  
30 if [ ${NETWORKING} = "no" ]
31 then
32 exit 0
33 fi
34  
35 [ -x /usr/local/sbin/$SERVICE ] || exit 0
36  
37 RETVAL=0
38  
39 start() {
40 echo -n "Starting $SERVICE: "
41 if [ ! -d /var/run/xl2tpd ]
42 then
43 mkdir /var/run/xl2tpd
44 fi
45 daemon /usr/local/sbin/$SERVICE
46 RETVAL=$?
47 echo
48 if [ $RETVAL -eq 0 ];then
49 touch /var/lock/subsys/$SERVICE
50 else
51 exit 7;
52 fi
53 return 0;
54 }
55  
56 stop() {
57 echo -n "Stopping $SERVICE: "
58 killproc $SERVICE
59 RETVAL=$?
60 if [ $RETVAL -eq 0 ]; then
61 rm -f /var/run/xl2tpd/$SERVICE
62 rm -f /var/lock/subsys/$SERVICE
63 fi
64 echo
65 return $RETVAL
66 }
67  
68 restart() {
69 stop
70 start
71 }
72  
73 # See how we were called.
74 case "$1" in
75 start)
76 start
77 ;;
78 stop)
79 stop
80 ;;
81 status)
82 status $SERVICE
83 RETVAL=$?
84 ;;
85 restart|reload)
86 restart
87 ;;
88 condrestart)
89 [ -f /var/lock/subsys/$SERVICE ] &amp;&amp; restart || :
90 ;;
91 *)
92 echo "Usage: $SERVICE {start|stop|status|restart|reload|condrestart}"
93 exit 1
94 esac

———————————————————————————————————-

最后对应的iptables的配置:

1 -A INPUT -p udp -m state --state NEW -m udp --dport 500 -j ACCEPT
2 -A INPUT -p udp -m state --state NEW -m udp --dport 1701 -j ACCEPT
3 -A INPUT -p udp -m state --state NEW -m udp --dport 4500 -j ACCEPT

大功告成!

参考:

http://b.gkp.cc/2010/06/19/setup-ipsec-l2tp-on-centos-55/

https://suoluo.org/2010/04/4/

原文http://tomem.info/blog/2011/04/577

==========

FreeRADIUS+PostgreSQL+OpenVPN搭建VPN认证系统

最近从Ramhost上又订了一个Nano plan,用来搭建认证VPN的系统
环境:Ubuntu 9.10 x86, 128M RAM
Freeradius 2.1.0, RADIUS for OpenVPN 2.1beta9, OpenVPN 2.1, PostgreSQL 8.4.4

OpenVPN是什么应该不用解释了。
FreeRADIUS是一个开源的RADIUS系统,目前是最为广泛使用的RADIUS,至于什么是RADIUS可以看这里

 

1、安装组件

所需要的组件基本上都在Ubuntu的package source里面,用apt-get就可以装。

  sudo apt-get install freeradius freeradius-postgresql postgresql openvpn build-essential libgcrypt11-dev  

 

2、修改配置文件

Freeradius的配置文件位于/etc/freeradius

/etc/freeradius/clients.conf

这个文件控制连接的客户端的地址以及secret code。

地址不需要改变,因为我们是本地访问(openvpn到freeradius)。

secret要记下来,测试和写配置文件的时候要用。默认是testing123

/etc/freeradius/sql.conf

这个文件控制连接到sql的参数。

要改的地方:

database=”sql” 改成 database=”postgresql”

Connection info那里一般来说改密码就可以了。

/etc/freeradius/sql/postgresql/dialup.conf

取消sql_user_name = “%{%{Stripped-User-Name}:-%{%{User-Name}:-none}}”前面的注释,把下一行注释掉。

/etc/freeradius/sites-enabled/default

取消掉authorize、preacct和accounting段中sql前面的注释

注释掉所有的files和unix。

————————————————————-

Postgresql的配置文件做如下修改:

/etc/postgresql/8.4/main/postgresql.conf

找到listen_addresses,把引号里面的地址改成*

/etc/postgresql/8.4/main/pg_hba.conf

把local all all那里的ident改成md5

加入一行

host all all 0.0.0.0/0 md5

 

3、建立数据库

  sudo -u postgres createuser radius --no-superuser --no-createdb --no-createrole -P  

密码与sql.conf中connection info的密码一致。

 

  sudo -u postgres createdb radius --owner=radius  

 

然后

  sudo cp /etc/freeradius/sql/postgresql/schema.sql ~/  

 

  psql -U radius radius < ~/schema.sql  

然后连到sql上面,用psql或者pgadmin都可以。

psql里面输入如下命令:

  insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local'); insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Dialout-Framed-User'); insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255'); insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0'); insert into radgroupreply (groupname,attribute,op,value) values ('user','Acct-Interim-Interval',':=','600'); insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','test'); insert into radusergroup (username,groupname) values ('test','user');  

最后\q退出。

 

4、初步测试

  sudo /etc/init.d/freeradius stop sudo freeradius -X & radtest test test localhost 1649 testing123  

如果出现类似如下信息:

   Sending Access-Request of id 204 to 127.0.0.1 port 1812  User-Name = "test"  User-Password = "test"  NAS-IP-Address = 255.255.255.255  NAS-Port = 0  rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=204, length=38  Service-Type = Framed-User  Framed-IP-Address = 255.255.255.255  Framed-IP-Netmask = 255.255.255.0  

即Access-Accept时,则说明freeradius和postgresql已经成功地连接起来了,否则要退回去检查配置。

 

5、配置OpenVPN

首先要把OpenVPN和Freeradius连接起来,这里是通过OpenVPN的插件Radiusplugin for OpenVPN。

 

  wget http://www.nongnu.org/radiusplugin/radiusplugin_v2.1_beta9.tar.gz tar zxvf radiusplugin_v2.1_beta9.tar.gz cd radiusplugin/ make  

 

应该会在当前目录下生成radiusplugin.so和radiusplugin.cnf,拷到/etc/openvpn。

修改/etc/openvpn/radiusplugin.cnf:

OpenVPNConfig=/etc/openvpn/openvpn.conf

sharedsecret= testing123

这里secret要与clients.conf中间的一致。

同时后面server段中的name要改成FreeRadius服务器的IP(本例中是本机localhost)

然后生成OpenVPN的key:

  sudo su cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn cd /etc/openvpn/easy-rsa/2.0 . ./vars ./clean-all ./build-ca ./build-key-server server ./build-key client1 ./build-dh  

然后把生成的ca.crt拖到客户端上,用winscp连到ssh就可以。

配置OpenVPN服务端:

  sudo nano /etc/openvpn/openvpn.conf  
  dev tun proto tcp port xxxx  ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem  user nobody group nogroup server 10.8.0.0 255.255.255.0  client-cert-not-required username-as-common-name plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf status /var/log/openvpn/status.log 1 log /var/log/openvpn/openvpn.log  persist-key persist-tun  push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 208.67.222.222"  auth RSA-SHA512 cipher AES-256-CBC  comp-lzo  

客户端:

 

  client dev tun proto tcp  remote your-server-address xxxx  resolv-retry infinite nobind  persist-key persist-tun  script-security 2 auth RSA-SHA512 cipher AES-256-CBC  ca ca.crt auth-user-pass  verb 3  ns-cert-type server  comp-lzo  

 

再向/etc/rc.local中加入如下内容:

  # add iptables rule for openvpn iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source your-server-ip-address  # restart openvpn after 1 hour in case tun device got broken on reboot sleep 3600 /etc/init.d/openvpn stop sleep 10 /etc/init.d/openvpn start  

加到exit 0前面。

重启等一个小时之后连接服务器应该会提示输入用户名密码,之后看到OpenVPN变绿就表示成功了。可以连到whatsmyip.org检查。

用户名密码可以通过pgadmin连到sql上面去修改,在radcheck里面。

 

本文参考了如下资料,在此表示感谢:

http://blog.chinaunix.net/u1/36506/showart_457803.html

https://forum.ramhost.us/bbs/viewtopic.php?id=4

http://wiki.freeradius.org/SQL_HOWTO

http://wiki.freeradius.org/Postgres_DDL_script

http://www.linuxsir.org/main/node/275

原文http://tomem.info/blog/2010/06/207

==========

FreeRADIUS+Postgresql+OpenVPN续:流量控制

实质上很简单,就是求和+if判断,枉自研究了半天的rlm_sql_counter

示例的是每月限制流量,针对用户组

1. 设定限制

radgroupreply组里面插入一行,命令如下:

  insert into radgroupreply (groupname, attribute, op, value) values ('user','Max-Monthly-Traffic', ':=', '5368709120');  

以上命令表示对用户组user限制流量为5G,单位是bytes

同时还要加入Acct-Interim-Interval,该参数是定义让OpenVPN plugin更新流量记录的间隔,必须是为300-3600秒之间的一个值

2. 判断命令

修改/etc/freeradius/sites-enabled/default的authorize一节,插入:

  update request {                 Group-Name := "%{sql:SELECT groupname FROM radusergroup WHERE username='%{User-Name}' ORDER BY priority}" } if ("%{sql: SELECT SUM(acctinputoctets+acctoutputoctets) FROM radacct WHERE username='%{User-Name}' AND date_trunc('day', acctstarttime) >= date_trunc ('month', current_date) AND date_trunc('day', acctstoptime) < = last_day(current_date);}" >= "%{sql: SELECT value FROM radgroupreply WHERE groupname='%{Group-Name}' AND attribute='Max-Monthly-Traffic';}") {  reject  }  

该行作用是用户连接时检查本月内上下行流量之和(1日-月末,acctinputoctet+acctoutputoctet),与限制相比较,如果相同或超过则拒绝认证。

中间使用了自定义函数last_day,所以需要在pgsql中定义。

3. 定义日期函数

来自http://wiki.postgresql.org/wiki/Date_LastDay

  CREATE OR REPLACE FUNCTION last_day(date) RETURNS date AS $$  SELECT (date_trunc('MONTH', $1) + INTERVAL '1 MONTH - 1 day')::date; $$ LANGUAGE 'sql' IMMUTABLE STRICT;  

4. 定义Max-Monthly-Traffic

由于这不是Freeradius自带的属性,所以需要在dictionary中定义,否则freeradius不会去读这个属性

修改/etc/freeradius/dictionary

加入

 

  Attribute Max-Monthly-Traffic 3003 integer  

 

重启大功告成。试验的话把流量限制改成1,应该会被拒绝连接。

 

bug:如果用户一直不断开连接的话就无法拒绝认证了……FreeRADIUS不能踢人下线的。OpenVPN plugin的作者建议在openvpn.conf里加入reneg-sec xx让用户定时重新验证,同时在radiusplugin.cnf中使用useauthcontrolfile=true让用户在验证时不掉线。不过在实 验中useauthcontrolfile=true这条始终没成功过,不知道是什么原因。

原文http://tomem.info/blog/2010/07/272

===========

Strongswan-IKEv2+FreeRADIUS VPN配置

前一篇文章里面提到了用Strongswan替换Openswan的最大理由就是IKEv2和对于Radius的支持,这篇文章继续介绍如何使用Strongswan和Freeradius建立IKEv2 VPN。

目前支持IKEv2的客户端貌似只有Openswan/Strongswan,Windows的话只有Windows 7和Windows Server 2008 R2完全支持(Vista只支持IKEv1),因而这篇文章主要介绍如何建立Win7客户端能够使用的IKEv2 VPN。

之所以使用IKEv2而非IKEv1是因为IKEv1目前没有开源的能与Radius连接的插件/客户端,最接近的方案应该是XAuth- PAM+pam_radius。不过pam对于DoS攻击的抵抗很弱,因而不是特别好的一个solution。加上Openswan默认编译是不包含 xauthpam的,在使用二进制包管理的服务器上布置的复杂度会更高。

IKEv2要求服务器必须以证书证明身份,即使客户端采用MSCHAPv2认证(用户名+密码)。所以第一步是产生服务器使用的证书:

以下内容来自http://wiki.strongswan.org/projects/strongswan/wiki/IOS_%28Apple%29

1 ipsec pki --gen --outform pem > caKey.pem
2 ipsec pki --self --in caKey.pem --dn "C=CH, O=strongSwan, CN=strongSwan CA" --ca --outform pem > caCert.pem

这一步产生CA证书,也是稍后会安装到客户端里面的证书,其中CN(Common Name)的值很重要,必须是服务器的域名/IP地址并且跟给客户的值一样。比如说让客户连接1.2.3.4,那么CN=1.2.3.4。不能是一边是域名而另外一边是IP地址。

1 ipsec pki --gen --outform pem > serverKey.pem
2 ipsec pki --pub --in serverKey.pem | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem \
3           --dn "C=CH, O=strongSwan, CN=vpn.strongswan.org" --flag serverAuth --outform pem > serverCert.pem

这一步里面产生的服务器证书的CN值必须和上一步里面的一样,至于–flag serverAuth是Windows客户端必需的,作用是表示出这个证书的用途(认证)。

把生成的证书拷到ipsec.d/里面:

1 cp caCert.pem /etc/ipsec.d/cacerts/
2 cp serverCert.pem /etc/ipsec.d/certs
3 cp serverKey.pem /etc/ipsec.d/private/

最后在/etc/ipsec.secrets里面添加:

1 : RSA serverKey.pem

这样服务器端的证书准备工作就完成了。

客户端需要添加这个证书,否则认证时会出现Error 13801。添加证书的方法见这里:http://wiki.strongswan.org/projects/strongswan/wiki/Win7EapCert,注意必须是Local Computer(本地计算机)而非Current User(当前用户),否则添加的证书不会起效。

然后配置/etc/strongswan.conf:

在charon段里面加上:

1 dns1 = 8.8.8.8
2 dns2 = 208.67.222.222

然后在plugin段(charon段内部)里面加上:

1 eap-radius {
2                     servers {
3                                  vpnserver {
4                                                     secret = yourfreeradiussecret
5                                                     address = radius.server.address
6                                   }
7                       }
8 }

这样让Strongswan了解Radius服务器地址和暗码。

接下来修改/etc/ipsec.conf:

1 conn IPSec-IKEv2
2            keyexchange=ikev2
3            auto=add
4            left=server.ip.address
5            leftsubnet=0.0.0.0/0
6            leftauth=pubkey
7            leftcert=serverCert.pem
8            right=%any
9            rightsourceip=vpn.ip.address.range
10            rightauth=eap-radius
11            rightsendcert=never
12            eap_identity=%any

解释下上面几项的含义:leftsubnet是决定要通过tunnel的ip的范围,0.0.0.0/0是代表所有的IP通讯都通过VPN。 rightsourceip是VPN分配的虚拟地址的范围,也就是客户端登录后得到的IP范围,例如192.168.1.0/24意味着 192.168.0.1-192.168.1.255为VPN客户端可能的地址范围。rightauth=eap-radius是把客户端的EAP认证请 求转发至radius来处理,%any意味着接受任何类型的eap请求。

配置完成了吗?这样启动后Windows的客户端会提示812错误,因为Windows默认使用的是EAP-MSCHAPv2,而 Freeradius的默认配置是EAP-md5,这可能是Windows的一个bug,目前我的解决方法是直接把Freeradius的 eap.conf里面的default_eap_type修改为mschapv2,如有更好的方法望不吝告知。

这样就建立了一个IKEv2 IPSec隧道。默认情况下加密方法使用3DES,如有需要的话可以在IPSec的配置段里面加上ike=和esp=来修改加密算法。

参考:

http://wiki.strongswan.org/projects/strongswan/wiki/Win7EapCert

http://wiki.strongswan.org/projects/strongswan/wiki/IOS_%28Apple%29

http://wiki.strongswan.org/projects/strongswan/wiki/Win7EapMultipleConfig

还有Strongswan的Mailing list。

原文http://tomem.info/blog/2011/10/724

===========

Strongswan+L2TP配置

由于需要给VPN添加IKEv2,而OpenSwan对于IKEv2的支持只有最基本的部分,更重要的是OpenSwan没有像 Strongswan一样的EAP-RADIUS插件可以实现Stongswan和Freeradius之间的直接通信(IKEv2必须),所以将服务器 上面的OpenSwan换成了Strongswan。

平台是Debian Squeeze,Strongswan的软件包安装自Debian Squeeze Backports,其余的来自于Debian stable。Debian Backports的作用是给稳定版本的Debian提供一些只有在Tesing/sid里面才有的新版本的软件包,而这些软件又是在stable的环境 下编译的,所以不用担心包依赖方面的问题。

从Backports安装软件的方法参照这里:http://backports-master.debian.org/Instructions/

Strongswan需要使用新版本的原因是Stable(Squeeze)里面的版本编译时没有–enable-nat-transport参数,这样的话Strongswan由于默认的安全特性(http://wiki.strongswan.org/projects/strongswan/wiki/FAQ)不允许进行NAT转发,从而无公网IP的客户端是无法与服务器建立连接的。

服务器结构依然是xl2tpd+swan,只是把OpenSwan换成了Strongswan。xl2tpd的配置跟上一篇 (http://tomem.info/blog/2011/04/577)是一样的,但是Strongswan的配置稍有不同,而错误信息又不是很 informative,花了几个小时才调试成功,所以写下来为后面的作参考。

几个常见的错误:

1.

client.ip.address:4500 #8: NAT-Traversal: Transport mode disabled due to security concerns

pluto[21315]: “l2tp”[3] client.ip.address:4500 #8: sending encrypted notification BAD_PROPOSAL_SYNTAX to client.ip.address:4500

这个是由于Strongswan没有编译–enable-nat-transport,因而无法进行NAT传输。

解决方法:重新编译,加上–enable-nat-transport。

2.

pluto[30735]: packet from client.ip.address:500: initial Main Mode message received on server.ip.address:500 but no connection has been authorized with policy=PSK

这个一般来说是IPSec的secrets错误,但是我在确认Secrets无误的情况下也遇到了这个,http://b.gkp.cc/2010/06/19/setup-ipsec-l2tp-on-centos-55/评论里面的某位仁兄也遇到了这个问题。在几番折腾无果的情况下注意到log里面有这么一行:

pluto[8384]: packet from client.ip.address:500: ignoring Vendor ID payload [IKE CGA version 1]

突然意识到Windows的L2TP使用的是IKEv1,而Strongswan默认使用的是IKEv2,会不会是这个问题?试之果然。

解决:在Strongswan的L2TP的配置段里面加上keyexchange=ikev1。

3.

pluto[1243]: “L2TP-PSK-noNAT”[2] client.ip.address:4500 #1: cannot respond to IPsec SA request because no connection is known for server.ip.address:4500[server.ip.address]:17/1701…client.ip.address:4500[client.ip.nat.address]:17/%any===client.ip.nat.address/32

pluto[1243]: “L2TP-PSK-noNAT”[2] client.ip.address:4500 #1: sending encrypted notification INVALID_ID_INFORMATION to client.ip.address:4500

这个乍看之下也像是PSK的设置错误,实际上不是。问题出在virtual_network的设置上面。

解决:Strongswan的setup段里面加上virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12。

配置文件范例:

 

1 # ipsec.conf - strongSwan IPsec configuration file
2  
3 # basic configuration
4  
5 config setup
6         # plutodebug=all
7         # crlcheckinterval=600
8         # strictcrlpolicy=yes
9         # cachecrls=yes
10         nat_traversal=yes
11         charonstart=yes
12         plutostart=yes
13         virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
14  
15 # Add connections here.
16  
17 conn L2TP-PSK-NAT
18         rightsubnet=vhost:%priv
19         also=L2TP-PSK-noNAT
20  
21 conn L2TP-PSK-noNAT
22         keyexchange=ikev1
23         authby=secret
24         pfs=no
25         auto=add
26         rekey=no
27         type=tunnel
28         keyingtries=3
29         left=server.ip.address
30         leftnexthop=%defaultroute
31         leftprotoport=17/1701
32         right=%any
33         rightprotoport=17/%any

原文http://tomem.info/blog/2011/10/721




来源: http://xijie.wordpress.com/2011/11/09/pptpl2tpfreeradiusmysql%E6%90%AD%E5%BB%BAvpn%E8%AE%A4%E8%AF%81%E5%92%8C%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6

—————————————————————————————————————————

需要翻墙利器? 请安装Wuala,查找和添加gfwblog为好友,就可高速下载翻墙软件,或访问http://tinyurl.com/gfwblog 直接下载。

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代、翻墙技术博客GFW BLOG 请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙) http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙)|翻墙:goo.gl/q2Cqo at 11/10/2011 01:40:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)