Centos VPS+黑莓VPN教程

@bao3童鞋废寝忘食的折腾黑莓VPN的解决方法,总算有了结果:chinablock.me/bbvpn(需翻墙),他那是在Debian下安装racoon搞定的,可是我的VPS上系统是Xen CentOS的,所以方法略有不同,配置文件基本上按他上面的做法,同时参考了这里的解决方案,在此感觉他们的努力。

1. 安装IPSec-tools/racoon

#32bit
wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/i386/ipsec-tools-0.8.0-1.el5.pp.i386.rpm
wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/i386/ipsec-tools-libs-0.8.0-1.el5.pp.i386.rpm
yum localinstall --nogpgcheck ipsec-tools-libs-0.8.0-1.el5.pp.i386.rpm ipsec-tools-0.8.0-1.el5.pp.i386.rpm
#Add for 64bit
wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/x86_64/ipsec-tools-0.8.0-1.el5.pp.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/x86_64/ipsec-tools-libs-0.8.0-1.el5.pp.x86_64.rpm
yum localinstall --nogpgcheck ipsec-tools-libs-0.8.0-1.el5.pp.x86_64.rpm ipsec-tools-0.8.0-1.el5.pp.x86_64.rpm

2. 配置(说明参见@bao3童鞋的文章)

path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
log warning;
remote anonymous {
    exchange_mode aggressive;
    lifetime time 1440 min;
    initial_contact on;
    verify_identifier on;
    mode_cfg on;
    ike_frag on;
    passive on;
    proposal_check obey;
    generate_policy unique;
    nat_traversal on;
    dpd_delay 200;
    proposal {
        encryption_algorithm aes 256; #3des,des;
        hash_algorithm sha1;
        authentication_method xauth_psk_server; #pre_shared_key;
        dh_group 2;
    }
}
sainfo anonymous {
    lifetime time 10 min;
    encryption_algorithm aes 256, 3des, blowfish;
    authentication_algorithm hmac_sha1, hmac_md5;
    #compression_algorithm deflate;
    compression_algorithm lzs;
}
padding {
    #to hinder guessing
    randomize on;
    randomize_length on;
    strict_check off;
    exclusive_tail on;
}
mode_cfg {
    auth_source system;
    conf_source local;
    default_domain "local";
    pool_size 10;
    network4 10.0.88.100;
    netmask4 255.255.255.0;
    dns4 8.8.8.8;
    banner "/etc/racoon/motd";
    auth_throttle 3;
    #pfs_group 2;
}

3. 修改psk.txt(自个修改test部分)
# cat /etc/racoon/psk.txt

#group name group Secret
test test

4. 添加欢迎词motd(可选)
# cat /etc/racoon/motd

Welcome to IPSec world!

5. 修改iptables
请参考《VPN在Xen和OpenVZ下配置iptables的差别》Xen部分

iptables -A INPUT -p udp -m udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4500 -j ACCEPT
iptables -A INPUT -p esp -j ACCEPT
iptables -A FORWARD -s 10.0.88.0/255.255.255.0 -j ACCEPT
iptables -A POSTROUTING -s 10.0.88.0/255.255.255.0 -o eth0 -j MASQUERADE
service iptables save
service iptables restart

补充:如果执行“iptables -A POSTROUTING”报错:iptables: No chain/target/match by that name
原因是没有指定nat表为缺省表,解决方法是增加“-t nat”参数,参见:http://is.gd/3PFk4O
iptables -t nat -A POSTROUTING -s 10.0.88.0/255.255.255.0 -o eth0 -j MASQUERADE

5. 修改net.ipv4.ip_forward为1

sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sysctl -p

6. 添加racoon服务并启动

chkconfig racoon on
service racoon start

调试命令:# racoon -d -F -f /etc/racoon/racoon.conf

如果没有出错按Ctrl+C退出程序,然后以服务方式运行,输出日志:
cat /var/log/messages

清空日志再调试:
cat /dev/null > /var/log/messages

7. 黑莓客户端配置
搜索“Cisco IPSec VPN 安装配置说明”,可以找到好多PDF文件,照着方案一,注意几个容易出错的地方:
a) 启动扩展验证(Enable extended authentication)要钩选
b) IPSec加密和无用数据组选IKE密钥(比如AES 256)和IKE无用数据(比如HMAC SHA1 160)两部分的组合(比如AES256-SHA1)。
c) 登录组用前面第3步的设置,用户用VPS的用户,可以用“useradd username -s /sbin/nologin -M”新建。

配置说明的一个链接供参考:Cisco_IPSec_VPN_Guide_for_BlackBerry_v1.3.pdf

8. 问题
a) ERROR: racoon: MLS support is not enabled. // 忽略之
b) ERROR: libipsec failed pfkey open (Address family not supported by protocol) // 你的VPS不支持modprobe af_key,估计没戏了,参考http://blog.csdn.net/open_free_share/article/details/5159112
c) ERROR: no suitable proposal found. // 没钩前面第7条a)项。

9. 验证
按前面的配置说明成功连接后下载Twitter官方客户端,手机自带浏览器访问http://blackberry.com/twitter(直连),没有黑莓App帐户选第二个按钮完成安装。

如果先运行Twitter客户端再开启VPN可能会登录失败,解决办法是重启或杀进程(含twitter_lib进程?)。

总结:黑莓能走VPN的程序太少了,Twitter官方客户端能行,黑莓自带浏览器不行,据说ucweb可行,没试过

PS. 只能走WIFI,多谢@ffxk的补充。

Tags: ,

10 Responses to “Centos VPS+黑莓VPN教程”

  1. ffxk说道:

    残废,只能在wifi下使用

  2. ttsaon说道:

    请问黑莓os 6 os 7都可以吗?

  3. chenui.com说道:

    以前就在vps上配置过ipsec,总是不成功,不能加载racoon.conf中的配置,我依次把每条语句注释后,重新加载racoon,发现在racoon.conf文件中不能有remote anonymous的选项,注释后可以启动racoon,取消注释后,racoon就不能打开,完全照你的文章配置,也同样不成功,提示
    2012-10-01 20:53:45: INFO: Reading configuration from "/etc/racoon/racoon.conf"
    2012-10-01 20:53:45: DEBUG: call pfkey_send_register for AH
    2012-10-01 20:53:45: DEBUG: call pfkey_send_register for ESP
    2012-10-01 20:53:45: DEBUG: call pfkey_send_register for IPCOMP
    2012-10-01 20:53:45: DEBUG: reading config file /etc/racoon/racoon.conf
    2012-10-01 20:53:45: ERROR: /etc/racoon/racoon.conf:8: "e" syntax error
    2012-10-01 20:53:45: ERROR: fatal parse failure (1 errors)
    racoon: failed to parse configuration file.
    老大你能解决这个问题吗,还是我的vps不支持

    • lordong说道:

      看你这错误提示应该是有拼写错误吧,仔细检查一下吧,我没碰到此类问题。
      有个网友的VPS上配的VPN在OS5.0上没问题但在OS6.0下连不上,我也没找到解决办法。

  4. lu0s说道:

    有一事不明,VPN用户组设置后,Cisco的登录用户密码在哪里设置?
    求帮助

  5. ym说道:

    hi.我按你的文章做到了第6步,但是我的设备是安卓,如何在安卓上配置客户端方面的东西?

  6. ym说道:

    另外windows桌面系统可以用这个方法连接vpn吗

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。