XX校校园网实现(VLAN及策略路由的实现)

发表于:2007-07-04来源:作者:点击数: 标签:
XX校校园网实现 [size=18:4176ba45c1][b:4176ba45c1]一、 网络 拓扑图(附件所示)及网络 规划:[/b:4176ba45c1][/size:4176ba45c1] 交换机为Cisco2924,划分为3个VLAN,VLAN10给办公室用,VLAN13给教室用,VLAN12为 服务器 区域,将交换机的第24口置为trunk

XX校校园网实现

[size=18:4176ba45c1][b:4176ba45c1]一、网络拓扑图(附件所示)及网络规划:[/b:4176ba45c1][/size:4176ba45c1]


    交换机为Cisco2924,划分为3个VLAN,VLAN10给办公室用,VLAN13给教室用,VLAN12为服务器区域,将交换机的第24口置为trunk模式(VLAN中继线)。

    网关机采用Linux系统,安装有两块卫星卡,通过两个Modem拨号并建立VPN,给office分配子网为192.168.9.0/27,教室为192.168.10.0/24,服务器区域为192.168.5.0/28。

    另外要求office在9:00——22:00能够上网,Classroom在18:30——22:00能够上网,并且每个子网都可以访问192.168.5.0/28内的web服务器。
教室不能访问办公室。

[size=18:4176ba45c1][b:4176ba45c1]二、Cisco2924交换机上VLAN的配置:[/b:4176ba45c1][/size:4176ba45c1]
   在Cisco2924交换机上,将1—8号端口设置为VLAN10,将9—16号端口设置为VLAN13,将17—22号端口设置为VLAN13,将23号端口设置为VLAN1以便管理交换机。将24号端口设置为中继线路。

    VLAN的划分采用一般方法即可,这里需要强调的是中继线路的配置:

    Cisco2924#conf t    (进入全局配置模式)

    Cisco2924(config)#interface fastEthernet0/24    (进入24号端口配置模式)

    Cisco2924(config-if)#switchport mode trunk    (将24号端口设置为中继模式)

    Cisco2924(config-if)#switchport trunk encapsulation dotlq    (将数据帧的封装格式设置为802.1Q,缺省为Cisco专用的isl。)

    Cisco2924(config-if)#switchport trunk allowed vlan remove vlan-list     (将不需要进行VLAN中继的VLAN列表删除,如果是全部,可以用all参数。)

    Cisco2924(config-if)#switchport trunk allowed vlan add vlan-list 1—13    (将1—13号VLAN加入到VLAN中继 列表。) 

[size=18:4176ba45c1][b:4176ba45c1]三、Linux系统(Gataway)上的VLAN配置:[/b:4176ba45c1][/size:4176ba45c1]

    1、编译内核,使内核支持802.1Q VLAN。

    下载Linux2.4.20内核:http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2

    cp linux-2.4.20.tar.bz2 /usr/src

    tar -jxvf linux-2.4.20.tar.bz2

    ln -s linux-2.4.20 linux

    cd linux

    make menuconfig

    Networking options ---><M> 802.1Q VLAN Support (可以编译为模块或编译进内核。)

    ………………

    编译完成后启用新内核。

    2、VLAN的配置

    下载VLAN配置工具软件:http://www.candelatech.com/~greear/vlan/vlan.1.7m.tar.gz

    tar -zxvf vlan.1.7m.tar.gz

    cd vlan

    cp vconfig /usr/sbin

  [color=red:4176ba45c1][i:4176ba45c1]  注:  如果需要支持基于MAC地址划分的VLAN,需要给内核打补丁(vlan.1.7m.tar.gz中有),并将macvlan_config拷贝到/sbin下,用macvlan_config命令来进行VLAN配置。[/i:4176ba45c1][/color:4176ba45c1]

    (1)、创建VLAN10、VLAN12、VLAN13

        vconfig add eth0 10

        vconfig add eth0 12

        vconfig add eth0 13

   (2)、为接口设置IP地址:

        ip address add 192.168.5.3/28 dev eth0.12    (DMZ区域的网关)

        ip address add 192.168.10.1/24 dev eth0.13    (Classroom的网关)

        ip address add 192.168.9.1/27 dev eth0.10    (office的网关)

        ip link set dev eth0.12 up    (启用设备)
        ip link set dev eth0.10 up
            ip link set dev eth0.13 up    

[size=18:4176ba45c1][b:4176ba45c1]四、配置拨号[/b:4176ba45c1][/size:4176ba45c1]

    1、创建Office的拨号网络:

    (1)创建拨号脚本文件:/etc/ppp/dialisp1

#!/bin/sh

 /usr/sbin/pppd /dev/ttyS0 57600 connect '/usr/sbin/chat -f /etc/ppp/chat95788' login user 95788 mru 1500 mtu 1500 crtscts file /etc/ppp/options.pstn_isp1

    (2)创建拨号用的会话文件:/etc/ppp/chat95788

"" at
OK atm3
OK atdt95788
CONNECT
    (3)、创建拨号用的会话文件:/etc/ppp/options.pstn_isp1

local
nodefaultroute
noauth
login
user 95788
mru 1500
mtu 1500
crtscts
updetach
   
[i:4176ba45c1][color=red:4176ba45c1]注:由于有多个拨号,不能获取缺省路由,所以有nodefaultroute。[/color:4176ba45c1][/i:4176ba45c1]
     
2、创建Classroom的拨号网络:

(1)创建拨号脚本文件:/etc/ppp/dialisp2

#!/bin/sh

 /usr/sbin/pppd /dev/ttyS1 57600 connect '/usr/sbin/chat -f /etc/ppp/chat9_95788' login user 95788  mru 1500 mtu 1500 crtscts file /etc/ppp/options.pstn_isp2

(2)创建拨号用的会话文件:/etc/ppp/chat9_95788

"" at
OK atm3
OK atdt9,,95788
CONNECT

    [color=red:4176ba45c1][i:4176ba45c1]注:该电话需要拨9字头[/i:4176ba45c1][/color:4176ba45c1]
    

    (3)、创建拨号用的会话文件:/etc/ppp/options.pstn_isp2

local
noauth
login
user 95788
nodefaultroute
mru 1500
mtu 1500
crtscts
updetach

[size=18:4176ba45c1][b:4176ba45c1]五、创建VPN(卫星)拨号脚本:[/b:4176ba45c1][/size:4176ba45c1]

    1、下载Linux下的VPN客户端软件:http://pion.xs4all.nl/~elf/pkg/pptp-linux-1.1.0.tar.gz

    解压后将pptp文件拷贝到/usr/sbin下。

    2、下载卫星卡的Linux驱动程序:
 
    3、创建office的pptp拨号脚本:/etc/ppp/dialpptp1

ip route add 210.12.254.4 dev ppp0    (x.x.x.x 为ISP提供的VPN服务器地址,该命令设置访问x.x.x.x的路由。)

sleep 2

/usr/sbin/pptp 210.12.254.4 file /etc/ppp/options.pptp1    (建立PPTP连接)

 /etc/ppp/options.pptp1为建立office的VPN连接的选项文件,其内容如下:

local
user username
+chap
remotename 210.12.254.4
noauth
mru 1400
mtu 1400
updetach

 [i:4176ba45c1][color=red:4176ba45c1]注:由于在PPTP内还要对数据进行封装,包头会占去一定的字节,所以其mru 和 mtu值要比ppp的小。[/color:4176ba45c1][/i:4176ba45c1]


    4、创建Classroom的pptp拨号脚本:/etc/ppp/dialpptp2

ip route add x.x.x.x dev ppp2    (x.x.x.x 为ISP提供的VPN服务器地址,该命令设置访问x.x.x.x的路由。)

sleep 2

/usr/sbin/pptp x.x.x.x file /etc/ppp/options.pptp2    (建立PPTP连接)


    /etc/ppp/options.pptp2为建立office的VPN连接的选项文件,其内容如下:

local
user username
+chap
remotename x.x.x.x
noauth
mru 1400
mtu 1400
updetach

    5、进行拨号测试

    注意拨号的先后顺序。

[size=18:4176ba45c1][b:4176ba45c1]六、设置路由策略:[/b:4176ba45c1][/size:4176ba45c1]

1.设置路由表名称:

编辑/etc/iproute2/rt_tables文件,在文件的尾部加入下面的两行:

100    classroom (将编号为100 的路由策略命名为classroom)

110    office (将编号为110的路由策略命名为office)

2.设置路由:

(设置教室的路由表)
ip route add 192.168.5.0/28 dev eth0.12 table classroom

(设置办公室的路由表)
ip route add 192.168.5.0/28 dev eth0.12 table office


(设置路由策略) 
ip rule add from 192.168.9.0/27 table office (来自192.168.9.0/27 的数据包走 office 表)
ip rule add from 192.168.10.0/24 table classroom (来自192.168.10.0/24 的数据包走 classroom 表)
ip rule add to 192.168.9.0/27 table main (去往192.168.9.0/27 的数据包走 main 表)
ip rule add to 192.168.10.0/27 table main (去往192.168.10.0/27 的数据包走 main 表)

3.设置缺省路由:

根据前面的描述,我们想要教室和办公室分别使用不同的Modem上网,因此我们为classroom和office表设置不同的缺省路由。

ip route add default dev ppp1 table offcie

ip route add default dev ppp3 table classroom

[color=red:4176ba45c1][i:4176ba45c1](注:ppp1为基于ppp0的 VPN 连接,ppp3为基于ppp2的 VPN 连接。)[/i:4176ba45c1][/color:4176ba45c1]

一切已OK,现在的事情就是进行NAT设置及脚本的整理了,至于说分时段上网,可以通过crond来进行控制。

[color=blue:4176ba45c1][size=24:4176ba45c1]将上面的几个执行脚本整理如下:[/size:4176ba45c1][/color:4176ba45c1]1、划分VLAN的脚本,以及本地路由和路由策略需要开机就执行,将他放入/etc/rc.local内:
/sbin/ip addr add 0.0.0.0 dev eth0
/sbin/ip link set dev eth0 up

/sbin/vconfig add eth0 10
/sbin/vconfig add eth0 12
/sbin/vconfig add eth0 13

/sbin/ip route add 192.168.5.0/28 dev eth0.12 table classroom
/sbin/ip route add 192.168.5.0/28 dev eth0.12 table office

/sbin/ip rule add from 192.168.9.0/27 table office 
/sbin/ip rule add from 192.168.10.0/24 table classroom 
/sbin/ip rule add to 192.168.9.0/27 table main 
/sbin/ip rule add to 192.168.10.0/27 table main 

2、办公室的拨号及缺省路由设置/etc/ppp/dialisp1
/usr/sbin/pppd /dev/ttyS0 57600 connect '/usr/sbin/chat -f /etc/ppp/chat95788' login user 95788 crtscts file /etc/ppp/options.pstn_isp1 

sleep 5
/sbin/ip route add 210.12.254.4 dev ppp0

sleep 2
/usr/sbin/pptp 210.12.254.4 file /etc/ppp/options.pptp1 

sleep 5
/sbin/ip route add default dev ppp1 table office

3、办公室的拨号及缺省路由设置/etc/ppp/dialisp2
/usr/sbin/pppd /dev/ttyS1 57600 connect '/usr/sbin/chat -f /etc/ppp/chat95788' login user 95788 crtscts file /etc/ppp/options.pstn_isp2 

sleep 5
/sbin/ip route add 210.12.254.4 dev ppp2

sleep 2
/usr/sbin/pptp 210.12.254.4 file /etc/ppp/options.pptp2 

sleep 5
/sbin/ip route add default dev ppp3 table classroom

要位办公室拨号,执行/etc/ppp/dialisp1即可,要为教室拨号,执行/etc/ppp/dialisp2即可。

NAT及cron部分希望大家参考其他资料。

[size=12:4176ba45c1][/size:4176ba45c1]

javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">




 bearzhang 回复于:2003-07-10 09:02:59
up!
重点是VLAN及路由策略。Linux的路由功能很强大!!!

 lnx3000 回复于:2003-07-10 09:06:50
楼主是原创的吗? 不错的说

 bearzhang 回复于:2003-07-10 10:04:12
是的,这是我们学校的的网络,学校比较穷,所以用了N个Linux系统!没法子拉专线(在凤凰岭),所以用卫星!

 我爱臭豆腐 回复于:2003-07-10 11:42:29
不错写的好。有时间试验一下。这样省了三层交换的钱了:)

 ipcfg 回复于:2003-07-10 11:56:33
真的很不错,无愧精化

 zlc158 回复于:2003-07-10 13:45:45
不错!`我收藏拉

 north 回复于:2003-07-10 13:57:19
save

 bearzhang 回复于:2003-07-10 15:50:58
多谢各位的支持,经验要大家共享,大力支持Chinaunix

 zhoulm 回复于:2003-07-10 22:15:52
好贴,只得收藏,我觉得这种帖子只有在CU这里才能看到。

 若水 回复于:2003-07-10 22:38:32
写得很好了,我是初学者了,可留个联系方法吗?我的是:[email protected].要好好学习了
 :shock:

 aborigen 回复于:2003-07-10 23:31:59
好文,顶。

 hjp0021 回复于:2003-07-11 08:44:14
GOOD,非常感谢,有些问题要请教:
(1)VLAN之间的路由也是通过LINUX完成的吗?
(2)如何配置才能达到保护DMZ区的目的?
(3)LINUX做路由器,当流量增大是否出现时延增大,不稳定的情况?

 bearzhang 回复于:2003-07-11 09:20:22
[quote:8c613d6a5f="hjp0021"]GOOD,非常感谢,有些问题要请教:
(1)VLAN之间的路由也是通过LINUX完成的吗?
(2)如何配置才能达到保护DMZ区的目的?
(3)LINUX做路由器,当流量增大是否出现时延增大,不稳定的情况?[/quote:8c613d6a5f]     

1、VLAN之间的路由也是通过LINUX完成。
2、通过Linux自带的防火墙netfilter来保护DMZ区域。
3、Linux做路由器,当流量增大时需要修改内核源代码的几个参数不会产生太大的时延,当达到100M时,PC机本身是一个瓶颈(Linux自己完全没问题),效益会下降。用作10M路由器100%不比Cisco差。

 mousie 回复于:2003-07-12 17:27:54


 xfyrose 回复于:2003-07-12 20:57:37
可以说说修改哪几个内核参数吗

     3、Linux做路由器,当流量增大时需要修改内核源代码的几个参数不会产生太大的时延,当达到100M时,PC机本身是一个瓶颈(Linux自己完全没问题),效益会下降。用作10M路由器100%不比Cisco差。

 simonzhan 回复于:2003-07-13 03:06:02
8错!

 jxwpx 回复于:2003-07-14 13:10:12
up

 轩辕砍刀 回复于:2003-07-14 13:13:09
不错

 jxwpx 回复于:2003-07-14 13:16:49
Good good study

day day up.

 wind521 回复于:2003-07-14 15:41:18
好文章,收藏一下

 secure 回复于:2004-02-02 09:49:44
好文!

 wheel 回复于:2004-02-04 16:34:41


 lukhxw 回复于:2004-02-20 20:24:55
好就一个字~ :D

 latam_2008 回复于:2004-12-05 19:24:56
卫星卡一张要多少钱啊???

 zd724 回复于:2004-12-05 19:27:55


 race 回复于:2004-12-05 21:22:23
网管们可以试验一下,一台普通交换机,一台PC,加三个网卡就可以实现了。

 sw_yp 回复于:2004-12-05 22:07:30
不错,有机会也想试试Linux的路由及Vlan.....

 platinum 回复于:2004-12-06 08:02:14
如果定制到一张CD里,每次开机放入CD,自动引导,自动载入配置,就更妙了:)

 strongxxxx 回复于:2004-12-06 09:16:05
好,收藏

 wanjunling 回复于:2004-12-06 15:27:00
好文

 joeandjane 回复于:2005-06-12 14:27:32
精彩

原文转自:http://www.ltesting.net