之前前面的篇章 大多是在說明RouterOS如何使用簡單的VLAN架構
以及透過VLAN交換器設定MOD線路的做法

不過在本篇 將介紹在RouterOS中如何設定走"硬體"VLAN來連接MOD


硬體與軟體 究竟是差在哪邊?

一般的路由器 理論上都會具備以下的核心晶片 不外乎是CPU、交換晶片、無線晶片
一些比較高階的路由器 會直接捨棄掉交換晶片 直接透過CPU來做網路處理

也就是類似下圖的運作架構
(註:以下部分圖片會用到參考內容)
使用VLAN連接MOD Part 4
可以注意到 所有的網路埠都是直接連到CPU 並且CPU會根據設定 處理網路封包及連線等資訊
這個就是所謂的軟體處理

這會造成一個問題 所有的網路功能都透過CPU處理 雖然能簡化一些設定上的困難以及架構上的配置
但同時也會讓CPU的負荷加重 對於本身處理能力就不是很強的CPU來說是極大的負擔
並且在部分應用上 會使用到較多的CPU資源

這也是為什麼會有交換晶片的原因
使用VLAN連接MOD Part 4
上圖是一般RouterOS的主流機種會採用的連接做法
可以注意到多了一個交換晶片 通常交換晶片負責傳輸以及VLAN控制等功能
有了交換晶片 CPU就不用再特地處理所有的網路埠 部分功能只要交給交換晶片來做就可以了 降低CPU的負擔
這個即所謂的硬體處理


實作

以下我們將實作這個環境
使用VLAN連接MOD Part 4

SG108E與數據機一起放在1F的位置 RB2011則改放到2F的位置 1F與2F之間只有一條網路線

SG108E已經有設定好VLAN
使用VLAN連接MOD Part 4
在RB2011的部分 由於本身具有兩個交換晶片 分別對應5個Gigabit網路以及5個100M的網路
因此我們直接把2F的設備 包含MOD 全都連接到Gigabit的交換晶片上

OK 首先我們先對交換晶片進行VLAN部分的設定
如下兩張圖
使用VLAN連接MOD Part 4
使用VLAN連接MOD Part 4

這邊各位可以注意到兩件事情
1. VLAN群組設定中多了一個Switch1 cpu的選項
2. 接MOD的Port設為secure 並且接1F的VLAN設定是fallback

以下會針對這些設定一一解釋


VLAN設定

這邊我們先重提一下RouterOS (非SwOS)上的VLAN設定:
VLAN Mode:
Disable:交換晶片不會針對這個port去處理任何的VLAN
Fallback:論是在VLAN群組或是非VLAN群組的封包都會允許通過
Check:會將非相同VLAN ID群組的封包丟棄 但若收到相同VLAN ID封包是來自非群組中的Port 則不會丟棄
Secure:與Check相同 但若收到相同VLAN ID封包是來自非群組中的Port 則會將之丟棄

VLAN Header:
Add if missing:檢查封包來源 若封包來自有設VLAN的Port卻沒有VLAN標籤 則會加入後才送出
Always strip:不論收到哪種VLAN封包 會拿掉VLAN標籤後才送出
Leave as is:保持原樣 不做更動

那麼 首先解釋一下為什麼接1F的port是設定Fallback而非Check或Secure
這是因為SG108E除了連接數據機外 同時還連接其他設備(DVR 辦公室的交換器 等)
這些設備同樣也需要使用相同的區網 為了避免交換晶片把不是VLAN的封包給過濾掉
因此使用Fallback進行設定
也就是說 這個Port除了撥號以及MOD外 同時也負責其他地方的區網

再來 為什麼VLAN群組中會多一個switch1 cpu的選項呢?
這個通道其實是交換晶片到CPU的線路設定
各位如果有注意看開頭第二張圖就大概知道我在說什麼了

之所以會需要這樣設定 是因為需要設定PPPoE撥號
由於ROS沒辦法透過硬體VLAN的設定直接去使用PPPoE撥號 因此我們需要將WAN的VLAN導入到CPU中
這樣才有辦法讓ROS去撥號

但這樣設定還不夠 我們還需要在Interface中另外創一個VLAN
使用VLAN連接MOD Part 4
由於我是使用eth1當作是master 也就是ether1會使用到switch1 cpu的線路
因此 我們把VLAN設定在ether1 並且將其他2~5的port設為slave 指向ether1
使用VLAN連接MOD Part 4
然後 再到PPPoE的設定中 把Interface改成VLAN去撥號就可以了


下圖是MOD接上開機後的運行結果
使用VLAN連接MOD Part 4
因為VLAN的部分已經被我們切成WAN 所以有受到MOD的廣播風暴影響 這是不可避免的
但MOD的Port我們只有單純在Switch設定上做設計 並沒有另外再建立一個軟體VLAN來運作
所以是使用硬體的VLAN在跑
另外也可以注意到 這樣的設定方式也不會去影響到區網的其他設備
並且也可以連到接在SG108E上的其他區網設備 且這些設備同樣也不受到MOD的干擾
當然這穩定度還需要時間去驗證

另外 這個方法不適用於不支援VLAN的分享器
如果要使用的話 得另外再裝VLAN交換器才行

大約是這樣 如果有什麼需要補充、糾正或是有問題想問的地方 歡迎提出
給各位做一個分享~

參考資料:
Switch your RouterBoard

延伸閱讀:
使用VLAN連接MOD Part 1
使用VLAN連接MOD Part 2
使用VLAN連接MOD Part 3
文章關鍵字
補充:

最近在幫人設定ROS的時候 如果您是使用ROS當作主路由的話 其實也可以這樣嘗試看看
以主路由當作設定的情況下 其實會比一開始的作法容易得多

我們先假設一個網路環境 這邊以RB850Gx2為例

數據機-------RB850Gx2-------TL-SG105E--------MOD

然後 以下是連接狀況

RB850Gx2
Port 1:數據機
Port 2~4:電腦 NAS等設備
Port 5:TL-SG105E

TL-SG105E
Port 3:電腦
Port 4:RB850Gx2
Port 5:MOD

SG105E的設定在這邊就不譚述了
設定VLAN ID為100的群組 然後設定P4為Tagged P5為Untagged 然後P5設PVID

主要我們針對RB850Gx2設定的部分

首先 由於我們要設定WAN的部分走VLAN 因此我們先設定VLAN群組
將ether1、ether5、switch1 cpu都加入到VLAN群組中

然後 每一個Port的設定如下圖

可以注意到 因為要撥號 所以還是要將VLAN導到switch1 cpu上
並且為了能夠將區網封包發送到Switch上 所以我們不針對Header進行設定

這樣的情況下 會發現沒辦法撥號了 所以這時候要改一下撥號以及DHCP的設定
這邊我們不使用Bridge 直接透過master port的方式完成
因此我們將ether2~5的master port全都設為ether1


並且DHCP Server全都指定為ether1 別忘了要順便去改Addresses


最後 我們在ether1上建立一個虛擬VLAN 這個VLAN就是用來做撥號用的


然後設定PPPoE Client 將Interface改成剛剛建立的VLAN


這樣便大功告成了~
當主路由的情況 設定上會比中間有一個VLAN交換器還來得容易些
AKSN74 wrote:
補充:最近在幫人設...(恕刪)
昨日有試了您的方法,將:
modem -> rb850gx2 -> rb450 -> mod 進行vlan橋接,內容也盡可能與您的說明雷同。
但不一樣的是v6.44沒master-port,是將兩台router的port全bridge,
再開起hw使用switch ship。

但發生大悲劇,連接rb450g的mod完全收不到網路,
查了rb850gx2驚覺從源頭就有了問題,pppoe-out1也無法撥號...

ether1到vlan100(switch-cpu)也是不通的
gfx wrote:
昨日有試了您的方法...(恕刪)

6.41開始那樣改之後,還要再摸一次才會曉得
基本上沒有所謂的master port的話,理論上把VLAN interface改設到已經有設定好VLAN Table的ether上
然後再把該VLAN Interface加入到Bridge中
Bridge再設定VLAN Table即可

但以上說法只是理論上的推測,還是得測試過才知道
我也沒有太多時間可以測試
我怎麼覺得一般家庭用這個只是在整自己🙄️
h3742 wrote:
我怎麼覺得一般家庭...(恕刪)
這問題得問中華電信,怎麼先用了這麼奇耙的iptv架構建構。
逼得用戶不得不精通vlan這專精的技藝。
AKSN74 wrote:
順便提我用了實驗的方式建置vlan,您聽聽就好:
modem -> rb850gx2 -> rb450 -> mod

rb850gx2的eth1與eth2,用bridge1+hw將這2個port橋接,用來傳遞mod信號。
rb450g的eth1與eth2,用bridge1+hw將這2個port橋接,用來發送mod信號。

兩台router其餘的port則是用bridge2(無hw)綁定,做為Lan。

當然兩台router Lan(bridge2),需建置valn100才能進行橋接。
所以我用很粗超糙的方式從interface=bridge1拉出vlan100,並與bridge2橋接。
tagged封包就隨著屬於bridge1的eth2,到了另一端。

兩台router進行實驗連結,發現vlan100竟連結的起來,封包沒有被丟棄。
然後開mod測試,即使Lan有裝置有在上網,mod畫面也很順沒有破圖。

但開mod的時候對Lan的網速影響是巨大的。
只要mod不要開啟,router兩端裝置使用Hinet測速軟體都可以測到極速300/100M。
但mod開啟後,網速瞬間腰斬再腰斬,剩80/100M

上載一樣100M不變,但下載剩80M...mod廣播封包的打擊好大啊!
但更感興趣的是為何上載沒受廣播封包影響啊

gfx wrote:
順便提我用了實驗的...(恕刪)

因為MOD的廣播封包都是下載為主,加上Ethernet本身全雙工的特性
所以上傳速度不影響是正常的
但是掉速的落差也不應該這麼大才對

我晚一點試試看好了,正好有RB4011+hAP ac^2
我後來看了官方的wiki,有針對6.41+的VLAN設定
參照這個設定方式,成功讓接在RB4011後面的hAP ac^2能夠收看MOD,也能夠撥號

https://wiki.mikrotik.com/wiki/Manual:Basic_VLAN_switching

先說結論,如果是要使用Switch的VLAN功能,不只Switch的地方要設定
連Bridge的部分也要一併設定
而若買到的是沒有Switch晶片或是該晶片不具VLAN Table功能的型號
則只需要設定Bridge上的VLAN即可


先說明環境:
hAP ac^2接在RB4011後面,在RB4011上已經有設定帶Tag的VLAN100以及不帶Tag的VLAN 1
VLAN100是MOD+撥號,1則是區網

hAP ac^2的ether1接RB4011,ether3接電腦,ether5則是MOD

首先先設定Switch的部分




由於包含了沒帶Tag的區網VLAN,因此ether1與switch1-cpu的VLAN mode都設為fallback
VLAN Header則設為leave as is
ether5因為是接MOD,所以mode設為check或secure,header則設為always strip,並設定Default VLAN為100
最後到VLAN標籤,建立VLAN 100的ID,並把這三個interface都加入到這個群組中




接著在bridge部分,將所有的Port都加入到Bridge內並開啟Hardware Offload功能

另外,請確定沒有在Bridge上開啟VLAN Filtering以及IGMP Snooping功能
此舉將會導致Hardware Offloading失效

這樣做之後,基本上MOD就可以看了
若要加上撥號功能,則只需要在Bridge上另外建立一個VLAN Interface
設定對的VLAN ID,並再設定PPPoE Client的Interface為該VLAN即可




當MOD啟動時,會發現一個很有趣的事情
從上圖來看你可以發現,雖然ether1以及bridge本身有接收到流量
但Fastpath的部分只發生在ether1,而Bridge與ether5則完全沒有Fastpath的流量
這說明了MOD的封包在經過Switch的判定後,直接丟給ether5以及CPU端
AKSN74 wrote:
我後來看了官方的wiki...(恕刪)


您這兩台router應該不支援fastpath。

而且硬體啟用後還有下面限制:

不能啟用firewall與ipsec...太強人所難了。
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!