N2N VPN服务器的搭建
2008年,ntop的作者Luca Deri开始研究p2p VPN,他一方面看到公众对p2p VPN有着强烈的需求,另一方面又不满足已有产品的现状,于是n2n诞生了。 如上图所示,n2n是一个二层架构的VPN网络,其中super node提供场所,让两个位于NAT/防火墙之后的edge node进行会面,一旦双方完成首次握手,剩下的数据流就之发生在两个edge node之间,如果有一方的NAT属于对称型(symmetrical),super node则还需继续为双方提供数据包的转发;edge node负责数据流的加解密,原理很简单。 对于一个VPN而言,主要涉及封装和加解密两个步骤,edge node使用UDP协议进行封装,目的是为了更好的兼容防火墙的策略,因为很多防火墙禁用了非TCP/UDP协议禁用。加密算法则采用了twofish,好处开源、简便,处理速度快。 为了降低设计难度,n2n利用了tap/tun虚拟网卡,这样做得好处是一方面软件尺寸极小,一方面源码的依赖性极低,可以很容易移植到嵌入式设备中,目前有openwrt的版本,在未来的计划中,还将移植到android和iPhone中。 相对于hamachi,n2n最大的优势在于: 1. 开源,任何人都可以检查代码,看看是否有猫腻,而hamachi是闭源的,LogMeIn是否会截获密钥不得而知,一旦截获密钥,就可以对流经 hamachi服务器的数据包进行解码。n2n的加解密过程由edge node实现,只有两端的用户知道协商好的共享密钥,super node无从知晓。 2. 灵活性,n2n允许用户在Internet上自行创建super node,也可以利用任何一个公开的super node。 hamachi用户则必须登录到LogMeIn服务器才能创建隧道。 n2n支持的OS也非常广,Linux、FreeBSD、MAC OSX、甚至windows 官方网站:http://www.ntop.org/n2n/ 软件下载:http://sourceforge.net/projects/ntop/files/
Linux学习笔记之screen命令的使用
screen是个好东西,这几天一直在用它。 假如遇到一些比较费时间的程序,但是又不能一直开着电脑观察他,总要下班关电脑走人的说,这时screen就派上用场了。 1.如果在screenCRT中开启窗口,然后运行一个程序,当注销时,程序会自动毁掉。 2.使用nohup可以解决此问题,把程序放到后台运行,查看nohup.out可以查看程序运行的怎样了,但是使用nohup把程序放到后台,就再也无法切换程序到前台了,而screen可以。 使用方法: 1.安装,centos默认没有安装,安装一下。 2.进入screen。 直接输入screen回车即可,此时会进入一个新的终端。可以进行要长时间运行的作业。 3.返回到主终端(screen仍然在后台运行) Ctrl+A 然后按D 屏幕显示[detached] 4.返回到screen screen -ls There is a screen on: 18245.pts-1.imobile-sv006-200 (Detached) 1 Socket in /var/run/screen/S-root. 可以看到所有的screen socket,使用screen -r 18245 即可返回。
linux学习笔记之diff和patch命令
关键字:Linux 学习笔记 运维 系统 命令 一、命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处。可是做成diff记录也就是补丁。 patch就是利用diff制作的补丁来打到文件(夹),使其文件文件夹一致。 二、语法 diff [options] file1 file2 patch [options] ori < patchfile 三、主要参数 diff [options] -a:将所有文件当作文本文件来处理。 -b或–ignore-space-change 忽略空格造成的不同。 -B或–ignore-blank-lines 忽略空行造成的不同。 -c:使用纲要输出格式。 -H:利用试探法加速对大文件的搜索。 -I:忽略大小写的变化。 -n –rcs:输出RCS格式。 -r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。 -N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。 -u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。 patch [options] -p0 选项要从当前目录查找目的文件(夹) -p1 选项要忽略掉第一层目录,从当前目录开始查找。 四、diff使用方法的实例说明
Linux学习笔记之cut命令和uniq命令
关键字:Linux 系统 学习笔记 运维 命令 脚本 cut顾名思义,切割,主要用来对内容进行切割,也可以说过滤。 一、截取连续N个字符 [root@vps ~]# cat cut.txt2 wsss wshhj wiu sjk swksj aj hsjdkhfdkssa s:xz [root@vps ~]# [root@vps ~]# cut -c 1-2 cut.txt2 ###截取字符 ws sj hs [root@vps ~]# 二、按分隔符切割###默认是tab [root@vps ~]# cut -f 2 cut.txt2 wshhj swksj hsjdkhfdkssa s:xz [root@vps ~]# ###自定义切割符 [root@vps ~]# cut -d ‘:’ -f 1 [...]

