突破VLAN

网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息 。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等 。当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段 。VLAN是网络交换机的一种技术,可以把不同的电脑划分在不同的网络中,使其不能互相通信,以达到提高安全性和网络性能的目的 。要跨越VLAN通信,必须借助路由器或者3层交换模块 。
我市的ADSL网在接入层使用了Cisco的Catalyst6509型三层交换机,在端口上设置了VLAN,把同一IP段的用户相互隔开 。这样一来,安全性倒是高了,可惜平时打游戏、共享文件都不方便,需要通过其他IP段的朋友中转 。于是突破VLAN成了当务之急 。
我所在的段,IP地址为10.145.254.x,网关为10.145.254.1,采用24位的掩码 。因为是同一IP段,所以电脑不会自动通过路由器转发数据,而妄想通过直接通信的方式联络对方电脑 。在VLAN环境下,ARP是收不到回应的,因此直接通信也就被禁止了 。 
要想实现互通,必须强制电脑把数据发给路由器
大家知道,路由器判断一个数据包是否应该转发,是以其2层地址和3层地址为依据的 。如果该数据包的目标MAC地址不是路由器接口的MAC地址,那么这个包根本不是给路由器的,而是HUB产生的1层广播包;如果目标MAC地址与路由器接口的MAC地址相同,但目标IP地址并不是路由器接口的IP地址,这个包就应该被路由出去;如果目标MAC地址和IP地址都与路由器接口相匹配,那这个数据包是发给路由器本身的 。
电脑在发送数据时,先判断目标和自己是否在同一IP网段 。如果在同一网段,则发送ARP请求,查询对方的MAC地址,然后封包发送;如果不在同一IP网段,则发送数据包,并把包头中目标MAC地址设置为本子网的路由器接口的MAC地址,而目标IP地址则是最终接收数据的电脑的IP地址的数据包 。路由器收到数据以后,就会把它转发出去 。
要强制电脑把本来直接发送的数据发给路由器,可以从ARP协议上下手,也可以从判断是否同一网段的过程下手 。
使用ARP的方法如下:
1、使用arp -a命令查看已知的MAC列表 。因为目前VLAN里只有网关和本身,所以这里只显示网关的MAC地址:

    推荐阅读