現在有一個需求,A子網和B子網處於不同網段,當網絡中存在多個路由器時,要求不同路由器下屬的子網可以互相通訊,同時又可以通過寬帶路由器上網,這如何實現?在查閱了大量資料和參考了網上現有的解決方案下,得出如下解決方法,更加詳細的說明,請設置靜態路由不同網段互相訪問參考。
先介紹幾個基本知識。
1. 網關,簡單來說就是網絡中數據的關口,網關的IP地址就是具有路由功能設備的IP地址,而此類設備可以是路由器、啟動路由協議的服務器或者代理服務器等。
2. 路由就是把信息從源傳輸到目的地的行為,在大多數寬帶路由器中,未配置靜態路由的情況下,內部就存在一條默認路由,這條路由將LAN口下所有目的地不在自己局域網之內的信息包轉發到WAN口指定的網關去。每個信息包在經過路由器時,路由器會檢查目的IP,將它和路由表中的子網掩碼做與計算,並與路由條目中的IP進行對比,相同,就按照這條路由規則轉發,不相同就在檢查對比下一條,如果所有的都不相同,則轉發到默認路由去。
3. 默認路由,路由器在轉發時,它將所有非本網段的目的IP包都發到WAN口的網關去,由WAN口網關所指定的設備決定信息包是發到它自己連的內網還是發到外網去。
4. 路由器隔絕廣播,划分了廣播域,也就是說,路由器不會轉發廣播數據,不同路由器之間通訊,是通過ARP協議來獲得下一跳路由器的MAC地址,ARP是基於廣播的,路由器只能發現一跳范圍內的其他路由器設備。
5. IPv4地址是有4段8位二進制數組成,一部分是網絡位,一部分是主機位,網絡位對於的子網掩碼部分全為1,而主機位全為0.
情景一:
企業通過一台路由器R1上網,局域網LAN1,。因為業務需要,擴充了一台路由器R2,加入一個新的局域網段LAN2。
要使能PC1和PC2相互通訊,需要做如下圖中所說的設置。
一條靜態路由一般由三部分組成,目的IP地址、子網掩碼和下一跳地址,按照上圖的分析,新建一條靜態路由所包含的信息,應該有如下內容,發往目的地址192.168.1.0網段的IP包(子網掩碼為255.255.255.0)的下一跳地址為192.168.0.100.具體配置位置,如果是在路由器中,以TP-Link的為例子,在路由器配置界面,有靜態路由表配置:
在設置靜態路由時,網關IP必須是與本路由器LAN口IP屬於同一個網段。
如果目的IP地址是一台主機的IP地址,則子網掩碼必須為255.255.255.255
如果是在服務器上,可以通過命令行來配置靜態路由,包括添加、刪除和修改。
情景二:
小區共享性寬帶接入,A用戶用一台寬帶路由器構建了一個局域網,B用戶也用一台寬帶路由器構建局域網,A、B用戶各自局域網之間的主機不能相互通訊。網絡拓撲如下:
要想實現PC2和PC1之間的互相訪問,和情景一類似,需要在內網網關中添加兩條靜態路由。一般的小區網關肯定是不會隨便讓用戶配置路由的,而且這樣配置后,其他網段的電腦也可以訪問PC1和PC2,這樣帶來了安全隱患。我們可以這樣設置,不在內網網關上面添加靜態路由,在R1和R2上各添加一條路由,指向對象來實現R1和R3下主機的相互訪問。
情景三:
既有串聯也有並聯,網絡中有多級路由設備的環境,這種情況可以說是情景一和情景二的整合。
類似的網絡拓撲如下:
要實現PC1、PC2和PC3之間的互訪,需要配置如下的靜態路由:
R1:目的地址為192.168.1.0,掩碼255.255.255.0,下一跳為192.168.0.100
目的地址為172.16.0.0,掩碼255.255.0.0,下一跳為10.1.1.3
R3:目的地址為192.168.0.0,掩碼255.255.255.0,下一跳為10.1.1.2
目的地址為192.168.1.0,掩碼255.255.255.0,下一跳為10.1.1.2.
對於路由器R3來看,它只能看到R1,而看不到R2.對於R3來說,上面兩條路由,可以匯總會一條,就是
目的地址為192.168.0.0,掩碼為255.255.0.0,下一跳為10.1.1.2.這個網段包含了192.168.0.0~192.168.255.0所有的子網,這條靜態路由會使所有目的IP在這個范圍內的信息包,都轉發給10.1.1.2路由器R1,這種,將多條子路由條目匯總成一條都包含在內的總路由條目,叫做路由匯總。
在大型路由器上,路由表往往很長很大,采用路由匯總可以減少路由表的長度,提高路由器效率。
路由匯總也不總是有效的,因為子網的划分是人為的,路由匯總中的其他網段可能存在其他局域網下。
上述例子中的路由匯總,不那么精確,對於192.168.0.0和192.168.1.0,網絡位相同的位數有前23位,要可以通過掩碼來區分這兩個網段的話,需要將掩碼設置為255.255.254.0,這條改進的匯總路由表應該寫成這樣:
目的地址為192.168.0.0,子網掩碼為255.255.254.0,下一跳為10.1.1.2.這條匯總路由,只會包含192.168.0.0和192.168.0.1兩個子網,這是一條精確路由。
總結:在進行路由匯總時,應該經歷使用精確的匯總條目,本能匯總的條目就匯總,不能精確匯總的條目就不匯總的原則,這樣有助於網絡以后的擴展和維護。