基于VLAN的策略路由的应用
随着网络的普及,小型企业的局域网在资金短缺的状况下如何花更少的钱去实现较为复杂的网络功能、满足人们对网络功能更高的需求,是网络技术人员关怀的问题。在系统中网络技术人员可按照用户需求实现丰盛的路由功能,其中无数功能都可以和路由器产品相媲美。基于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上应用策略路由,首先按照实际应用分析确定路由策略,然后普通实行以下步骤:
route add 添加路由(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_go
ng//设置拜访财务部门路由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