校園網(wǎng)實(shí)現(xiàn)(VLAN及策略路由的實(shí)現(xiàn))

一、 網(wǎng)絡(luò)拓?fù)鋱D(附件所示)及網(wǎng)絡(luò)規(guī)劃:

         點(diǎn)擊看大圖

  交換機(jī)為Cisco2924,劃分為3個(gè)VLAN,VLAN10給辦公室用,VLAN13給教室用,VLAN12為服務(wù)器區(qū)域,將交換機(jī)的第24口置為trunk模式(VLAN中繼線)。
網(wǎng)關(guān)機(jī)采用Linux系統(tǒng),安裝有兩塊衛(wèi)星卡,通過兩個(gè)Modem撥號(hào)并建立VPN,給office分配子網(wǎng)為192.168.9.0/27,教室為192.168.10.0/24,服務(wù)器區(qū)域?yàn)?92.168.5.0/28。

  另外要求office在9:00——22:00能夠上網(wǎng),Classroom在18:30——22:00能夠上網(wǎng),并且每個(gè)子網(wǎng)都可以訪問192.168.5.0/28內(nèi)的web服務(wù)器。
教室不能訪問辦公室。

二、Cisco2924交換機(jī)上VLAN的配置:
  在Cisco2924交換機(jī)上,將1—8號(hào)端口設(shè)置為VLAN10,將9—16號(hào)端口設(shè)置為VLAN13,將17—22號(hào)端口設(shè)置為VLAN13,將23號(hào)端口設(shè)置為VLAN1以便管理交換機(jī)。將24號(hào)端口設(shè)置為中繼線路。

VLAN的劃分采用一般方法即可,這里需要強(qiáng)調(diào)的是中繼線路的配置:
Cisco2924#conf t (進(jìn)入全局配置模式)
Cisco2924(config)#interface fastEthernet0/24 (進(jìn)入24號(hào)端口配置模式)
Cisco2924(config-if)#switchport mode trunk (將24號(hào)端口設(shè)置為中繼模式)
Cisco2924(config-if)#switchport trunk encapsulation dotlq (將數(shù)據(jù)幀的封裝格式設(shè)置為802.1Q,缺省為Cisco專用的isl。)

Cisco2924(config-if)#switchport trunk allowed vlan remove vlan-list (將不需要進(jìn)行VLAN中繼的VLAN列表刪除,如果是全部,可以用all參數(shù)。)

Cisco2924(config-if)#switchport trunk allowed vlan add vlan-list 1—13 (將1—13號(hào)VLAN加入到VLAN中繼 列表。)

三、Linux系統(tǒng)(Gataway)上的VLAN配置:

1、編譯內(nèi)核,使內(nèi)核支持802.1Q VLAN。
下載Linux2.4.20內(nèi)核: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 ---> 802.1Q VLAN Support (可以編譯為模塊或編譯進(jìn)內(nèi)核。)
………………
編譯完成后啟用新內(nèi)核。

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
注: 如果需要支持基于MAC地址劃分的VLAN,需要給內(nèi)核打補(bǔ)丁(vlan.1.7m.tar.gz中有),并將macvlan_config拷貝到/sbin下,用macvlan_config命令來進(jìn)行VLAN配置。
(1)、創(chuàng)建VLAN10、VLAN12、VLAN13
vconfig add eth0 10
vconfig add eth0 12
vconfig add eth0 13

(2)、為接口設(shè)置IP地址:
ip address add 192.168.5.3/28 dev eth0.12 (DMZ區(qū)域的網(wǎng)關(guān))
ip address add 192.168.10.1/24 dev eth0.13 (Classroom的網(wǎng)關(guān))
ip address add 192.168.9.1/27 dev eth0.10 (office的網(wǎng)關(guān))
ip link set dev eth0.12 up (啟用設(shè)備)
ip link set dev eth0.10 up
ip link set dev eth0.13 up

四、配置撥號(hào)
1、創(chuàng)建Office的撥號(hào)網(wǎng)絡(luò):

(1)創(chuàng)建撥號(hào)腳本文件:/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)創(chuàng)建撥號(hào)用的會(huì)話文件:/etc/ppp/chat95788
"" at
OK atm3
OK atdt95788
CONNECT

(3)、創(chuàng)建撥號(hào)用的會(huì)話文件:/etc/ppp/options.pstn_isp1
local
nodefaultroute
noauth
login
user 95788
mru 1500
mtu 1500
crtscts
updetach
注:由于有多個(gè)撥號(hào),不能獲取缺省路由,所以有nodefaultroute。

2、創(chuàng)建Classroom的撥號(hào)網(wǎng)絡(luò):
(1)創(chuàng)建撥號(hào)腳本文件:/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)創(chuàng)建撥號(hào)用的會(huì)話文件:/etc/ppp/chat9_95788
"" at
OK atm3
OK atdt9,,95788
CONNECT
注:該電話需要撥9字頭

(3)、創(chuàng)建撥號(hào)用的會(huì)話文件:/etc/ppp/options.pstn_isp2
local
noauth
login
user 95788
nodefaultroute
mru 1500
mtu 1500
crtscts
updetach

五、創(chuàng)建VPN(衛(wèi)星)撥號(hào)腳本:
1、下載Linux下的VPN客戶端軟件:http://pion.xs4all.nl/~elf/pkg/pptp-linux-1.1.0.tar.gz
解壓后將pptp文件拷貝到/usr/sbin下。

2、下載衛(wèi)星卡的Linux驅(qū)動(dòng)程序:

3、創(chuàng)建office的pptp撥號(hào)腳本:/etc/ppp/dialpptp1
ip route add 210.12.254.4 dev ppp0 (x.x.x.x 為ISP提供的VPN服務(wù)器地址,該命令設(shè)置訪問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連接的選項(xiàng)文件,其內(nèi)容如下:
local
user username
+chap
remotename 210.12.254.4
noauth
mru 1400
mtu 1400
updetach
注:由于在PPTP內(nèi)還要對(duì)數(shù)據(jù)進(jìn)行封裝,包頭會(huì)占去一定的字節(jié),所以其mru 和 mtu值要比ppp的小。

4、創(chuàng)建Classroom的pptp撥號(hào)腳本:/etc/ppp/dialpptp2
ip route add x.x.x.x dev ppp2 (x.x.x.x 為ISP提供的VPN服務(wù)器地址,該命令設(shè)置訪問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連接的選項(xiàng)文件,其內(nèi)容如下:
local
user username
+chap
remotename x.x.x.x
noauth
mru 1400
mtu 1400
updetach
5、進(jìn)行撥號(hào)測試:
注意撥號(hào)的先后順序。
六、設(shè)置路由策略:
1.設(shè)置路由表名稱:
編輯/etc/iproute2/rt_tables文件,在文件的尾部加入下面的兩行:
100 classroom (將編號(hào)為100 的路由策略命名為classroom)
110 office (將編號(hào)為110的路由策略命名為office)
2.設(shè)置路由:
(設(shè)置教室的路由表)
ip route add 192.168.5.0/28 dev eth0.12 table classroom
(設(shè)置辦公室的路由表)
ip route add 192.168.5.0/28 dev eth0.12 table office
(設(shè)置路由策略)
ip rule add from 192.168.9.0/27 table office (來自192.168.9.0/27 的數(shù)據(jù)包走 office 表)
ip rule add from 192.168.10.0/24 table classroom (來自192.168.10.0/24 的數(shù)據(jù)包走 classroom 表)
ip rule add to 192.168.9.0/27 table main (去往192.168.9.0/27 的數(shù)據(jù)包走 main 表)
ip rule add to 192.168.10.0/27 table main (去往192.168.10.0/27 的數(shù)據(jù)包走 main 表)
3.設(shè)置缺省路由:
根據(jù)前面的描述,我們想要教室和辦公室分別使用不同的Modem上網(wǎng),因此我們?yōu)閏lassroom和office表設(shè)置不同的缺省路由。
ip route add default dev ppp1 table offcie
ip route add default dev ppp3 table classroom
(注:ppp1為基于ppp0的 VPN 連接,ppp3為基于ppp2的 VPN 連接。)
一切已OK,現(xiàn)在的事情就是進(jìn)行NAT設(shè)置及腳本的整理了,至于說分時(shí)段上網(wǎng),可以通過crond來進(jìn)行控制。
將上面的幾個(gè)執(zhí)行腳本整理如下:1、劃分VLAN的腳本,以及本地路由和路由策略需要開機(jī)就執(zhí)行,將他放入/etc/rc.local內(nèi):
/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、辦公室的撥號(hào)及缺省路由設(shè)置/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、辦公室的撥號(hào)及缺省路由設(shè)置/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
要位辦公室撥號(hào),執(zhí)行/etc/ppp/dialisp1即可,要為教室撥號(hào),執(zhí)行/etc/ppp/dialisp2即可。
NAT及cron部分希望大家參考其他資料。

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡章