日前因簡化設備導入vmware及新的hp switch,但又不熟悉vlan,因此想請教各位前輩。
設備:
HP 1810G 網管型交換器
擁有802.1Q功能的router一台
裝有VMWARE ESXi的機器一台,機器上面有兩張網卡,有兩個vswitch,分別用於DMZ及LAN上的虛擬機器
解釋:
網路原有的架構沒有vlan,router有兩條實體線路分別接到非網管型的switch,然後再分別連接LAN和DMZ,router還有另一條實體線路連接WAN。此外,原先的架構並沒有讓router帶vlan id,但可以提供此功能。近日把所有server(lan+dmz)都已經轉到vmware esxi上,然後設定兩個vSwitch(lan、dmz),並個別綁定一張網卡,然後依圖所式接上實體線路。這樣的接法網路會通,但是封包會亂竄,所以想要隔離dmz和lan的封包。如圖所式,
DMZ
hp switch port 1 接 router port 1
hp switch port 3 接 ESXi上的第一張網卡
LAN
hp switch port 2 接 router port 2
hp switch port 4 接 ESXi上的第二張網卡
hp switch port 5~8串其他的非網管型交換器,後端的設備沒法帶vlan id
目的:
想隔離DMZ及LAN的traffic,但盡量不要動到LAN後端的機器,想請問一下hp switch和vmware要怎麼設定呢?試了許久,但不知是否設定錯誤,一直都可以在lan或dmz上的server,用tcpdump聽到不同網段的封包,請問這樣的架構能達成我們的需求嘛?謝謝。
假設,只是8孔的HP 1810G-8
建議如下
Port 1~4,設定為支援Tag的網孔,並可允許Vlan10,Vlan20,Vlan30 存取!
Port 5,6,設定為untag的網孔,屬於VLAN10
Port 7,8,設定為untag的網孔,屬於VLAN20
而Router的LAN孔,設定為Tag方式,與HP 1810G的第一孔連線!
而VMWARE ESXi的兩張網路卡,接線到HP 1810G的第2,3孔,
並作以下網路設定,
Networking的vSwitch0中,透過Properties,去修改頁面Network Apapters的網路卡數量,除了vmnic0以外,再增加vmnic1喔!
而頁面Port的vSwitch,透過EDIT,應該可以看到NIC Teaming,並將所有網卡,使用move up按鈕,將網卡設定為Active Adapters
說了這麼多,請問有支援802.1Q的Router,它除了有支援Tag以外,能否在每個虛擬VLAN,去設定IP呢?
因為這一點,很重要!
假如,VLAN 10=LAN,IP =192.168.10.254,VLAN 20=DMZ,IP=192.168.20.254
這樣屬於LAN的電腦,必須透過defaultgate=192.168.10.254,才能連線到192.168.20.xx/24的DMZ Server
請確認Rotuer功能,以免製造商將Router LAN=192.168.10.254,
並用Alias方式,去綁定第二個IP(192.168.20.254),因為這不是正統的802.1Q
且無法隔離兩個VLAN的廣播封包喔!
針對VMware ESXi的兩張網路卡應用,我是偏向雙網卡,並跑多VLAN的方式,這樣不僅可以HA,還能Load Balance喔!
非常謝謝你詳細的回答,由於對vlan不熟悉,有幾個疑問想確認一下。因為各廠商用的術語有差,請順便讓我釐清一些名詞(見括號內)。
1)
請問一下,依你的建議,我的理解是,在hp switch裡,把port 1-4設定為tagged port(可帶多個vlan id,cisco用語為trunk port),實現方式是將多個vlan id綁在port 1-4上面; 而port5-8則設定為untagged port(只可帶單一vlan id框架的port,cisco用語為access port),實現方式是以設定pvid的方式,讓後面串的設備都帶箱對應的vlan id?
如果以上我的理解是對的,是否應該將 HP switch 設定如下?
1 2 3 4 5 6 7 8
10 T T T T U U E E
20 T T T T E E U U
hp的定義:T=tagged, U=Untag, E=Exclude
請問對於router來說,如果把router上的實體port設定為vlan access port,後面串switch的實體port是不是不能設定為untagged port?在我原先的認知裡,如果vlan網路要通,必須把實體port都設定成同樣的vlan id,因此在這裡詢問這個問題前,曾經試過下面接法:
router上的一個port(A)設為access mode,並設定一個vlan id,然後設定HP switch上的兩個port(B、C)設定為untagged port(和router上同樣的vlan id) ,然後從A連接到B,並於C的後端接一台電腦,結果從router上是沒有辦法ping到那台電腦的,請問這是為什麼?從port B出去的封包如果沒有帶同樣的vlan id進入port A不是會被丟棄嘛?
經過你的解釋加上這兩天讀資料,覺得如果把router上的port改為trunk,或者甚至把HP switch 上的port B設定沒有pvid,網路就應該會通,請問這是對的嘛?
假設兩台switch(1、2),假設switch1的port1設為trunk port,而switch2機器較小,全部都設定成相同的vlan id,然後把兩台switch的port1對接,請問這樣從switch2後端的機器連接的到switch1有相同vlan id的access port嘛?能否稍微解釋一下vlan id的框架,謝謝。
我們的機器是juniper的router,十分確定有完整的支援802.1Q,之前也嘗試過將一個實體port設為trunk,綁定不同的虛擬VLAN並設定不同網段。關於你建議ESXi設定方法,我們之前也有嘗試過,基本上你的方法是讓ESXi的vSwitch依照不同的vlan去tag/untag vlan id,但是之前因為對vlan不是很瞭解,怎麼樣試網路都不通,所以才把架構拆成兩個vSwitch分別綁定不同網路卡,希望能簡化問題,專心設定HP switch和router就好,請問一下,你這樣的架構,網路效能好嘛?
最後,想再請問一下,你建議在router上使用一個實體port並設定為trunk port綁不同的vlan id,這樣的效能和使用兩個實體port或甚至更多實體port(每個port綁單一vlan),哪種效能就好呢?因為我們希望儘量不要動到router,而且已經有一些acl設定在上面了,如果依你的建議,vlan routing都在同一個port上,會不會容易有瓶頸?另外,在router內部vlan id是如何做routing的呢?我不是很瞭解在封包傳遞的過程裡,哪些段帶有vlan id?
非常謝謝你的幫忙。
對!
port(B、C)設定為untagged port,而PC用C孔
請問,PC端的系統, 有需要設定vlan id嗎?答案是沒有。
那為何Router使用同樣屬性的B孔,Router就得要設定一個vlan id呢?
如果你在Router設定了Vland ID,則表示B孔,應該是使用tagged才對喔!
另外,業界除了802.1Q是工業標準以外,Cisco還有獨家規格的VLAN交換,所以,如果你有使用Cisco Switch,則...記得加參數,使Cisco Switch強迫使用dot1q協定喔!
B,C兩孔都是untagged孔,這樣好了,PC不接Switch C孔,請直接接Router A孔
這樣子,你可以試試看,Router上是否ping到那台電腦的!
DMZ端的伺服器越多,單一網卡的使用量,就會越高!我的架構,只有您的一半!
請問,你在台北嗎?我可以去參觀看一看嗎?
LINE ID:yesongow0988
因為不知道Router的品牌及型號,所以才會有此建議。
如果您的Router有許多LAN孔,且能分割使用,那當然LAN 1接到LAN,LAN 2接到DMZ,LAN 3 接到WIFI認證囉!
Router只用一個LAN孔,容易有瓶頸。
Router針對多個LAN如何Routing,嗯,它自己應該知道如何Routing!
這要如何解釋呢?
以cisco的系統來說,show route table應該就可以看到有許多interface吧!
每個interface是獨立的LAN 1, LAN 2 , LAN 3.....etc
謝謝你的解釋,我想再稍微問一下第二個問題。
A(Router)
|
|
B-(Switch)-C<---PC
就我的理解,pc丟封包出來不會帶vlan id
進入port C後,從port C流出的封包會因為是untagged port而使得封包帶了vlan id
因此這個封包只會流入帶有相同vlan id的untagged port。
而因為在同switch上的port B帶相同的vlan id,所以封包會流入,這是沒有問題的。
你說router和pc是同樣屬性的,我想是因為router也是在untagged port B後面,所以router的port A並不需要帶vlan id。
但是,我想我的盲點在於如果在router上的port A沒有設定為untagged port(也就是綁一個vlan id設定為access port),在封包流出port C,要選擇進入哪些port時,如果port A不是untagged port,則該封包不是會被丟棄?還是因為這個例子是『跨』兩台不同機器,因此該封包在流出port C後永遠不會先去找router上的哪些port是untagged port?而必須先經過trunk後,才會繼續尋找相同vlan id的untagged port?
如果在這例子裡,是不是把A設定為trunk port後,router就可直接ping到pc?
至於問題3,我修正一下我的問法,我想了解的是,在router內部做vlan routing時,封包有帶vlan id嘛?謝謝。