基于VLAN的策略路由的应用

出处:平常人 发布于:2009-09-25 12:03:06

  1 引言

  随着网络的普及,小型企业的局域网在资金短缺的情况下如何花更少的钱去实现较为复杂的网络功能、满足人们对网络功能更高的需求,是网络技术人员关心的问题。在Linux系统中网络技术人员可根据用户需求实现丰富的路由功能,其中很多功能都可以和路由器产品相媲美。基于Linux系统强大的功能,这里提出通过架设Linux服务器解决该问题,经济而安全。

  本地一家工厂初步搭建了局域网,由于经济条件有限,只购买较简单的网络连接设备,通过光纤接入本地ISP。随着网络应用的发展,现需要划分几个网段,规定机房用户不允许访问财务部门和办公室,财务部门的计算机不允许访问Internet。大多数解决这类问题的做法都是通过使用交换机结合路由器共同完成。这种做法虽然实现相对简单,较易维护,但成本高。因此,本文根据实际条件和具体需求制定出一种技术方案:安装一台Linux服务器,通过划分虚拟局域网 (VLAN)、设置策略路由解决问题。

  2 VLAN的概念

  2.1 VLAN的定义

  VLAN(Virtual Local Area Network)又称为虚拟局域网,该技术实现了与物理位置无关的逻辑工作组划分。采用VLAN技术可将广播数据报限制在同一VLAN内,提高了网络整体的有效带宽。同时,可根据实际情况分别对各VLAN定义不同级别的安全策略,有效地避免非法入侵,增强了网络的安全性。下面介绍三种主要VLAN的定义方式。

  (1)基于端口的VLAN定义通过交换机的端口划分来定义虚拟子网,该方式和物理网段划分较为类似,其主要缺点是无法实现与物理位置无关的虚拟网配置,如果工作站在端口间移动,则有必要对VLAN重新进行配置,这种方法运用在实际中比较普遍也成熟。

  (2)基于MAC地址的VLAN定义用节点网卡的MAC地址决定其所隶属的虚拟子网。这种方式实现了与物理位置无关的虚拟网配置,不足之处在于初始化时,网络管理人员必须手工配置节点的MAC地址,节点增加时,管理负担也增大,在节点数目庞大的网络中,显然不适宜这种配置方式。

  (3)基于IP策略的VLAN定义 通过网络层协议或IP地址来确定虚拟网。这种VLAN定义方式比前面两种方式更加灵活。交换机可根据各节点网络地址或报文协议自动将其划分成不同的VLAN。

  2.2 在Linux系统中VLAN的实现

  大多数情况下在Linux系统中主要使用基于端口的802.10 VLAN。每一个支持802.IQ协议的网络设备,在发送数据包时,都在以太帧头中增加一个4字节的Tag标记,以指明该数据包属于哪一个VLAN。当数据包进入另一个支持802.1Q协议的网络设备时,会根据802.1Q帧中的Tag标记交换到所属VLAN。在应用中一般是把支持802.1Q协议的2层交换机和3层交换机相连,这样2层交换机就可以利用3层交换机的路由功能进行不同VLAN之间的数据转发。

  3 在Linux系统中策略路由的实现

  在Linux系统上实现策略路由也是基于上述原理。通过RPDB实现, RPDB主要由多路由表和规则组成,由规则选取表。路由表以及对其的操作和其对外的接口是整个RPDB的部分。路由表主要由table,zone, node这些主要的数据结构构成。对路由表的操作主要包含物理的操作以及语义的操作。

  3.1 策略路由

  策略路由就是不仅根据数据报的目的地址,而且还根据数据报的其他一些特性,如:源地址、IP协议、传输层端口,甚至是数据包的负载部分内容进行路由选择。而传统路由算法都是根据IP包目的地址进行路由选择。

  3.2 应用Linux策略路由的一般步骤

  在Linux上应用策略路由,首先根据实际应用分析确定路由策略,然后一般采取以下步骤:

  (1)创建多路由表通过编辑/etc/iproute2/rt jables文件创建路由表:

  (2)向路由表添加路由 向路由表中增加路由使用iproute命令,例如:向user_table1路由表中增加路由:

  ip route add 202.201.100.0/24 via 192.168.100.1 tableuser_table 1

  (3)建立相应的规则使用ip rule命令设置规则,例如:ip rule add from 192.168.100.0/24 table tlSer table1//来自192.168.100.0/24的IP包使用路由表user_table1(基于源地址选取路由表)ip rule add to 202.11 1.100.0/24 table user table1 //去往202.111.100.0/24的IP包使用路由表user_table1(基于目标地址选取路由表)

  4 解决方案

  建设一个工厂局域网,局域网中只有2层交换机.通过一台具有NAT功能的路由器接人当地ISP,此局域网中有3种用户类型上网:机房用户,办公室用户,财务部门用户。现准备架设一台Linux服务器,划分3个VLAN,分别为:VLAN10(用于开放机房)网段为192.168.1.0/24,VLAN 11(用于办公室)网段为192.168.2.0/24,VLAN 12(用于财务部门)网段为192.168.3.0/24。规定机房用户不允许访问财务部门和办公室计算机,财务部门用户不允许访问Internet,而办公室用户允许访问Internet和财务部门的计算机。该实例中Linux系统所使用内核为2.4.20。网络拓扑图如图1所示。要求Linux内核支持802.1Q VLAN,并支持策略路由。

  (1)创建各个VLAN

  vconfig add eth0 10

  vconfig add eth0 11

  vconfig add eth0 12

  这样,在系统中就创建了3个基于802.IQ VLAN,由于在eth0接口配置3个VLAN系统会自动加载802.1Q模块。另外,在本例中需把与eth0相连的交换机端口设置为Trunk模式。

  (2)设置各虚拟VLAN接口IP地址

  ip address add 192.168.1.253/24 dev eth0.10//给eth0.10设置IP地址,相当于设置VLAN10的地址,此地址就是VLAN 10用户的默认网关,以下含义相同:

  ip address add 192.168.2.253/24 dev eth0.11

  ip address add 192.168.3.253/24 dev eth0.12

  ip link set dev eth0.10 up//启用接口。以下含义相同

  ip link set dev eth0.11 up

  ip link set dev eth0.12 up

  设置各接口 IP地址也可以用ifconfig命令。

  (3)编辑/ete/iproute2/rt_tables文件以创建相应路由表:

  100 ji_fang

  101 ban_gong

  102 cai_wu

  (4)向各路由表中添加路由信息

  ①向ji_fang表中添加路由ip route add 0.0.0.0/0 via192.168.100.2 table ji_fang//设置缺省路由访问Internet(由于在机房不允许访问办公室和财务部门,所以只需要设置默认路由访问Internet)

  ②向ban_gong表中添加路由ip route add 192.168.3.0/24 dev eth0.12 table ban_gong//设置访问财务部门路由ip route add 0.0.0.0/0 via 192.168.100.2 table ban_gong//设置缺省路由访问Internet

  ③向cai_wu表中添加路由ip route add 192.168.2.0,24dev eth0.11 table cai_wu//设置访问办公室路由

  (5)设置策略路由规则

  ip rule add from 192.168.1.0/24 table ji_fang//来自192.168.1.0/24的包使用路由表ji_fangip rule add from 192.168.2.0/24 table ban_gong//来自192.168.2.0/24的包使用路由表ban_gongip rule add from 192.168.3.0/24 table eai_wu


  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!