Juniper SRX(Junos OS) Virtual LAN(VLAN) 虛擬區域網絡設定
Juniper
SRX(Junos OS) Virtual LAN(VLAN) 虛擬區域網絡設定
何謂VLAN?
所謂虛擬區域網路(Virtual LAN - VLAN)就是一種邏輯區域網路(Logical
LAN),能夠根據邏輯關聯來規劃子網路。
VLAN 可以把一個實體 LAN 分割成多個虛擬 LAN 使用,分割出來的 VLAN 是各自獨立的,VLAN 與 VLAN 之間是互相無法溝通的,而VLAN之間的溝通需要透過路由器或是L3
Switches(L3交換器才有路由功能)來連接。
VLAN可以對不同實體區域網了設備進行邏輯分群管理,並降低區域網內大量數據流通時,因無用數據包過多導致擁塞的問題,以及提升區域網的信息安全保障。
為何要切VLAN,主要是藉由減少封包碰撞與網路廣播來提升網絡效能,並增加安全性。
如果整個網絡只有一個廣播域,那麼一旦發出廣播信息(Broadcast),就會傳遍整個網絡,並且對網絡中的主機帶來額外的負擔。
您也許會問:廣播信息真是那麼頻繁出現的嗎?
答案是:是的!實際上廣播幀會非常頻繁地出現。利用TCP/IP協議棧通信時,除了前面出現的ARP外,還有可能需要發出DHCP、RIP等很多其他類型的廣播信息。
下面是一些常見的廣播通信:
(1)ARP請求:建立IP位址和MAC地址的映射關係。
(2)RIP:一種路由協議。
(3)DHCP:用於自動設定IP位址的協議。
(4)NetBEUI:Windows下使用的網絡協議。
(5)IPX:NovellNetware使用的網絡協議。
(6)Apple
Talk:蘋果公司的Macintosh計算機使用的網絡協議。
VLAN 可以把實體 LAN 分割,一個 VLAN 的廣播信息不會傳送到另一個 VLAN,每一個 VLAN 就變成是一個獨立的廣播網域,能夠提升網絡效能。
另一方面,廣播信息在網絡上散播亦有可能造成保安問題,只要下載一些封包截取軟件例如:Wireshark,即可打開廣播信息封包,窺探到其他主機的重要資訊,例如IP位址 和 MAC位址,利用 VLAN
可以限制廣播信息只在信任的網絡中散播。
VLAN 有兩種封裝類型,就是 ISL (Inter-Switch
Link) 和 IEEE 802.1q (下稱
802.1q)。ISL 是 Cisco
專有的,只有 Cisco 設備才能設定; 802.1q
則是公開的,任何廠商均可支援。
只要在數據包包頭寫上 VLAN 號碼 (VLAN ID) 後才把數據包(Packet)
送走,其他的交換器(Switches) 就可以憑這個 VLAN
ID 來知道數據包是屬於哪個VLAN的,這就是所謂 802.1q
VLAN Tag。
而要傳送這些 VLAN
Tag,我們需要把交換器與交換器之間的連結端口(Link port)設定成 Trunk,因為只有 Trunk Link 才可以容納不同的 VLAN。
關於Trunk、Hybrid、Access、Tag、Untag、VID和Pvid的關係與區別
一、相關定義
1、Trunk端口
Trunk口上可以同時傳送多個VLAN的包,一般用於交換機之間的鏈結。
要為物理接口上接收的未標記數據包配置VLAN標識符,請使用native-vlan-id選項。如果未配置native-vlan-id選項,則刪除未標記的數據包。
2、Hybrid端口
Hybrid口上可以同時傳送多個VLAN的包,一般用於交換機之間的互聯或交換機和電腦主機之間的連接。
3、Access端口
Access口只能屬於1個VLAN,一般用於連接電腦主機的端口。
4、Tag和Untag
Tag是指vlan的標識,即vlan的id,用於指名資料包是屬於那個vlan。
Untag指資料包沒有vlan標識,不屬於任何vlan。
Tag是數據包中一個四字節數據,其包含數據包的vlan
id及優先級信息。若數據包中包含tag信息,則其將跟隨數據包在交換機間進行交換,並在不同設備中保存此標記信息。
5、VID和PVID
VID(VLAN ID)是VLAN的標識,定義其中的端口可以接收發自這個VLAN的包。
PVID(Port VLAN ID)定義這個untag端口可以轉發哪個VLAN的包。
綜合起來說,一個端口只有一個PVID,但可屬於多個VID。
比如,當端口1同時屬於VLAN1、VLAN2和VLAN3時,而它的PVID為1,那麽端口1 可以接收到VLAN1,2,3的數據,但發出的包只能發到VLAN1中。
pvid的意思就是說,一個ip包進入交換機端口的時候,如果沒有帶tag頭,且該端口上配置了pvid,那麽,該數據包就會被打上相應的tag頭! 如果 進入的ip包已經帶有tag頭(vlan資料)的話,那麽交換機一般不會再增加tag頭,即使是端口上配置了pvid號;pvid (端口vlan id號)
是非標記端口的vlan id 設定。當非標記數據包進入交換機,交換機將檢查vlan設定並決定是否進行轉發。
即端口vlan
id號,當非標記資料包進入交換機,交換機將檢查vlan設定並決定是否進行轉發。當一個ip包進入交換機埠的時候,如果沒有帶tag頭,而該埠上配置了 pvid,那麼,該資料包就會被打上相應的tag頭!如果進入的ip包已經帶有tag頭(vlan資料)的話,那麼交換機一般不會再增加tag頭。
PVID通常代表端口ID,VID代表VLANID,在沒有出現802.1Q前,都是采用基於MAC或端口的VLAN,推出基於標記的802.1Q後才出現VID,如果劃分基於端口的VLAN時,只需配置PVID就可以了,如果要劃分基於802.1Q的加標記的VLAN 時,就需配置VID了。
二、埠的Tag和Untag
若某一埠在vlan設定中被指定為非標記埠untagged port,所有從此埠轉發出的資料包上都沒有標記
(untagged)。若有標記的資料包進入交換機,則其經過非標記埠時,標記將被去除。因為目前眾多設備並不支援標記資料包,其也無法識別標記資料包,因此,需要將與其連接的埠設定為非標記。
若某一埠在vlan設定中被指定為標記埠tagged port,所有從此埠轉發出的資料包上都將有標記
(tagged)。若有非標記的資料包進入交換機,則其經過標記埠時,標記將被加上。此時,其將使用在ingress
埠上的pvid設定作為增加的標記中的vlan
id號。
三、埠的封裝類型:ISL、802.1Q
ISL Trunk上所有的包都是tag的(Cisco專用);
802.1q 設計的時候為了相容與不支援VLAN的交換機混合部署,特地設計成可以不tag:但是只有一個VLAN允許不tag (Native VLAN),這樣N個VLAN,(N-1)個都tag了,不tag的包一定是來自那個特殊VLAN的,所以不會亂套(當然也可以所有VLAN都tag)。
四、各類型的埠收發資料的區別
要為物理接口上接收的未標記數據包配置VLAN標識符,請使用native-vlan-id選項。如果未配置native-vlan-id選項,則刪除未標記的數據包。
Untag指資料包沒有vlan標識,不屬於任何vlan。
Tag是數據包中一個四字節數據,其包含數據包的vlan id及優先級信息。若數據包中包含tag信息,則其將跟隨數據包在交換機間進行交換,並在不同設備中保存此標記信息。
VLAN各類型的埠收發資料的區別
| |||
端口類型
|
對接收封包的處理
|
發送封包時的處理
| |
當接收到的封包不帶Tag時
|
當接收到的封包帶有Tag時
| ||
Access端口
|
接收該封包,並為封包添加預設VLAN的Tag
|
1.當VLAN
ID與預設VLAN
ID相同時:接收該封包。
2.當VLAN
ID與預設VLAN
ID不同時:丟棄該封包。
|
由於VLAN
ID就是預設的VLAN
ID,不用設置,去掉Tag後發送
|
Trunk端口
|
1.當VLAN
ID與預設VLAN
ID相同時:接收該封包。
2.當VLAN
ID與預設VLAN
ID不同時,但VLAN
ID是該端口允許通過的VLAN
ID時:接收該封包。
3.當VLAN
ID與預設VLAN
ID不同時,但VLAN
ID是該端口不允許通過的VLAN
ID時:丟棄該封包。
|
1.當VLAN
ID與預設VLAN
ID相同時:去掉該Tag,發送該封包。
2.當VLAN
ID與預設VLAN
ID不同時:保持原有Tag,發送該封包。
| |
Hybrid端口
|
當封包中攜帶的VLAN
ID是該端口允許通過的VLAN
ID時,發送該封包,並可以通過port
hybrid vlan命令配置端口在發送該VLAN(包括預設VLAN)的封包時是否攜帶Tag。
|
下面為Juniper
SRX100 vlan的設定示範:
設定L2
ethernet-switching VLAN
set
vlans vlan-trust vlan-id 3
set
vlans vlan-trust l3-interface vlan.0
set
interfaces vlan unit 0 family inet address
192.168.1.1/24
set
interfaces fe-0/0/1 unit 0 family ethernet-switching port-mode
access
set
interfaces fe-0/0/1 unit 0 family ethernet-switching vlan members
vlan-trust
set
interfaces fe-0/0/2 unit 0 family ethernet-switching port-mode
access
set
interfaces fe-0/0/2 unit 0 family ethernet-switching vlan members
vlan-trust
set
vlans vlan-sales vlan-id 5
set
vlans vlan-sales l3-interface vlan.1
set
interfaces vlan unit 1 family inet address
192.168.2.1/24
set
interfaces fe-0/0/3 unit 0 family ethernet-switching port-mode
access
set
interfaces fe-0/0/3 unit 0 family ethernet-switching vlan members
vlan-sales
set
interfaces fe-0/0/4 unit 0 family ethernet-switching port-mode
access
set
interfaces fe-0/0/4 unit 0 family ethernet-switching vlan members
vlan-sales
設定L3
VLAN
set
interfaces fe-0/0/5 vlan-tagging
##設定vlan-tagging 才能與swithces溝通vlan訊息
set
interfaces fe-0/0/5 unit 0 vlan-id 66
set
interfaces fe-0/0/5 unit 0 family inet address
192.168.66.1/24
set
interfaces fe-0/0/5 unit 1 vlan-id 67
set
interfaces fe-0/0/5 unit 1 family inet address
192.168.67.1/24
set
interfaces fe-0/0/5 unit 2 vlan-id 68
set
interfaces fe-0/0/5 unit 2 family inet address
192.168.68.1/24
設定VLAN所屬安全區
set
security zones security-zone trust host-inbound-traffic system-services all ##讓DHCP服務能通過trust安全區,也能設定在個別介面
set
security zones security-zone trust interfaces vlan.0
set
security zones security-zone trust interfaces vlan.0 host-inbound-traffic
system-services dhcp ##讓DHCP服務能通過個別介面
set
security zones security-zone trust interfaces vlan.1
set
security zones security-zone trust interfaces vlan.1 host-inbound-traffic
system-services dhcp
set
security zones security-zone trust interfaces
fe-0/0/5.0
set
security zones security-zone trust interfaces
fe-0/0/5.1
set
security zones security-zone trust interfaces
fe-0/0/5.2
設定VLAN會用到的DHCP pool
address
set
system services dhcp name-server 168.95.1.1
##指定DNS SERVER,會套用到子網路(若子網路個別設定了以個別子網路的設定為主)
set
system services dhcp name-server 168.95.192.1
set
system services dhcp pool 192.168.1.0/24 address-range low 192.168.1.11 ##指定位址集區範圍
set
system services dhcp pool 192.168.1.0/24 address-range high
192.168.1.111
set
system services dhcp pool 192.168.1.0/24 router 192.168.1.1 ##指定子網路的default
gateway
set
system services dhcp pool 192.168.1.0/24 propagate-settings vlan.0 ##指定套用設定之介面
set
system services dhcp pool 192.168.2.0/24 address-range low
192.168.2.11
set
system services dhcp pool 192.168.2.0/24 address-range high
192.168.2.111
set
system services dhcp pool 192.168.2.0/24 router
192.168.2.1
set
system services dhcp pool 192.168.2.0/24 propagate-settings
vlan.1
set
system services dhcp pool 192.168.66.0/24 address-range low
192.168.66.11
set
system services dhcp pool 192.168.66.0/24 address-range high
192.168.66.111
set
system services dhcp pool 192.168.66.0/24 router
192.168.66.1
set
system services dhcp pool 192.168.66.0/24 propagate-settings
fe-0/0/5.0
set
system services dhcp pool 192.168.67.0/24 address-range low
192.168.67.11
set
system services dhcp pool 192.168.67.0/24 address-range high
192.168.67.111
set
system services dhcp pool 192.168.67.0/24 router
192.168.67.1
set
system services dhcp pool 192.168.67.0/24 propagate-settings
fe-0/0/5.1
set
system services dhcp pool 192.168.68.0/24 address-range low
192.168.68.11
set
system services dhcp pool 192.168.68.0/24 address-range high
192.168.68.111
set
system services dhcp pool 192.168.68.0/24 router
192.168.68.1
set
system services dhcp pool 192.168.68.0/24 propagate-settings
fe-0/0/5.2
設定安全策略讓VLAN之間彼此能互通
由於本範例將所有的vlan都設置在trust安全區,所以只要一條安全策略就能讓所有的vlan都能互通,但是您也可以將vlan配置在不同的安全區,這樣就可以個別指定那些vlan可以互通,那些不能互通,藉以提高安全性。
又或者您可以將firewall
filters套用在個別的vlan介面上,好限制此vlan介面不能存取的網段。
set
security policies from-zone trust to-zone trust policy trust-to-trust match
source-address any
set
security policies from-zone trust to-zone trust policy trust-to-trust match
destination-address any
set
security policies from-zone trust to-zone trust policy trust-to-trust match
application any
set
security policies from-zone trust to-zone trust policy trust-to-trust then
permit
子網路Swithces的vlan相關設定(搭配SRX100 fe-0/0/5介面的設定)
本範例為一8prots簡單網管型switches,簡單網管交換機預設埠1為溝通彙聚埠(Trunk
port),且vlan
1無法被刪除。
首先要將交換機埠1與SRX100 fe-0/0/5埠相連,SRX100
fe-0/0/5埠已經設定好VLAN ID為66,67,68三個VLAN,並已經設定好DHCP Server服務,預設只要接入交換機的2,3,4埠,就能取得相對應的IP網段之IP。
設定方法如下:
交換機埠1為連接SRX100 fe-0/0/5埠的VLAN彙聚口(Trunk port),埠2-4設定給VLAN 66-68使用,埠5-8用不到,我們設定成單獨的VLAN 6。
首先,在VLAN
ID號裏填66,VLAN 名可以任意(本例空白),然後埠1
選擇Tagged,埠2 是Untagged,然後點增加。
然後設置VLAN67,VLAN68。
設置完後結果如下:
VLAN ID 設置好之後,進入VLAN
PVID埠設置,將埠的PVID 設置成跟VLAN ID
一致,封包的允許類型設定為ALL(所有),如下圖:
(PS:同一個VLAN的VLAN ID與PVID編號要設定一致,否則VLAN會不通,無論有無TAG標記都一樣不通)
設置完後請在工具裏點擊保存,否則斷電後會導致設置丟失。
子網路Swithces的vlan相關設定(搭配SRX100 fe-0/0/5介面的設定)
本範例為一8prots簡單網管型switches,簡單網管交換機預設埠1為溝通彙聚埠(Trunk
port),且vlan
1無法被刪除。
首先要將交換機埠1與SRX100 fe-0/0/5埠相連,SRX100
fe-0/0/5埠已經設定好VLAN ID為66,67,68三個VLAN,並已經設定好DHCP Server服務,預設只要接入交換機的2,3,4埠,就能取得相對應的IP網段之IP。
設定方法如下:
交換機埠1為連接SRX100 fe-0/0/5埠的VLAN彙聚口(Trunk port),埠2-4設定給VLAN 66-68使用,埠5-8用不到,我們設定成單獨的VLAN 6。
首先,在VLAN ID號裏填66,VLAN 名可以任意(本例空白),然後埠1 選擇Tagged,埠2 是Untagged,然後點增加。
然後設置VLAN67,VLAN68。
首先,在VLAN ID號裏填66,VLAN 名可以任意(本例空白),然後埠1 選擇Tagged,埠2 是Untagged,然後點增加。
然後設置VLAN67,VLAN68。
設置完後結果如下:
VLAN ID 設置好之後,進入VLAN
PVID埠設置,將埠的PVID 設置成跟VLAN ID
一致,封包的允許類型設定為ALL(所有),如下圖:
(PS:同一個VLAN的VLAN ID與PVID編號要設定一致,否則VLAN會不通,無論有無TAG標記都一樣不通)
設置完後請在工具裏點擊保存,否則斷電後會導致設置丟失。