注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

linux 下虚拟网卡技术n2n:tap/tun  

2013-05-30 06:40:56|  分类: linux工具命令 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       笔者使用了openvpn,知道了N2N:TAP/TUN,朋友们在openwrt用得得心应手了。

       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。

 

N2N可以用公众服务器, 所以可以不用外网IP  不用端口映射,OpenVPN服务器必需要一个外网端口

 

N2N VPN的公共SuperNode

88.86.108.50     :  82
58.252.61.130   :  53 

#openwrt 下安装N2N

opkg update

opkg install n2n

 

openwrt路由路一  :

这个当VPN服务器,桥接到lan,  lan上有DHCP服务

________________________________________________________________

 #修改配置文件vi /etc/config/n2n

config edge
        option ipaddr           '0.0.0.0'
        option supernode        '88.86.108.50'
        option port             '82'
        option community        'openwrt'     #随便起个名称如 openwrt
        option key              '1234'              #密码
        option route            '1'

 

#修改启动文件 vi /etc/init.d/n2n  红色部分是添加的

start() {
 config_load n2n

 ifconfig edge0 mtu 1300    #修改MTU为1300
 brctl addif br-lan edge0  #把n2n桥接到lan  就可以用DHCP了
 #sleep 10
 #route add -net 172.25.161.0/24 gw 10.1.1.2  #添加路由

}

________________________________________________________________

 

openwrt路由路二 :

这个路由当VPN客户端,通过dhcp获取地址

________________________________________________________________

 #修改配置文件vi /etc/config/n2n

config edge
        option ipaddr           '0.0.0.0'
        option supernode        '88.86.108.50'
        option port             '82'
        option community        'openwrt'     #随便起个名称如 openwrt
        option key              '1234'              #密码
        option route            '1'

 

#/etc/config/network 设置
#添加一个n2n的网络
#n2n网络接口用 edge0  协议DHCP  如下 :

config 'interface' 'n2n'
 option 'proto' 'dhcp'
 option 'ifname' 'edge0'

#/etc/init.d/n2n  不用修改

________________________________________________________________

 

#启动n2n /etc/init.d/n2n  start#设置开机自己启动 /etc/init.d/n2n  enable#禁用设置开机自己启动 /etc/init.d/n2n  disable #根据自己的需要 设置路由表 、开放NAT转发服务端用法:supernode -l <listening port> 就这么简单。supernode -l 8888 &加到/etc/rc.local 里开机启动 windows版下载地址:http://www.vpnhosting.cz/n2nguien.exelinux 下虚拟网卡技术n2n:tap/tun - lzdzhy-itoedr - itoedr的it学苑linux 下虚拟网卡技术n2n:tap/tun - lzdzhy-itoedr - itoedr的it学苑  Window下使用dhcp获取地址  设置IP  0.0.0.0linux 下虚拟网卡技术n2n:tap/tun - lzdzhy-itoedr - itoedr的it学苑
   MTU调到 1300  ping值比较稳定 n2n_DHCP 是否启用DHCP 连线,如果启用,IP 位址将由其他的DHCP 主机自动分配(请先确定n2n网路上有DHCP 机制)。
n2n_IP 设定连线后的VPN IP,在同一个community name ,各节点的IP 位址不可重复。
n2n_cname 网路名称(community name),同一个网路名称的不同节点可互通。
n2n_pass 网路密码,网路名称的连线密码。
SNODE_Host Supernode 主机位址,格式为IP:Port。
SNODE 开启Supernode 模式,预设是关闭。
SNODE_PORT 启用Supermode 时所用的通讯埠号。

*各节点必须连接同一个Supernode 主机且网路名称相同才可以互连。
*有一个公用Supernode 主机可用,位址是88.86.108.50:82。
*如果有安全性考量,也可以使用自己的主机作为Supernode,只要修改启动档参数SNODE=on,且Supernode 主机若位于防火墙内,必须开通SNODE_PORT 所设定的通讯埠。
  评论这张
 
阅读(269)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017