<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    NSX-t交換路由

    VSole2022-12-28 10:33:59

    1. 交換路由基本原理

    1.1. 使用視角

    1.1.1. 交換機/路由器

    交換機用于二層通信(不跨網段),路由器用于三層通信(跨網段)。

    我之前有過這樣的疑惑:交換機既然用于二層通信,發送方只要知道接收方的mac地址即可通信,為什么還要要求接收方的ip地址和自己在同一個網段?

    后來想想,如上圖所示,PC1既然是使用ip地址訪問PC3,那就得遵守三層通信的規則,PC1發現自己和PC3不在一個網段,就會轉去和路由器二層通信,期望路由器到別的網段找到PC3,所以說PC1只是沒有和PC3二層通信,而不是不能和PC3二層通信。

    1.1.2. 交換機級聯

    多臺交換機的普通口或trunk口之間,通過網線直連在一起,等效于多臺交換機合并成了一臺交換機,稱為“級聯”,其中,通過trunk口級聯,每臺交換機上id相同的vlan,也會被合并。

    1.1.3. Overlay二層通信

    交換機之間,還可以通過TEP口(Tunnel EndPoint,隧道端點)級聯,合并成一臺Overlay交換機。TEP口之間是三層網絡,如圖所示,只要能理解,它是如何如同網線直連一樣,將PC1構造的報文,原封不動的發送到PC2,那么它就沒有什么神秘的:

    ① PC1構造“mac1 : 192.168.1.6 -> mac2 : 192.168.1.7”報文,發送到直連交換機;

    ② 直連交換機根據自己的mac表,找不到mac2,就將報文復制到TEP口;

    ③ TEP口將PC1構造的報文,作為負載,構造udp報文,發送到跟它相連的TEP口;

    ④ udp報文到達對方TEP口后,解析得到其負載,還原出“mac1 : 192.168.1.6 -> mac2 : 192.168.1.7”報文,并查詢mac表,將其發送給PC2。

    從上面的過程可以看出,隧道兩端的封裝和解封裝過程,對于PC1與PC2之間的二層通信是透明的,它相比普通級聯,可以突破地域的限制,比如,相隔十萬八千里的2臺交換機,通過網線級聯是不現實的,只能通過隧道進行級聯。

    1.2. 設計視角

    1.2.1. 交換機

    通信實質上就是,將數據從發送方復制到接收方,因此很容易理解,一臺設備要與多臺設備通信,就必須跟多臺設備之間存在傳輸介質(無線通信設備之間也不例外,只不過肉眼看不見而已),所以誕生了交換機,它提供一對多連接的功能,使得設備只要跟交換機相連,就能跟其它多臺設備相連。

    1.2.2. mac地址

    單臺交換機的端口數量是有限的,所以交換機與交換機之間必須支持級聯,才能將全世界的設備聯系在一起,所以,要指明一臺設備的位置,其實就是要指明“交換機:端口號”,比如“switch2:端口2”。

    但是,ip報文中,使用的卻是“ip:mac”地址,因此可以推測,ip地址與交換機之間存在映射,先鎖定一個較大的范圍,mac地址與端口號之間存在映射,進一步鎖定精確位置。

    交換機支持同一網段的設備通信,所以交換機地址其實等效于網段的地址,ip地址中的“網絡號,其實是非常直白的指明了交換機地址。關于個人對ip地址的理解,稍后再詳細介紹,暫且只關注mac地址:報文中為什么不直接寫明端口號,而是使用mac地址,非要由交換機查詢mac表,經過一次映射才能得到端口號?

    根據個人理解,mac地址的設計意圖,包括2個方面:

    (1) 跟最后一跳路由器連接的,可能不是單臺交換機,而是級聯在一起的多臺交換機,那么,就必須對這些交換機的所有端口,進行統一編號,保證每個口的編號都是唯一的;

    (2) 讓設備具體連接在交換機的哪個端口,對通信對端透明,比如,將設備從一個端口拔掉,連接到另一個端口,只需要修改mac表,就可以保證它仍然對外可見。

    想到這里就明白了,地址的分層緣于地址映射,ip地址在路由器層,映射到某個路由器端口(連接著目標交換機),mac地址在交換機層,映射到某個交換機端口(連接著目標設備)。相應也就能理解,具體的交換機端口其實就是一層地址,它是物理上存在,但對通信雙方透明的,因此報文中只有三層ip地址和二層mac地址,而沒有一層地址。

    另外,mac地址跟設備必須是強綁定的,如果是可以修改的,就很難保證唯一性,就像ip沖突一樣,因此mac地址在設備出廠時,就固定設置好了,所以也很好理解,mac地址必須由專門的組織管理分配,從而保證每個已分配的地址都具備全球唯一性。其中,mac地址長度被設計為6字節,即地址空間大小為2^48,按每年消耗100億個計算,可以使用28000多年。

    1.2.3. 路由器

    根據1.1.2、1.1.3節可以知道,交換機之間可以通過普通口、trunk口、TEP口相連,這些連接方式,流量在連接口之間都是全量轉發,相比之下,個人習慣將路由器理解為交換機之間的另一種連接方式,并且它的作用是,使流量在連接口之間有選擇的轉發,而選擇的依據就是,各種路由協議在路由器中生成的路由表。

    對比圖中的2種連接方式,并假設發送方在switch1交換機,接收方在switch2交換機,就可以很好的理解這一點:

    (1) 網線直連(交換機級聯)

    發送報文到達switch1之后,switch1在自己的mac表上找不到接收方mac地址,就會向switch2和switch3都轉發(這是因為switch1無法預知接收方到底在哪個交換機上),switch3在自己 mac表上沒找到,也會繼續向switchN轉發(因為它無法知道接收方會在switch2上被找到)。

    (2) 通過路由器相連

    從左圖可以看出,報文其實是沒有必要沿著紅色線路白走一圈的,而路由器有選擇的轉發,就可以避免這個情況。

    個人理解,路由器的設計意圖僅此而已,對于“路由器可以隔離廣播域”的說法,曾經讓我誤以為,路由器就是為隔離廣播域而設計,確實,不管是鏈路層廣播報文,還是網絡層廣播報文,路由器都不會繼續轉發,效果上的確可以隔離廣播域,但是,“可以”和“設計意圖”是兩個概念,好比大炮的兩頭可以導電,并不代表設計大炮就是用于導電。

    所以,不知道有沒有人和我一樣存在這個誤解,存在這個誤解,也會存在這樣的疑惑:既然廣播ARP請求包的目的,是查詢目的ip主機的mac地址,那么“廣播”和“ip地址”就是一對共生的概念,而“ip地址”又是伴隨“路由器”的概念產生,也就是說,沒有“路由器”也就不會有“廣播”,為什么反而說,路由器的作用是隔離廣播域?

    1.2.4. ip地址

    1.2.2節已經提到,ip地址包含網絡號,用于在路由器層穿梭,實際上,ip地址還包含主機號。很顯然,主機號必須跟mac地址之間存在映射關系,比如,通過ssh連接一個ip地址,其中的網絡號,只能找到目標設備所在的交換機,要進一步找到設備所在的端口,還需要mac地址。

    個人猜測,這大概是針對使用體驗的一個設計,假設ip地址沒有設計成“網絡號+主機號”,而是“網絡號+mac地址”的話,一方面,ip地址會非常長,實際上,根據網絡號找到目標設備所在的交換機后,就已經將目標設備鎖定在一個很小的范圍了,也就是說,使用很小的地址空間,就可以對這些主機編碼,另一方面,ip作為三層地址,里面還摻和著mac地址的話,概念上也會相對混亂。

    1.2.5. ARP

    ip主機號與mac地址的映射關系,不是集中在一張表里,而是分散在每臺設備上,因此,如果發送方的ARP表找不到目的設備的mac地址,就要廣播ARP請求,詢問目標設備的mac地址,具體過程就不詳述了。

    ?

    2. 虛擬化網絡

    2.1. ESXi/KVM、vCenter、NSX-t

    ESXi/KVM

    虛擬化系統,提供虛假化能力和接口,支持安裝在物理機中,使得可以在物理機中創建設備,也支持嵌套,安裝到虛擬機中,使得虛擬宿主機中可以進一步創建虛擬機。

    vCenter

    一套封裝ESXi主機接口和資源的平臺,它可以添加多臺ESXi主機,然后間接提供給用戶,比如用戶通過vCenter創建VM,實際上在某臺ESXi主機中創建了VM。

    NSX-t

    一套封裝ESXi/KVM主機接口和資源的平臺,它側重于封裝通信虛擬設備的操作接口,比如交換機和路由器的創建、連接、刪除等,使主機中創建的VM,可以相互通信。并且,它支持和vCenter結合使用,vCenter注冊到NSX-t之后,其中添加的ESXi主機就會對NSX-t也可見,由于vCenter不支持添加KVM主機,所以KVM主機必須直接添加到NSX-t。

    虛擬交換機

    ESXi系統安裝后,默認會創建一臺VSS(虛擬標準交換機),因為將ESXi主機添加到vCenter的過程中,vCenter會在其中安插幾臺VM,從而可以對它進行管理,而這幾臺VM就是通過VSS接入管理網段,和vCenter進行通信的。另外,通過vCenter,可以創建VDS(vSphere分布式交換機),通過NSX-t,可以創建NVDS(NSX-t虛擬分布式交換機)。

    虛擬路由器

    通過NSX-t,可以創建T1(東西向路由器)和T0(南北向路由器)。

    2.2. NSX-t二層通信

    2.2.1. 概念

    NSX-t虛擬交換機(NVDS)

    通過NSX-t創建,它可以借助宿主機的通信能力,建立宿主機內部VM與宿主機外部通信的橋梁。

    傳輸節點(Transport Node,簡稱:TN)

    可以將NVDS與TN,理解為面向對象編程語言中“類-對象”的關系,NVDS只是一個概念,也可以將它理解為一種虛擬交換機類型,TN則是指一臺會被真實創建的NVDS實例。另外,目前查看到的資料,都將每臺ESXi/KVM主機看作一個TN,個人猜測,這可能跟NSX-t上支持“將主機添加到TZ”的操作有關,這容易讓用戶在直覺上,認為是將主機加入了TZ,從而認為主機就是TN,但是實際是在主機中創建了TN,然后主機隨著TN加入到了TZ,就是說主機與TN之間有對應關系,但是TN≠主機。

    傳輸區域(Transport Zone,簡稱:TZ)

    個人認為:TZ = 多臺TN的級聯交換機。

    網段(Segment)

    可以進行二層通信的一組交換機端口,所以也稱端口組(port group,簡稱:PG),有些資料也稱為vSwitch,比如一個vlan,或者基于vxlan隧道建立的Overlay交換機上,VNI相同的端口集合。

    上行口(Uplink)

    物理世界中,通信設備之間是通過物理介質相連,比如網線,然而虛擬通信設備上是沒有辦法插網線的,只能通過軟件模擬連接。在每個宿主機內部,VM要能和交換機連接,所以要實現進程間的數據共享,另外,宿主機中的任何通信程序,都要借助宿主機網卡收發流量,虛擬交換機組件也不例外,所以要實現交換機組件的網卡讀寫功能,使其邏輯上存在一個端口,即“上行口”,可以借助宿主機網卡跟外部通信。

    2.2.2. 配置

    理解了以上概念,就很容易理解NSX-t二層網絡的配置的過程了:

    創建IP地址池

    創建IP地址池|- NSX-t manager->Networking->IP Management->IP Address Pools->ADD   |- Name: VTEP-IP-Pool   |- Set Subnets       |- IP Ranges: 172.20.11.151-172.20.11.170       |- CIDR: 172.20.11.0/24       |- Gateway IP: 172.20.11.10
    

    目的:后續操作,在每臺主機中創建PROD-Overlay-NVDS交換機(TN)時,需要從VTEP-IP-Pool地址池,為交換機的TEP口分配ip地址。

    創建TZ

    創建PROD-Overlay-TZ|- NSX-t manager->System->Fabric->Transport Zones->ADD   |- Name: PROD-Overlay-TZ   |- Switch Name: PROD-Overlay-NVDS   |- Traffic Type: Overlay創建PROD-VLAN-TZ|- NSX-t manager->System->Fabric->Transport Zones->ADD   |- Name: PROD-VLAN-TZ   |- Switch Name: PROD-VLAN-NVDS   |- Traffic Type: VLAN
    

    目的:描述TZ(多臺TN的級聯交換機),包括:TZ名稱、加入該TZ需要創建的TN名稱及Traffic Type。

    Overlay主要優勢:

    (1) 相比vlan-id最大值只有4094,VNI接近16M個,極大的增加了一個二層區域可以容納的設備數;

    (2) 只要主機之間能三層通信,就可以將其中創建的VM放在同一個二層區域,二層區域不再限制于一個機房的范圍,極大的提高了VM部署和遷移的靈活性。

    實驗環境中,如果所有ESXi/KVM主機,都在同一個二層區域,創建TZ的時候,無論選擇哪種Traffic Type,其實都可以滿足VM之間二層通信,但是如果不滿足這個條件,那就必須選擇Overlay,本文實驗中,選擇的是PROD-Overlay-TZ。而這里同時還創建了PROD-VLAN-TZ,是為了后續實現南北向三層通信時,將T0路由器和物理路由器接入同一個網段。

    將ESXi/KVM主機加入TZ

    主機加入TZ|- NSX-t manager->System->Fabric->Nodes->Host Transport Nodes->ADD   |- 選擇主機   |   |- sa-vcsa-01.vclass.local  # 由vCenter管理的主機   |   |   |- ESXi04   |   |   |- ESXi05   |   |- None: Standalone Hosts   |       |- kvm-01   |       |   |- Name: sa-kvm-01.vclass.local   |       |   |- IP Address: 172.20.10.151   |       |   |- Username: *****   |       |   |- Password: *****   |       |- kvm-02   |           |- Name: sa-kvm-02.vclass.local   |           |- IP Address: 172.20.10.152   |           |- Username: *****   |           |- Password: *****   |- CONFIGURE NSX       |- 選擇Transport Node Profile (沒有先創建)           |- Name: ESXi-TN-Profile           |- New Node Switch               |- Type: N-VDS      # N-VDS, VDS, VSS               |- Mode: Standard   # Enhanced Datapath需要uplink物理網卡支持,可以加速報文接收發送               |- Name: PROD-Overlay-NVDS               |- Transport Zone: PROD-Overlay-TZ               |- Uplink Profile: nsx-default-uplink-hostswitch-profile  # Active-Standby               |- IP Assignment: Use IP Pool               |- IP Pool: VTEP-IP-Pool               |- Teaming Policy Switch Mapping                   |- uplink-1 (active): vmnic4 / eth1
    

    目的:在主機中創建TN,并級聯到現有的TZ中。

    根據目的就不難理解,配置中除了指定TZ,為什么還要指定一堆TN描述信息,包括:Name、Type(N-VDS)、Mode、IP Pool(為PROD-Overlay-TZ的TEP口提供ip地址)、Uplink Profile(uplink策略,后續如果為TN設置2個上行口,則為主備模式)、uplink-1(由于是實驗環境,對高可用性要求不高,不配uplink-2可以理解為備用上行口天然就是壞的,主備只要有一個是好的,就不會影響通信)。

    PROD-Overlay-TZ添加segment

    添加Web-Segment|- NSX-t manager->Networking->Segments->ADD   |- Segment Name: Web-Segment   |- Connectivity: 暫時不選 (將來選擇T1-GW-01|Tier1)   |- Transport Zone: PROD-Overlay-TZ   |- subnets: 暫時不填 (將來填: 172.16.10.1/24)添加App-segment|- NSX-t manager->Networking->Segments->ADD   |- Segment Name: App-Segment   |- Connectivity: 暫時不選 (將來選擇T1-GW-01|Tier1)   |- Transport Zone: PROD-Overlay-TZ   |- subnets: 暫時不填 (將來填: 172.16.20.1/24)添加DB-segment|- NSX-t manager->Networking->Segments->ADD   |- Segment Name: DB-Segment   |- Connectivity: 暫時不選 (將來選擇T1-GW-01|Tier1)   |- Transport Zone: PROD-Overlay-TZ   |- subnets: 暫時不填 (將來填: 172.16.30.1/24)
    

    目的:相當于在PROD-Overlay-TZ級聯交換機上,劃分了3個vlan:Web-Segment、App-Segment、DB-Segment。

    VM接入segment

    # vCenter支持添加ESXi主機,所以ESXi主機中的VM,可以通過vCenter接入SegmentESXi主機中的vm連接到segment (vcenter: 右鍵vm->Edit Settings)|- Network adapter: Web-Segment / App-Segment / DB-Segment# vCenter不支持添加KVM主機,KVM主機中的VM,通過以下方式接入SegmentKVM主機中的vm連接到segment|- ssh連接KVM主機|   |- virsh list --all|   |- virsh start T1-DB-01                      # 如果vm為斷電狀態 (比如顯示: T1-DB-01 (shut off))|   |- virsh dumpxml T1-DB-01 | grep interfaceid  # 查看vm網卡的uuid并復制|- NSX-t manager->..->SEGMENTS   |- 編譯Web-Segment / App-Segment / DB-Segment ->點擊Ports列中的Set       |- ID: vm網卡的uuid
    

    目的:將VM接入不同的Segment,不過以上只是描述了接入的方法,實驗環境中,具體連接見2.2.3節邏輯拓撲和物理拓撲:

    (1) ESXi04主機中的T1-web-01(172.16.10.11/24)、ESXi05主機中的T1-web-02(172.16.10.12/24)、kvm-02主機中的T1-web-03(172.16.10.13/24),3臺VM接入Web-Segment;

    (2) ESXi04主機中的T1-App-01(172.16.20.11/24),1臺VM接入App-Segment;

    (3) kvm-01主機中的T1-DB-01(172.16.30.11/24),1臺VM接入DB-Segment。

    2.2.3. 二層通信流程

    邏輯拓撲

    物理拓撲

    報文傳送過程

    比如:Web-Segment網段中,W1訪問W3,過程如下:

    Step1:W1構造“W1 mac : W1 ip -> W3 mac : W3 ip”報文(忽略ARP獲取W3 mac地址的過程),發送到Overlay交換機;

    Step1.5:交換機查詢“mac-VM ip-TEP ip”表(由NSX-t Controller集中收集、同步給每臺PROD-Overlay-TZ),確定W3所在Overlay交換機的TEP地址,即tep4地址;

    Step2:Overlay交換機對W1構造的原始報文,進行geneve封裝(外層:”tep1 mac : tep1 ip -> tep4 mac : tep4 ip” + Geneve報頭(VNI: 5000) + udp報頭(目的端口6081),內層/udp負載:W1原始報文);

    Step3:封裝報文經過隧道,發送到tep4;

    Step4:目標Overlay交換機對報文進行解封裝,將W1原始報文發送給W3,通信完成。

    實驗環境中,即使tep1與tep4在同一個網段,那也需要在兩端封裝和解封裝,因為它們雖然物理上在同一個網段,但是既然是通過ip地址訪問,邏輯上使用的就是三層通信。

    2.3. NSX-t三層通信

    2.3.1. 概念

    T1(東西向)/ T0(南北向)路由器

    T1和T0,都是指路由器,區別在于T1用于轉發單個租戶的內部流量(東西向),就是說,它的端口僅僅會跟單個租戶的不同segment相連,T0用于租戶內部跟外部網絡之間的流量(南北向),它一方面連接著多個租戶的T1,另一方面與通往外部網絡的物理路由器,連接在同一個網段。

    比如,公司A的web服務器,要對外開放就必須跟T0路由器之間有連接,而DB服務器不希望暴露到外網,只要能與web服務器內部通信即可,那么它們之間僅用T1路由器連接即可。同理,假設公司B的2個部門使用不同的網段,僅通過T1路由器連接,就可以實現內部通信,如果還希望他們都能訪問公司A的web服務,就必須還要將T1接到T0上。

    虛擬路由器和虛擬交換機一樣,也是由軟件實現,其中,T1與TN是一一對應存在的,但不同的是,交換機是級聯的關系,而路由器是重復的關系,理論上,在任意一臺TN所在主機中安裝T1路由器,就可以滿足單個租戶的東西向流量轉發。

    比如,如下物理拓撲中,僅ESXi04主機中安裝了T1路由器,則:

    (1) ESXi04內部,任意2個網段之間可以路由;

    (2) ESXi04與ESXi05中的任意2個網段,也可以路由(ESXi04內部的Web-Segment網段與DB-Segment網段之間,可以通過T1路由器轉發,剩下的就是Overlay二層轉發過程,這已經在2.2.3節詳細介紹過);

    (3) SXi05內部,任意2個網段之間,也可以路由。

    但是,對于情況(3),即使W2和D2兩臺虛擬機在同一宿主機,相互發給對方的報文,卻要從外部繞一個大圈子,為此,在創建T1路由器時,NSX-t會在所有TN所在主機中安裝(路由表會由NSX-t Controller集中同步),一方面避免了繞圈的情況,另一方面也起到容錯的效果(比如情況(3), ESXi05主機會優先使用自己內部的T1,如果自己的T1出現故障,利用ESXi04中的T1,仍然可以路由)。

    Edge Node

    上述內容已經提到過,T0路由器需要連接的對象有2種:一是不同租戶希望連接到外網的T1路由器,二是通往外部網絡的物理路由器。根據這樣的連接需求,NSX-t要求,必須將T0安裝在一臺獨立的主機中,這種主機就是“Edge Node”,也就是說,“Edge Node”實際上就是一臺主機,通常也是某臺ESXi/KVM主機中的一臺VM,只不過它專門用于安裝T0路由器。

    個人認為,這樣是為了將T0路由器及其需要連接的網段,與宿主機系統中的業務資源隔離開,否則,原本要在Edge Node中添加的物理路由器所在網段,就得直接在宿主機中添加,直接暴露給T1路由器。

    DR(分布式路由器)/ SR(服務路由器)

    T1/T0路由器,都可以再繼續細分為DR/SR路由器。

    以上對T1的介紹,實際上只是T1-DR,NSX-t會為每臺TN對應創建一個T1-DR,每臺TN優先使用與自己在同一主機的T1-DR,進行三層轉發,這樣就不能對東西向流量進行集中的控制,比如像情況(2)那樣,可以讓所有東西向流量,只經過一臺路由器。因此,NSX-t還可以創建T1-SR,從而可以為租戶內部流量,提供負載均衡等服務,這也正是“服務路由器”這個名稱的由來,不過,它和情況(2)對應的拓撲不同,首先,T1-SR不直接接入網段,而是和T1-DR相連,另外,它也不是直接在ESXi/KVM主機中創建,而是在Edge Node中創建。

    T1-DR、T1-SR(可選)、T0-DR、T0-SR的安裝位置:

    建議對照這個規則,提前看一下2.3.5節中的物理拓撲圖,了解一下兩種實例場景中,4種路由器的具體安裝位置。

    根據拓撲可以看出,T0-DR是T1與T0-SR之間的橋梁,如果沒有創建T1-SR,NSX-t會為每臺T1-DR對應創建一臺T0-DR,否則為每臺T1-SR對應創建一臺T0-DR,并且通過內部網段,建立它們到T0-SR的通信鏈路(我目前還沒理解T0-DR存在的意義,總覺得它是多余的,不知道T1直接跟T0-SR接在同一個網段,會有什么問題)。而T0-SR很好理解,就是一邊可以跟業務網段通信,一邊可以跟外部網絡通信。

    最后需要特別了解的一點是,多臺實際的DR,邏輯上相當于一臺DR,所有端口的mac地址相同,每份路由表也是一樣的。

    2.3.2. T1網關配置

    創建T1網關

    創建T1網關 (分布式的,直接存在于ESXi/KVM/Edge等主機中)|- NSX-t manager->Networking->Connectivity->Tier-1 Gateways->ADD TIER-1 GATEWAY   |- Tier-1 Gateway Name: T1-GW-01   |- Linked Tier-0 Gateway: 暫時不選 (將來選擇T0-GW-01)
    

    目的:用于東西向流量轉發。

    T1路由器接入segment

    T1路由器接入Web-Segment|- NSX-t manager->Networking->Connectivity->Segment   |- Web-Segment->Edit       |- Connectivity: T1-GW-01|Tier1       |- subnets: 172.16.10.1/24T1路由器接入App-segment|- NSX-t manager->Networking->Connectivity->Segment   |- App-Segment->Edit       |- Connectivity: T1-GW-01|Tier1       |- subnets: 172.16.20.1/24T1路由器接入DB-segment|- NSX-t manager->Networking->Connectivity->Segment   |- DB-Segment->Edit       |- Connectivity: T1-GW-01|Tier1       |- subnets: 172.16.30.1/24
    

    目的:使Web-Segment、App-Segment、DB-Segment網段上的VM,可以跟T1二層通信。

    2.3.3. 東西向三層通信流程

    邏輯拓撲

    物理拓撲

    報文傳送過程

    比如:Web-Segment網段中的W1,訪問App_Segment網段中的A1

    Step1:W1發現A1和自己不在一個網段,所以構造“W1 mac : W1 ip -> T1 mac : A1 ip”報文(忽略ARP獲取T1 mac地址的過程),通過交換機發送到T1路由器;

    Step1.5:T1路由器查找路由表,確定下一跳出口;

    Step2:由于下一跳出口已經和A1在一個網段,所以路由器構造“T1 mac : W1 ip -> A1 mac : A1 ip”報文(忽略ARP獲取A1 mac地址的過程),通過交換機發送到A1。

    理解了W1->A1(同一主機內部),再理解W1->W3(不同主機內部),就不難了:ESXi04主機內部,報文從Web-Segment網段,發送到App_Segment網段的過程,在兩種情況中是沒有區別的,報文最終再通過Overlay二層轉發到W3,這已經在2.2.3節詳細介紹過。

    2.3.4. T0網關配置

    創建Edge Node

    創建Edge虛機|- NSX-t manager->System->Fabric->Nodes->Edge Transport Nodes->ADD EDGE VM   |- Name and Description   |   |- Name: sa-nsxedge-01, sa-nsxedge-02   |   |- Host name/FQDN: sa-nsxedge-01.vclass.local   |   |- Form Factor: Medium   |- Credentials   |   |- CLI User Name: *****   |   |- CLI Password:  *****   |   |- System Root Password: *****   |- Configure Deployment   |   |- Compute Manager: 選擇sa-vcsa-01.vclass.local   |   |- Cluster: 選擇SA-Management-Edge   |   |- Datastore: 選擇SA-Shared-02-Remote   |- Configure Node Settings   |   |- IP Assignment: static   |   |- Management IP: 172.20.10.61/24   |   |- Default Gateway: 172.20.10.10   |   |- Select Interface   |   |   |- pg-SA-Management   |   |- Search Domain Names: vclass.local   |   |- DNS Servers: 172.20.10.10   |   |- NTP Servers: 172.20.10.10   |- Configure NSX       |- New Node Switch       |   |- Edge Switch Name: PROD-Overlay-NVDS       |   |- Transport Zone: 選擇PROD-Overlay-TZ       |   |- Uplink Profile: 選擇nsx-edge-single-nic-uplink-profile       |   |- IP Assignment: 選擇Use IP Pool       |   |- IP Pool: 選擇VTEP-IP-Pool       |   |- Teaming Policy Switch Mapping       |       |- uplink-1 (active): 選擇pg-SA-Edge-Overlay       |- New Node Switch (點擊ADD SWITCH)           |- Edge Switch Name: PROD-VLAN-NVDS           |- Transport Zone: 選擇PROD-VLAN-TZ           |- Uplink Profile: 選擇nsx-edge-single-nic-uplink-profile           |- Teaming Policy Switch Mapping               |- uplink-1 (active): 選擇pg-SA-Edge-Uplinks
    

    目的:為T0-SR提供安裝場所(T1-SR、T0-DR也有可能安裝在Edge Node中)。

    創建Edge Node集群

    創建Edge集群|- NSX-t manager->System->Fabric->Nodes->Edge Cluster->ADD   |- Name: Edge-Cluster-01   |- Edge Cluster Profile: 選擇nsx-default-edge-high-availability-profile  # 定義2個Edge之間的心跳監測信息   |- 選擇要添加到集群中的Edge       |- sa-nsxedge-01       |- sa-nsxedge-02
    

    目的:相當于將多個Edge Node“打包”在一起(實驗環境不考慮高可用,創建一個Edge Node即可,所以可以跳過這步操作)。

    PROD-VLAN-TZ添加segment

    添加T0-GW-01-Uplink-1|- NSX-t manager->Networking->Segments->ADD   |- Segment Name: T0-GW-01-Uplink-1   |- Connectivity: 不填   |- Transport Zone: 選擇PROD-VLAN-TZ   |- subnets: 不填   |- VLAN: 0添加T0-GW-01-Uplink-2|- NSX-t manager->Networking->Segments->ADD   |- Segment Name: T0-GW-01-Uplink-2   |- Connectivity: 不填   |- Transport Zone: 選擇PROD-VLAN-TZ   |- subnets: 不填   |- VLAN: 0
    

    目的:相當于在PROD-VLAN-TZ交換機上,劃分了2個vlan:T0-GW-01-Uplink-1、T0-GW-01-Uplink-2(這兩個網段,最終會和物理路由器所在網段級聯,T0接入后,就可以和物理路由器二層通信)。

    創建T0網關

    創建T0網關 (集中式的,需要先創建Edge虛擬機)|- NSX-t manager->Networking->Connectivity->Tier-0 Gateways->ADD GATEWAY->Tier-0   |- Tier-0 Gateway Name: T0-GW-01   |- HA Mode: 選擇Active-Active   |- Edge Cluster: 選擇Edge-Cluster-01  # 指定T0-GW-01路由器在哪個Edge虛擬機中創建
    

    目的:用于南北向流量轉發。

    連接T1路由器與T0路由器

    T1路由器連接到T0路由器|- NSX-t manager->Networking->Connectivity->Tier-1 Gateways->Edit(T1-GW-01)  |- Linked Tier-0 Gateway: T0-GW-01
    

    目的:以T0路由器為橋梁,間接連接到物理路由器,或者其它T1路由器(T0與T1之間的接口連接、ip配置,由NSX-t自動完成)。

    T0-SR路由器添加接口,并與物理路由器接入同一網段

    給T0-SR添加int1接口|- NSX-t manager->Networking->Connectivity->Tier-1 Gateways->Edit (T1-GW-01)   |- INTERFACES->External and Service Interfaces->Set->ADD INTERFACES       |- Name: int1       |- IP Address / Mask: 192.168.100.2/24           # 配置ip       |- Connected To(Segment): T0-GW-01-Uplink-1  # 跟物理路由器接入同一網段       |- Edge Node: sa-nsxedge-01給T0-SR添加int2接口|- NSX-t manager->Networking->Connectivity->Tier-1 Gateways->Edit (T1-GW-01)   |- INTERFACES->External and Service Interfaces->Set->ADD INTERFACES       |- Name: int2       |- IP Address / Mask: 192.168.110.2/24           # 配置ip       |- Connected To(Segment): T0-GW-01-Uplink-2  # 跟物理路由器接入同一網段       |- Edge Node: sa-nsxedge-02
    

    目的:使T0路由器,可以跟物理路由器二層通信。

    同步路由表

    將T1內部直連的業務網段路由通告給T0|- NSX-t manager->Networking->Connectivity->Tier-1 Gateways->Edit (T1-GW-01)   |- Route advertisement       |- All Connected Segment & Service Ports: 開啟T1路由器添加int1/int2接口設置鄰居|- NSX-t manager->Networking->Connectivity->Tier-0 Gateways->Edit (T0-GW-01)   |- BGP       |- Local AS: 100       |- BGP Neighbors->Set           |- ADD BGP NEIGHBOR           |   |- IP Address: 192.168.100.1           |   |- Remote AS number: 200           |   |- Source Addresses: 192.168.100.2           |- ADD BGP NEIGHBOR               |- IP Address: 192.168.110.1               |- Remote AS number: 200               |- Source Addresses: 192.168.110.2將T1內部的業務網段路由通告給物理路由器|- NSX-t manager->Networking->Connectivity->Tier-0 Gateways->Edit (T0-GW-01)   |- ROUTE RE-DISTRIBUTION->Set->ADD ROUTE RE-DISTRIBUTION       |- Nmae: 123       |- Set           |- Connected Interfaces & Segment: 選中
    

    目的:更新T1、T0、物理路由器中的路由表。

    2.3.5. 南北向三層通信流程

    邏輯拓撲

    AA:active-active

    AS:active-standby

    T1-DR與T1-SR、T1-DR與T0-DR、T1-SR與T0-DR、T0-DR與T0-SR之間,路由接口的創建、連接、ip分配,由NSX-t自動完成。

    物理拓撲

    2.3.4節的配置過程,沒有包含:

    (1) Edge-Overlay和Edge-uplink網段的創建(參照2.2.2節:PROD-Overlay-TZ添加segment);

    (2) Edge Node的pg-SA-Edge-Overlay和pg-SA-Edge-Uplinks網卡的創建(Edge Node也是VM,右鍵選擇“編輯虛擬機”,即可設置);

    (3) pg-SA-Edge-Overlay和pg-SA-Edge-Uplinks網卡,分別連接到Edge-Overlay和Edge-uplink網段(參考2.2.2節:VM接入segment)。

    實例1:T1-DR + T0-DR + T0-SR

    實例2:T1-DR + T1-SR + T0-DR + T0-SR

    路由表

    實例1中各個路由器中的路由表如下(實例2略):

    2.3.5.4. 報文傳送過程

    假設:W1(172.16.10.11)-> PC(172.20.10.80)

    這里僅以實例1拓撲舉例,實例2相比實例1,僅僅是三層轉發過程中,多經過一下T1-SR(active-standby)路由器。

    Step1:W1發現PC和自己不在一個網段,所以構造“W1 mac : 172.16.10.11 -> T1-DR mac : 172.20.10.80”報文(忽略ARP獲取T1-DR mac地址的過程),通過交換機發送到T1-DR;

    Step1.5:T1-DR查找路由表,命中“0.0.0.0/0 -> 100.64.32.1”,并根據ARP表或發送ARP請求,查詢100.64.32.1的mac(AA);

    Step2:T1-DR構造“T1-DR mac : 172.16.10.11 -> AA : 172.20.10.80”報文,發送到T0-DR;

    Step2.5:T0-DR查找路由表,命中“0.0.0.0/0 -> 169.254.0.2 / 169.254.0.3”等價路徑,假設本次選擇169.254.0.2,并根據ARP表或發送ARP請求,查詢其mac(BB);

    Step3:T0-DR構造“AA : 172.16.10.11 -> BB : 172.20.10.80”報文;

    Step4:T0-DR構造的報文穿過Overlay隧道,轉發Edge Node中的交換機;

    Step5:“AA : 172.16.10.11 -> BB : 172.20.10.80”報文,到達T0-SR1路由器;

    Step5.5:T0-SR1查找路由表,命中“172.20.10.0/24 -> 192.168.100.1”,并根據ARP表或發送ARP請求,查詢192.168.100.1的mac為CC;

    Step6:T0-SR1構造“BB : 172.16.10.11 -> CC : 172.20.10.80”報文,發送到物理路由器;

    Step7:物理路由器轉發給外部PC。

    路由器交換機報文交換
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。以太網協議詳解MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。以太網協議詳解MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。以太網協議詳解MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進制表示。網絡層網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。
    數據鏈路層在不可靠的物理介質上提供可靠的傳輸。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。
    —2020 信息技術 安全技術 密鑰管理 第1部分:框架 —2021 信息技術 安全技術 密鑰管理 第3部分:采用非對稱技術的機制 17964—2008 信息安全技術 分組密碼算法的工作模式 —2000 信息技術 安全技術 散列函數 第1...
    NSX-t交換路由
    2022-12-28 10:33:59
    但是,ip報文中,使用的卻是“ip:mac”地址,因此可以推測,ip地址與交換機之間存在映射,先鎖定一個較大的范圍,mac地址與端口號之間存在映射,進一步鎖定精確位置。
    思科要求客戶立即在其所有面向互聯網的 IOS XE 設備上禁用 HTTPS 服務器功能,以防止攻擊者利用操作系統 Web 用戶界面中的一個關鍵零日漏洞。
    攻擊方式的多種多樣,致使防御手段逐漸多元化。數據鏈路層針對設備劫持的防御手段主要就是定期檢查dns服務器、路由交換機等數據鏈路轉發設備,及時排查不明流量的服務及數據鏈路通信的內容解析。權限獲取的目的是以拿下的系統作為跳板機,通過內網穿透的方式攻擊內網其他系統,通過維持權限,長期控制跳板機,維持內網訪問權限。整個企業生產圍繞安全進行,棄用不可信代碼,反復測試上線代碼bug及漏洞。
    入網絡協議,以圖文并茂的方式細說網絡技術細節。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类