前言:
目前Openwrt的主路由器當中,設定了3組pppoe作為連外的網路,分別為static_wan/wan/iot_wan,區分為固定IP 提供服務用/動態IP 作為內網NAT的主界面/動態IP 作為IOT裝置需連外網用。原先的設定是br-lan (wan, lan2.1, lan3, lan4, lan5)上撥號。在使用約兩個月後發現在重啟Network服務的時候在三個pppoe撥號上線很常會超過120秒,推測原因可能是1. 在br-lan上撥號時可能PADI封包亂跑, 2. 3個界面的都是在br-lan所以可能有資源互搶, 3. 3個界面同時撥號時可能某個端點搞混了封包跑錯了地方。再加上這種架構下,3個撥號界面都是使用到br-lan的MAC Address可能造成混亂,所以就來動工了。
目的:
將3個ppp界面所使用的裝置獨立出來同時使用不同的MAC Address,並且維持內網與Modem(小烏龜)同網段,之所以會將wan放進br-lan的這種不符合常見邏輯的設定的目的,就是為了存取Modem同時又可以觀看IPTV(MOD)。
環境:
路由器設備 Mikrotik RB760iGS
路由器系統 Openwrt 23.05.3
路由器樓接介面與橋接設定
static_wan: br-lan
wan: br-lan
iot_wan: br-lan
lan: br-lan
iot_lan: br-lan2.3
br-lan: wan, lan2.1, lan3, lan4, lan5
br-lan2: lan2 with vid 1U/3T
交換器設備HP 2520G-8-POE
交換器VLAN:
VID1 Defautl _VLAN, 1 4 5 6 8 9 10
VID2 Modem_VLAN, 2 3 7
VID3 IOT_VLAN, 4t 5t 6t 8t
路由器WAN 與交換器P7對接
路由器LAN2與交換器P5對接
交換器P2與Modem對接
實作:
在經過數次的實驗,最後是使用MAC VLAN完成…
1. 安裝MAC VLAN套件
opkg install kmod-macvlan
2. 建立MAC VLAN裝置
LuCI主選單->Network->Interface, 點選Device
加入裝置設定 加入裝置設定 選擇 MAC VLAN, 基礎裝置 選擇 wan,模式 選擇 橋接,名稱 預設即可,MAC Address 手動輸入同時避免與其它裝置重複,之後按下儲存,重複三次建立三個裝置。
將原先br-lan中的wan取消點選。
3. 修改網路界面使用的裝置
LuCI主選單->Network->Interface
將要修改的wan改成剛剛新建立的MAC VLAN裝置,這邊可能會需要重啟Network服務後全部的裝置才能正常…
常見幾個錯誤…
DEVICE_CLAIM_FAILED: 找不到指定的裝置,可能kmod-macvlan沒安裝或是MAC Address有衝突造成無法建立裝置,即便在LuCI當中有設定完成,可能實際在建立時發生錯誤沒有在LuCI上表現出來,需要進ssh確認。
一般的錯誤: 如果後面有括號類似NEGOTIATION FAILED大都是撥號過程當中由ISP回傳的訊息,如果沒有括號的就有可能是與Modem的通訊不良,可能就需要進一步的修改設定或是檢查連線。
曾經有發生過3個虛擬裝置中固定一個無法撥號完成,將界面指定到另一個則會完成,推測可能是因為被ISP Block掉MAC Address,放個一陣子之後才會正常,可以先將連不上的界面選到其它可以連線的界面,然後過段時間再試著改回去原本的試試看。
當撥號成功就會看到3個IP並且可以連線,此時會因為第2步從br-lan拿掉wan所以無法從內網去連線到Modem的。接下來就會針對從內網中直接Modem進行設定。
Openwrt中的LAN2是連接到HP 2520G-8-POE的交換器上,同時交換器上有設定3個VLAN分別為VID1: Default_VLAN,VID2: Modem_VLAN,VID3: IOT_VLAN。而Openwrt中設了br-lan2只有lan2同時帶VID1 Untag與VID3 Tagged作為區網隔離。此時在br-lan2增加VID2 Tagged同時將br-lan2.2加進br-lan的橋接裝置,即可以完成Modem直連了。
修改後的vlan與br-lan設定
static_wan: wanmac0
wan: wanmac1
iot_wan: wanmac2
lan: br-lan
iot_lan: br-lan2.3
br-lan: lan2.1, lan2.2, lan3, lan4, lan5
br-lan2: lan2 with vid 1U/2T/3T
交換器VLAN:
VID1 Defautl _VLAN, 1 4 5 6 8 9 10
VID2 Modem_VLAN, 2 3 5t 7
VID3 IOT_VLAN, 4t 5t 6t 8t
路由器WAN 與交換器P7對接
路由器LAN2與交換器P5對接
交換器P2與Modem對接
至此已完成預期的功能了,然而是有發現在改這些之後有發現負載比原本的高,根據AI Mode的說法是MT7621AT的HWNAT不支援MACVLAN所以負載會重一些,但還不致於影響效能…
原先為了Modem直連有試著再產生一個wanmac3併入br-lan,在驗證的時候用ping Modem時沒有回應,進一步驗證的時候發現Modem有回應封包,但被擋掉了。AI Mode的建議是改用NAT的方式進行,相對的複雜很多,後來才想到用br-lan2.2併進br-lan的方式完成。
有再試著用br-wan搭配vlan的方式讓MT7621AT的HWNAT可以運作,但沒有成功。如果要可以成功可能需要與Modem的LAN也打開vlan互相配合了,比如說Modem開3個vlan對應Openwrt的3個撥號介面這樣。只是修改Modem的設定比較不切實際。
沒有留言:
張貼留言