Oct 16

Windows 2000/XP/Vista/7/8: Cisco IPSec 安装设置

1.下载并安装Windows版的思科Cisco IPSec客户端:cisco-ipsec-client-2.2.0-rc2.zip (这是一款免费软件,不需要付款购买)
2.下载并解压 Cisco IPSec的配置文件: vpngf-ipsec-config.zip.
3.双击桌面上的”VPN_Access_Manager” 快捷方式,打开Cisco IPSec的客户端程序。
4.点击菜单栏上的 File(文件)按钮。
5.在下拉菜单中点击 Import(导入)按钮,导入一个配置文件 (比如 1.vpngf.com.vpn). 这个配置文件是从上面的 vpngf-ipsec-config.zip 解压获得的。
6.点击”VPN_Access_Manager”窗口上的 Connect(连接)按钮。
7.在弹出的窗口中输入你的用户名和密码,然后点击Connect(连接)按钮来启动连接。
8.连接成功完成后, 不要关闭弹出的窗口,否则连接将被断开。

以下小技巧为可选步骤,可以不配置:

小技巧 1: 在”VPN_Access_Manager”的Preference设置中,你可以选中”Minimize when connection succeeds(连接成功后窗口最小化)” 和 “Remember the connection user name(记住用户名)” 。
小技巧 2: 在”VPN_Access_Manager”的Preference设置中,你可以选择Windows Style(桌面风格)为 “Visible in System Tray only(仅在系统托盘可见)”。
小技巧 3: 保存用户名、密码:在桌面上创建程序 C:Program FilesShrewSoftVPN Clientipsecc.exe 的快捷方式,右键这个快捷方式后选择 属性(R),把“目标”改成以下内容(红色部分改成自己分配到的地址、用户名和密码。比如把n.vpngf.com.vpn修改为69.vpngf.com.vpn):
“C:Program FilesShrewSoftVPN Clientipsecc.exe” -r “n.vpngf.com.vpn” -u 用户名 -p 密码 -a
Mac OS X 10.5+:Cisco IPSec PSK VPN 安装设置

1.点击屏幕左上角,标题栏上的苹果标志。
2.点击“系统偏好设置”。
3.在“系统偏好设置”窗口中,点击“网络”。
4.在“网络”窗口中,点击左下角的“锁标志”,输入密码来解锁。
5.点击“+”按钮来添加一个新的VPN连接。
6.在弹出的窗口中,“接口:”选择“VPN”。
7.“VPN类型:”选择“Cisco IPSec”。
8.在“服务名称:”中输入自己的VPN名称。
9.点击“创建”按钮。
10.在“服务器地址:”中输入你的VPN服务器地址。
11.在“账户名称:”中输入你的VPN用户名。
12.在“密码:”中输入你的VPN密码。
13.点击“鉴定设置”。
14.在“共享的密钥:”中输入XXX。
15.点击“好”按钮。
16.点击“连接”按钮。

iPhone/iTouch/iPad:Cisco IPSec PSK VPN 安装设置

1.点击主屏幕的“设置”
2.点击“VPN”。
3.点击“添加VPN设置”。
4.从(L2TP、PPTP、IPSec)中选择“IPSec”标签。
5.在“描述”区域中,输入VPN名称。
6.在“服务器”区域中输入你的VPN服务器地址。
7.在“账户”区域中输入你的VPN用户名。
8.在“密码”区域中输入你的VPN密码。
9.在“密钥”区域中输入XXX。
10.点击“保存”。
11.按下“Home”键返回主屏幕。
12.点击“设置”。
13.点击“VPN”。
14.点击选中“VPN名称”。
15.点击“VPN”按钮、启动VPN连接。

Android:Cisco IPSec PSK VPN 安装设置

1.打开手机主菜单,选择“设置”
2.选择“无线和网络”里的“更多……”。
3.选择“VPN”。
4.选择“添加VPN”网络。
5.在“名称”区域中,输入VPN名称。
6.在“类型”列表中选择“IPSec Xauth PSK”。
7.在“服务器地址”区域中输入你的服务器地址。
8.在“L2TP密钥”和“IPSec标志符”不需要填写。
9.在“IPSec预共享密钥”中输入XXX。
10.在“DNS搜索域”不需要填写。
11.在“DNS服务器”中输入:8.8.8.8。
12.点击“保存”。
13.点击选中刚刚保存的VPN配置。
14.输入你的“用户名”和“密码”。
15.勾选“保存账户信息”。
16.点击“连接”按钮。

Oct 16

修改一下config.json,其中server字段为:

"server": "::",

如果使用Supervisor监视Shadowsocks运行的话,重启shadowsocks:

supervisorctl restart shadowsocks

没有使用Supervisor监视Shadowsocks运行的话,手动重启shadowsocks:

ssserver -c /etc/shadowsocks.json

参考:https://www.librehat.com/let-shadowsocks-server-listen-on-ipv4-and-ipv6-ports/

Oct 16

Q10貌似只支持Cisco IPSec VPN,所以不能选用PPTP协议,折腾了一天发现还是英文资料靠谱。

1.Server

racoon

raccon is an Internet Key Exchange (IKE) daemon for automatically keying IPsec connections. We’ll use this tool to establish our IPSec connection.

Since we are on Debian, we can simply use apt-get to install it:

apt-get install racoon

And set its configuration files as follows:

racoon.conf

# /etc/racoon/racoon.conf

path pre_shared_key “/etc/racoon/psk.txt”;
path certificate “/etc/racoon/certs”;

listen {
    isakmp SERVER.IP.ADDRESS [500];
    isakmp_natt SERVER.IP.ADDRESS [4500];
}

remote anonymous {
    exchange_mode aggressive, main, base;
    mode_cfg on;
    proposal_check obey;
    nat_traversal on;
    generate_policy unique;
    ike_frag on;
    passive on;
    dpd_delay 30;

    proposal {
        lifetime time 28800 sec;
        encryption_algorithm 3des;
        hash_algorithm md5;
        authentication_method xauth_psk_server;
        dh_group 2;
    }
}

sainfo anonymous {
    encryption_algorithm aes, 3des, blowfish;
    authentication_algorithm hmac_sha1, hmac_md5;
    compression_algorithm deflate;
}

mode_cfg {
    auth_source system;
    dns4 8.8.8.8;
    banner “/etc/racoon/motd”;
    save_passwd on;
    network4 10.12.0.100;
    netmask4 255.255.255.0;
    pool_size 100;
    pfs_group 2;
}

只需要修改listen的ip地址

psk.txt

Pre-shared key:

# /etc/racoon/psk.txt

# Group Name Group Secret
GROUP.NAME GROUP.SECRET

And set its permissions to 600:

chmod 600 /etc/racoon/psk.txt

我开始手贱,修改了psk.txt文件的权限,结果就是登录不上,log是个好东西,通过查看log提示权限有问题,修改权限后就可以登录了。

motd

Banner:

# /etc/racoon/motd

# Banner
Welcome to Cisco IPSec!

Accounts

To make it simple, we use system’s account system to validate our users:

useradd -MN -b /tmp -s /bin/false USER
passwd USER

iptables

Add the following rules to open relative ports and enable NAT.

iptables -A INPUT -p udp -–dport 500 -j ACCEPT
iptables -A INPUT -p udp –-dport 4500 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.12.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 10.12.0.0/24 -j ACCEPT

These rules may be lost after reboot. Consult this article to avoid this.

原文中第二条记录-dport前少了一条短线。

ipv4 forward

# /etc/sysctl.conf

net.ipv4.ip_forward=1

Run this command to enable this change:

sysctl -p /etc/sysctl.conf

2.Client

Linux

We can use vpnc as a client on Linux. Here is an example of its config:

# /etc/vpnc/default.conf

IPSec gateway SERVER.DOMAIN/IP
IPSec ID GROUP.NAME
IPSec secret GROUP.SECRET
IKE Authmode psk
Xauth username USER.NAME
Xauth password USER.PASSWORD
NAT Traversal Mode cisco-udp

Now we can connect or disconnect to the server using vpnc-connect or vpnc-disconnect.

3.Reference

Thanks to these articles for great help:

转自:http://diary.archangelsdy.com/blog/2012/07/29/cisco-ipsec-vpn-for-debian/

Oct 16

1.命令行查看vps性能

主要测试如下几个方面:
CPU

cat /proc/cpuinfo     (查看CPU信息)

得到cpu信息后可以到如下两个网站:
www.anandtech.com/Bench
www.cpubenchmark.net
你可以在这个网站上,查到你使用VPS的CPU怎么样,综合评分如何等。而且你需要知道vps一共几核,每核的频率是多少。总体来讲,单核高频不限,比多核低频的性能要好一些。

内存

cat /proc/meminfo    (查看内存信息)

硬盘检测

df -lh               (查看硬盘信息)

硬盘IO性能

dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync (硬盘IO性能测试)

如果超过10M,对正常建站就无影响。超过50M,就是非常给力状态。

下载速度

wget -O /dev/null http://cachefly.cachefly.net/100mb.test  (下载速度)

如果是11M/s,大概就是百兆口。70M/S,大概就是G口。您的VPS搭建好网站环境后,可以用其它的VPS去拽这个文件,得到出口的带宽。

2.使用unixbench测试vps性能

这个可以参考我的这篇文章:使用unixbench测试vps性能

3.VPS的访问速度测试

这个主要测试是PING值和观看TRACERT值来判断速度。大概这几个网站:

站长站:http://ping.chinaz.com ping.chinaz.com/tracert
17测:www.17ce.com
国外的:www.just-ping.com 
软件:speedtest.net/mini.php

转自:http://www.tennfy.com/1490.html

Oct 16

Ngrok可以使外网能够安全的访问内网Web主机,还支持SSH访问内网,上传或者下载文件比较方便,支持Mac OS X,Linux,Windows平台。

1.Ngrok下载运行
官网下载后直接解压得到一个二进制文件,在shell中执行./ngrok 80即可,默认会分配随机的二级域名来访问,转发到本机的80端口。可以通过-help参数来查看详细的说明,运行后如下提示:

Tunnel Status		online
Version			1.6/1.5
Forwarding		http://xxxxx.ngrok.com -> 127.0.0.1:8080
Forwarding		https://xxxxx.ngrok.com -> 127.0.0.1:8080
Web Interface		127.0.0.1:4040
# Conn			16
Avg Conn Time		558ms

这个随机的二级域名不便于记忆,可以修改成一个短小好记的,这是可以使用命令:

./ngrok -subdomain chu 80
./ngrok -subdomain=chu 80

2.tcp端口转发

意思就是可以在外网ssh到本机了,但是外网端口是随机分配的。

./ngrok -proto=tcp 22

外网登录命令为:

ssh root#chu.ngrok.com -p 34567

绑定顶级域名需要付费,有这个需求的可以购买,一年25美金。命令为:

./ngrok -hostname test.dorole.com 80

当然,还需要修改DNS记录才能正常访问。

3.Ngrok配置文件

有时候,不但需要访问内网网站,还需要SSH登录,这样的话命令就比较长,写一个配置文件比较方便。默认是放在~/.ngrok

auth_token: Cel40I5xxxxxxx
  tunnels:
    client:
       subdomain: "chu"
       proto:
         http: 80
         https: 80
     ssh:
       proto:
        tcp: 22

每一个隧道的配置节点都有五个参数,proto,subdomain,auth,hostname和remote_port,每个隧道必须有proto参数来指定本地地址和端口。auth参数用于在http(s)中身份认证,而remote_port用于在tcp隧道中指定远程服务器端口。如果没有配置subdomain参数,ngrok会默认一个二级域名与隧道节点一样的名字。

以上输入命令需要在前面加上./,如果觉得麻烦可以直接将ngrok文件放到/usr/bin文件夹,这样就不需要添加./了。当然,如果需要开机运行,还可以将它放到启动项里。

参考资料:
https://ngrok.com/
https://ngrok.com/usage
http://dorole.com/tag/ngrok/
http://lanvige.github.io/2013/12/02/test-the-web-locally-with-ngrok/