Try   HackMD

使用靜態路由讓小烏龜下的多個子網段互通

tags: Router

前言

當小烏龜後端接了兩台以上的Router, 而每台Router都有各自的子網段時,
不同子網段的設備要互通就必須透過靜態路由表來達到目的

以下面的網路拓墣為例, 如果NB想要存取NAS, 簡易流程如下:

  1. AC68U要處理送往192.168.10.100的封包時, 會把封包改往192.168.1.1送
  2. P880收到要往192.168.10.100的封包時, 會把封包改往192.168.1.101送
  3. RB750Gr3收到要往192.168.10.100的封包時, 直接把封包送往NAS
  4. NAS要回傳送往192.168.20.101的封包時, 會把封包改往192.168.1.1送
  5. P880收到要往192.168.20.101的封包時, 會把封包改往192.168.1.102送
  6. AC68U收到要往192.168.20.101的封包時, 直接把封包送往NB

因此AC68U, RB750Gr3, P880這三台Router都需要設定靜態路由表,
我們需要完成的工作項目是上述簡易流程的第1, 2, 4, 5點
第3, 6點因為機器會自動建立動態路由, 所以我們不需要處理

網路拓墣







network



VDSL

Hinet VDSL
PPPoE



P880

P880
192.168.1.1



VDSL->P880





hEX

RB750Gr3
192.168.10.1



VDSL->hEX


220.132.x.x



AC68U

RT-AC68U
192.168.20.1



VDSL->AC68U


1.160.x.x



P880->hEX


192.168.1.101



P880->AC68U


192.168.1.102



NAS

NAS



hEX->NAS


192.168.10.100



PC

PC



hEX->PC


192.168.10.101



NB

NB



AC68U->NB


192.168.20.101



Printer

Printer



AC68U->Printer


192.168.20.128



網路環境

  • RT-AC68U使用PPPoE取得WAN IP 1.160.x.x
  • RT-AC68U的eth0開啟DHCP client, 並取得IP 192.168.1.102 (ASUSWRT自動啟用)
  • RT-AC68U開啟NAT與DHCP server, NAT網段為192.168.20.0/24
  • RT-AC68U關閉防火牆
  • RB750Gr3使用PPPoE取得WAN IP 220.132.x.x
  • RB750Gr3的ether1開啟DHCP client, 並取得IP 192.168.1.101 (RouterOS需手動啟用)
  • RB750Gr3開啟NAT與DHCP server, NAT網段為192.168.10.0/24

正文開始

開始前的注意事項

要讓不同網段互相溝通除了路由規則很重要以外, 防火牆的規則也很重要, 缺一不可
往往路由正確但因為防火牆的關係讓封包無法通過, 因此不可不注意

以下說明並不包含防火牆的規則設定, 以AC68U來說可以直接選擇關閉防火牆,
但對於RB750Gr3這類的設備需要手動修改防火牆規則 參照這篇

RT-AC68U

首先針對簡易流程的第1點, 設定AC68U的靜態路由
進入AC68U的設定頁面後, 選擇區域網路(LAN)->路由設定分頁
啟動靜態路由清單的選項開啟, 並在下面的靜態路由清單增加規則:

網路/主機IP: 192.168.10.0
網路遮罩: 255.255.255.0
閘道器: 192.168.1.1
順序: 0
介面: MAN

新增完後按套用本頁面設定的按鈕就完成了在AC68U的設定工作

RB750Gr3

接下來針對簡易流程的第4點設定RB750Gr3的靜態路由
進入RB750Gr3的設定頁面, 點選左邊的IP->Routes叫出Route List設定頁面,
新增以下規則:

Dst. Address: 192.168.20.0/24
Gateway: 192.168.1.1 reachable ether1
Type: unicast
Distance 1

新增完後按下OK或是Apply的按鈕就完成了在RB750Gr3的設定工作

P880

最後針對簡易流程的第2點跟第5點, 設定P880的靜態路由, 一樣先進入小烏龜的設定頁面
選擇左邊的Advanced Setup->Routing->Static Route分頁
按頁面底下的Add按鈕後增加兩條規則:

IP Version: IPv4
Destination IP address: 192.168.10.0
Destination IP mask: 255.255.255.0
Interface: LAN/br0
Gateway IP Address: 192.168.1.101
Metric: 1
IP Version: IPv4
Destination IP address: 192.168.20.0
Destination IP mask: 255.255.255.0
Interface: LAN/br0
Gateway IP Address: 192.168.1.102
Metric: 1

記得上述兩條規則的EnableGateway的選項都要是勾選的狀態
另外, 最好把配發給其他兩台的IP固定下來, 避免之後動態分配IP造成路由錯誤

我們可以在左邊的Advanced Setup->DHCP Server分頁中增加靜態IP
按下Add Entries按鈕然後把其他兩台Router的Mac Address跟IP填入後按Apply/Save按鈕即可
以本文的網路拓樸為例子:

MAC Address: 08:xx:xx:xx:xx:ea    #RB750Gr3
IP Address: 192.168.1.101
MAC Address: 4c:xx:xx:xx:xx:88    #RT-AC68U
IP Address: 192.168.1.102

現在我們已經完成了全部的設定工作, 各個子網段的設備應該要可以互通了

補充說明

RT-AC68U

在AC68U的靜態路由設置頁面中, 我們把順序這個參數設為0, 但實際上在路由表中會自動+1
我們可以透過ssh進去看一下設定後的路由表:
# route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
168.95.98.254   *               255.255.255.255 UH    0      0        0 ppp0
192.168.20.0    *               255.255.255.0   U     0      0        0 br0
10.8.0.0        *               255.255.255.0   U     0      0        0 tun21
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.10.0    192.168.1.1     255.255.255.0   UG    1      0        0 eth0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         h254.s98.ts.hin 0.0.0.0         UG    0      0        0 ppp0
default         192.168.1.1     0.0.0.0         UG    1      0        0 eth0

從結果來看192.168.10.0這條規則的Metric欄位為1, 並不是我們在頁面中設定的0

另外介面這個參數我們是設定成MAN, 但實際上它就是eth0,
從上面的結果中最後的Use Iface欄位即可得知

RB750Gr3

RouterOS的Quick Set預設使用PPPoE的情況下, ether1的DHCP Client是被停用的
因此需要在IP->DHCP Client中啟用ether1的設定規則, 但是Add Default Route必須改成no

 #   INTERFACE      USE-PEER-DNS  ADD-DEFAULT-ROUTE  STATUS    ADDRESS
 0   ;;; defconf
     ether1         no            no                 bound     192.168.1.101/24

完成上述步驟後, 路由表就會動態建立一個192.168.1.0/24的路由規則,
我們可以從IP->Routes中看到以下結果, 前面的flag帶有D就是指動態建立的意思

 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          pppoe-out1                1
 1 ADC  168.95.98.254/32   220.132.x.x     pppoe-out1                0
 2 ADC  192.168.1.0/24     192.168.1.101   ether1                    0
 3 ADC  192.168.10.0/24    192.168.10.1    bridge                    0
 4 A S  192.168.20.0/24                    192.168.1.1               1

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Cyui