Version: RouterOS v6.24
今天我們來探討一下有關MikroTik RouterOS中IGMP Proxy這項功能,這次我們以中華電信的MOD來當作串流視訊來源。
首先,我們要先進到MOD內部了解網路相關設定,在看到以下畫面後,按下遙控器右上方的「資訊鍵」
接著輸入密碼「1234」
這時我們可以看到MOD原始的網路設定
STB IP:這是這一台MOD所分配到的Class A Static Private IP
NetMask:針對該STB IP所屬的網路遮罩設定
Gateway:這一台MOD中網路封包路徑的閘道器
STB Server:多媒體串流服務器,負責提供串流視訊,位於Class B的Private IP
Start Page:MOD Portal,同時負責認證
Primary DNS&Secondary DNS:負責Class B Private IP中的網域名稱服務
以上是MOD的原始設定
Stage I
若是不更動MOD的原始設定,則在RouterOS中,我們可以將兩個interface透過bridge連接起來,其中I_VTU-R是接線到Modem、I_MOD則是接線到MOD
/interface bridge
add name=B_MOD
/interface bridge port
add bridge=B_MOD interface=I_VTU-R
add bridge=B_MOD interface=I_MOD
通常這個I_VTU-R也就是你原本的WAN,所以上面還會有一個PPPoE的Virtual Interface,意思就是說拿你原本連接Modem上網用的那個interface來設就好,不用再多佔一個port。
/interface pppoe-client
add ac-name="" add-default-route=yes allow=pap,chap,mschap1,mschap2 dial-on-demand=no disabled=no interface=B_MOD keepalive-timeout=60 max-mru=1492 max-mtu=1492 mrru=1600 name=HiNet_PPPoE password=abcdefgh profile=default service-name=HiNet use-peer-dns=no [email protected]
這樣的效果就等同於
1. 直接將MOD接在Modem之後,或
2. 在Modem與MOD之間插入一個Switch,而RouterOS也是接在Switch上。
Stage II
但是,上面那種作法就沒有經過Firewall及NAT,也不是我們今天要探究的IGMP Proxy能應用的地方,所以我們要將MOD作以下修改:
1. 依舊是I_VTU-R是接線到Modem、I_MOD則是接線到MOD。同樣的I_VTU-R就是你原本連接Modem上網用的那個interface,而I_MOD可以是單獨的interface,也可以位於bridge內,這裡假設I_MOD是bridge裡的一個port
/interface bridge
add name=B_LAN
/interface bridge port
add bridge=B_LAN interface=ether2
add bridge=B_LAN interface=ether3
(或包含你區網內用到的所有interface)
add bridge=B_LAN interface=I_MOD
然後我們要提供B_LAN這個bridge一個IP
/ip address
add address=192.168.5.254/24 interface=B_LAN network=192.168.5.0
2. 修改MOD內部設定,其中STB IP、NetMask、Gateway則更改成自己在用的Class C Private IP,其餘不動
3. 接下來我們要作幾件事
3.1 將MOD原始的IP設定到RouterOS上,你可以直接設定到I_VTU-R
/ip address
add address=10.175.58.56/32 interface=I_VTU-R network=10.175.63.254
也可以用Virtual Interface來設,以下我用VRRP來往下操作
/interface vrrp
add interface=I_VTU-R name=V_VTU-R
/ip address
add address=10.175.58.56/32 interface=V_VTU-R network=10.175.63.254
為了讓我們能夠access到MOD Start Page的172開頭的Class B Private IP,我們要在路由上加入以下設定
/ip route
add check-gateway=arp distance=1 dst-address=172.16.0.0/12 gateway=10.175.63.254
以及在防火牆加入以下設定
/ip firewall nat
add action=masquerade chain=srcnat dst-address=172.16.0.0/12 src-address=192.168.5.0/24
好了,這樣一來,你就可以在MOD設定頁面的「內部測試」成功Ping到172的「Ping IP」主機
3.2 啟動RouterOS的IGMP Proxy
/routing igmp-proxy interface
add alternative-subnets=10.0.0.0/8,172.16.0.0/12 interface=V_VTU-R upstream=yes
add interface=B_LAN
如果你防火牆預設是全擋的話,別忘了開啟防火牆設定
/ip firewall filter
add chain=input protocol=igmp
add chain=input protocol=udp
add chain=forward protocol=udp
設定完成後,在MOD設定頁面的「內部測試」,當你點選「SD CH」或「HD CH」時,應該可以成功看到圓圓的串流畫面,這時IGMP Proxy已發揮功能,正確將upstream的multicast導到downstream
3.3 但是當你嘗試點選「SD VOD」或「HD VOD」時,畫面一片空白!此時我們可以看到,VOD用的是RTSP的協定,而關卡就在這裡,沒有通過認證的設備,是無法取得RTSP資料的
所以,當你重新啟動MOD後,一切順利,可以讀取到首頁,不過就是會出現以下畫面,跟一開始MOD到你家安裝時,師傅一開機的畫面一樣
這個畫面要我們輸入客戶帳號,也就是你的MD號碼,但儘管輸入正確MD號碼後,依舊無法進入到輸入密碼頁面,也因此MOD在認證過程中還需辦別其他資料,這部份就待續...(現在我也不知道)
延伸閱讀
.[開箱] MikroTik CCR1016-12G
.MikroTik RouterOS VPN (PPTP/L2TP/OpenVPN/SSTP/SSH Tunnel)
.MikroTik RouterOS Stateless Tunnel (EoIP/IPIP/GRE)
.MikroTik RouterOS QoS (Queue/HTB/PCQ)
.MikroTik RouterOS Hairpin NAT - Pros & Cons
.MikroTik RouterOS Hotspot
.MikroTik RouterOS User Manager - RADIUS
.MikroTik RouterOS Load Balancing - Pros & Cons