Sep 05

1.编译安装

svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v2
make
sudo make install

2.Supernode 节点调试

supernode -l [listening port] [-v] [-h]
#测试的时候,建议开启调试日志,比如:
supernode -l 8080 -v

3.添加节点

sudo edge -d edge0 -a 10.0.0.3 -c chun -u 1000 -g 1000 -k chunchu -l 111.111.111.111:8080 -m e8:5e:02:2a:21:32

4.添加系统启动自动运行

sudo vim /etc/rc.local 
sudo edge -d edge0 -a 10.0.0.3 -c chun -u 1000 -g 1000 -k chunchu -l 111.111.111.111:8080 -m e8:5e:02:2a:21:32

Linux 下安装最为方便,按照上述的步骤的1、3、4即可。

OpenWrt 路由器的配置参照 连接

Windows 下需下载 N2N 的GUI客户端,地址为 http://sourceforge.net/projects/n2nedgegui/

Android 下 N2N 客户端下载地址为 https://play.google.com/store/apps/details?id=org.zhoubug.n2n_gui

Mac OS 下的安装稍稍麻烦一点,需要安装 tun/tap 补丁,然后下载 N2N 源代码后需要打一下 补丁,在tuntap_osx.o文件里, 删除void tunclose(tuntapdev *device)这行,并将tunclose(device)替换为tuntapclose(device),改动这二处就可以了,然后编译安装。Mac 下会自动生成 tun 设备 tap0, 所以运行时不用指定-d 参数:

sudo edge -a 10.0.0.5 -c chun -k chunchu -u 1000 -g 1000 -m 5c:96:5d:8c:2c:4f -l 111.111.111.111:8080

参考资料:
1.http://www.shuyz.com/n2n-vpn-network-introduction-and-config.html
2.http://www.vpnhosting.cz/wiki/index.php/N2n_Gui_En
3.http://luca.ntop.org/n2n.pdf
4.http://ahui.us/post/p2pvpn_zhi_n2n_an_zhuang_shi_yong.html
5.http://linux.die.net/man/8/edge

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

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/