1 引言
隨著網(wǎng)絡的普及,小型企業(yè)的局域網(wǎng)在資金短缺的情況下如何花更少的錢去實現(xiàn)較為復雜的網(wǎng)絡功能、滿足人們對網(wǎng)絡功能更高的需求,是網(wǎng)絡技術人員關心的問題。在Linux系統(tǒng)中網(wǎng)絡技術人員可根據(jù)用戶需求實現(xiàn)豐富的路由功能,其中很多功能都可以和路由器產品相媲美?;贚inux系統(tǒng)強大的功能,這里提出通過架設Linux服務器解決該問題,經濟而安全。
本地一家工廠初步搭建了局域網(wǎng),由于經濟條件有限,只購買較簡單的網(wǎng)絡連接設備,通過光纖接入本地ISP。隨著網(wǎng)絡應用的發(fā)展,現(xiàn)需要劃分幾個網(wǎng)段,規(guī)定機房用戶不允許訪問財務部門和辦公室,財務部門的計算機不允許訪問Internet。大多數(shù)解決這類問題的做法都是通過使用交換機結合路由器共同完成。這種做法雖然實現(xiàn)相對簡單,較易維護,但成本高。因此,本文根據(jù)實際條件和具體需求制定出一種技術方案:安裝一臺Linux服務器,通過劃分虛擬局域網(wǎng) (VLAN)、設置策略路由解決問題。
2 VLAN的概念
2.1 VLAN的定義
VLAN(Virtual Local Area Network)又稱為虛擬局域網(wǎng),該技術實現(xiàn)了與物理位置無關的邏輯工作組劃分。采用VLAN技術可將廣播數(shù)據(jù)報限制在同一VLAN內,提高了網(wǎng)絡整體的有效帶寬。同時,可根據(jù)實際情況分別對各VLAN定義不同級別的安全策略,有效地避免非法入侵,增強了網(wǎng)絡的安全性。下面介紹三種主要VLAN的定義方式。
(1)基于端口的VLAN定義通過交換機的端口劃分來定義虛擬子網(wǎng),該方式和物理網(wǎng)段劃分較為類似,其主要缺點是無法實現(xiàn)與物理位置無關的虛擬網(wǎng)配置,如果工作站在端口間移動,則有必要對VLAN重新進行配置,這種方法運用在實際中比較普遍也最成熟。
(2)基于MAC地址的VLAN定義用節(jié)點網(wǎng)卡的MAC地址決定其所隸屬的虛擬子網(wǎng)。這種方式實現(xiàn)了與物理位置無關的虛擬網(wǎng)配置,不足之處在于初始化時,網(wǎng)絡管理人員必須手工配置節(jié)點的MAC地址,節(jié)點增加時,管理負擔也增大,在節(jié)點數(shù)目龐大的網(wǎng)絡中,顯然不適宜這種配置方式。
(3)基于IP策略的VLAN定義 通過網(wǎng)絡層協(xié)議或IP地址來確定虛擬網(wǎng)。這種VLAN定義方式比前面兩種方式更加靈活。交換機可根據(jù)各節(jié)點網(wǎng)絡地址或報文協(xié)議自動將其劃分成不同的VLAN。
2.2 在Linux系統(tǒng)中VLAN的實現(xiàn)
大多數(shù)情況下在Linux系統(tǒng)中主要使用基于端口的802.10 VLAN。每一個支持802.IQ協(xié)議的網(wǎng)絡設備,在發(fā)送數(shù)據(jù)包時,都在以太幀頭中增加一個4字節(jié)的Tag標記,以指明該數(shù)據(jù)包屬于哪一個VLAN。當數(shù)據(jù)包進入另一個支持802.1Q協(xié)議的網(wǎng)絡設備時,會根據(jù)802.1Q幀中的Tag標記交換到所屬VLAN。在應用中一般是把支持802.1Q協(xié)議的2層交換機和3層交換機相連,這樣2層交換機就可以利用3層交換機的路由功能進行不同VLAN之間的數(shù)據(jù)轉發(fā)。
3 在Linux系統(tǒng)中策略路由的實現(xiàn)
在Linux系統(tǒng)上實現(xiàn)策略路由也是基于上述原理。通過RPDB實現(xiàn), RPDB主要由多路由表和規(guī)則組成,由規(guī)則選取表。路由表以及對其的操作和其對外的接口是整個RPDB的核心部分。路由表主要由table,zone, node這些主要的數(shù)據(jù)結構構成。對路由表的操作主要包含物理的操作以及語義的操作。
3.1 策略路由
策略路由就是不僅根據(jù)數(shù)據(jù)報的目的地址,而且還根據(jù)數(shù)據(jù)報的其他一些特性,如:源地址、IP協(xié)議、傳輸層端口,甚至是數(shù)據(jù)包的負載部分內容進行路由選擇。而傳統(tǒng)路由算法都是根據(jù)IP包目的地址進行路由選擇。
3.2 應用Linux策略路由的一般步驟
在Linux上應用策略路由,首先根據(jù)實際應用分析確定路由策略,然后一般采取以下步驟:
(1)創(chuàng)建多路由表通過編輯/etc/iproute2/rt jables文件創(chuàng)建路由表:

(2)向路由表添加路由 向路由表中增加路由使用iproute命令,例如:向user_table1路由表中增加路由:
ip route add 202.201.100.0/24 via 192.168.100.1 tableuser_table 1
(3)建立相應的規(guī)則使用ip rule命令設置規(guī)則,例如: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 解決方案
建設一個工廠局域網(wǎng),局域網(wǎng)中只有2層交換機.通過一臺具有NAT功能的路由器接人當?shù)豂SP,此局域網(wǎng)中有3種用戶類型上網(wǎng):機房用戶,辦公室用戶,財務部門用戶?,F(xiàn)準備架設一臺Linux服務器,劃分3個VLAN,分別為:VLAN10(用于開放機房)網(wǎng)段為192.168.1.0/24,VLAN 11(用于辦公室)網(wǎng)段為192.168.2.0/24,VLAN 12(用于財務部門)網(wǎng)段為192.168.3.0/24。規(guī)定機房用戶不允許訪問財務部門和辦公室計算機,財務部門用戶不允許訪問Internet,而辦公室用戶允許訪問Internet和財務部門的計算機。該實例中Linux系統(tǒng)所使用內核為2.4.20。網(wǎng)絡拓撲圖如圖1所示。要求Linux內核支持802.1Q VLAN,并支持策略路由。

(1)創(chuàng)建各個VLAN
vconfig add eth0 10
vconfig add eth0 11
vconfig add eth0 12
這樣,在系統(tǒng)中就創(chuàng)建了3個基于802.IQ VLAN,由于在eth0接口配置3個VLAN系統(tǒng)會自動加載802.1Q模塊。另外,在本例中需把與eth0相連的交換機端口設置為Trunk模式。
(2)設置各虛擬VLAN接口IP地址
ip address add 192.168.1.253/24 dev eth0.10//給eth0.10設置IP地址,相當于設置VLAN10的地址,此地址就是VLAN 10用戶的默認網(wǎng)關,以下含義相同:
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文件以創(chuàng)建相應路由表:
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)設置策略路由規(guī)則
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
責任編輯:gt
-
Linux
+關注
關注
88文章
11622瀏覽量
217832 -
服務器
+關注
關注
13文章
10077瀏覽量
90827 -
交換機
+關注
關注
23文章
2866瀏覽量
103880
發(fā)布評論請先 登錄
linux服務器和windows服務器
服務器遠程不上服務器怎么辦?服務器無法遠程的原因是什么?
華為路由器交換機VLAN配置實例
基于Linux實現(xiàn)VLAN功能
請問如何實現(xiàn)VLAN?
Linux環(huán)境并發(fā)服務器設計技術研究
基于Linux的WEB服務器的設計與實現(xiàn)
Freebsd PF實現(xiàn)策略路由案例
VLAN的實現(xiàn)及VLAN間路由
基于Linux系統(tǒng)的FTP服務器的實現(xiàn)
使用路由器子接口單臂路由實現(xiàn)VLAN間互相訪問

基于Linux服務器和VLAN實現(xiàn)策略路由的技術方案
評論