最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[ RouterOS 折騰手記 ] 2.配置防火墻和流量整形

2022-07-27 17:17 作者:狐貍Nomad  | 我要投稿

0.前景提要

本篇教程分為以下內(nèi)容:

  1. 工具準(zhǔn)備

  2. 定義接口組

  3. 配置防火墻

  4. 配置流量整形(QoS)

在上一篇教程《 [ RouterOS 折騰手記 ] 1.定義網(wǎng)絡(luò)接口和基礎(chǔ)配置 》中,我們已經(jīng)配置好了 RouterOS 的網(wǎng)絡(luò)接口、DHCP、DNS等內(nèi)容;

此時,連接上 RouterOS 的設(shè)備可以正常獲取到 IPv4 地址,但還不能正常訪問外網(wǎng)。

因為此時的 RouterOS 不僅關(guān)閉了 PPPoE 連接,而且還沒有配置必要的防火墻設(shè)置。

1.工具準(zhǔn)備

防火墻和流量整形的配置較為復(fù)雜,推薦使用 SSH 工具在 RouterOS 的命令行環(huán)境下進(jìn)行配置。

我目前常用的 SSH 工具是?Tabby?,是一個基于 Electron 開發(fā)的開源跨平臺終端工具,可以在 Github 平臺上進(jìn)行下載。

Tabby 地址:

https://github.com/Eugeny/tabby

如果因為網(wǎng)絡(luò)環(huán)境原因無法下載該軟件時, Windows 系統(tǒng)自帶的終端工具?PowerShell?也能一用。

只需要在系統(tǒng)自帶搜索中搜索“PowerShell”即可:

打開一個終端工具,輸入以下命令:

然后輸入 RouterOS 的密碼進(jìn)行登錄。

輸入密碼時?不會?有輸入內(nèi)容的提示,密碼輸入完后直接回車即可。登錄成功后如圖所示:

2.定義接口組

在配置防火墻之前,需要定義接口組。接口組可以簡化防火墻的配置,并且在后續(xù)使用 RouterOS 的過程中如果對接口進(jìn)行了修改而不必更新防火墻條目。

在之前的教程中已經(jīng)設(shè)置好的接口有?pppoe-out1?bridge1??ether1?,分別代表連接互聯(lián)網(wǎng)的接口?WAN、內(nèi)網(wǎng)接口?LAN?以及訪問光貓接口?MODEN?。

2.1.RouterOS 撥號時

對于使用 RouterOS 撥號的場景?,將以下命令一次性全部粘貼到終端工具中即可:

如果該段代碼不好復(fù)制,請查閱我 Gitee 上的同步更新倉庫,

訪問文件?src /?Fox_ROS_Define_Interfaces.conf?進(jìn)行復(fù)制。

在復(fù)制粘貼命令到終端工具并執(zhí)行時,有時候會出現(xiàn)?光標(biāo)?停留在全部命令的?“最后一行”?的情況:

這種情況下,命令的?“最后一行”?其實并未執(zhí)行,我們需要手動按下?“回車”?鍵(多按幾次當(dāng)然也可以),以保證命令的全部執(zhí)行,該方法后文部分將不再贅述?

2.2.光貓撥號時

對于使用光貓撥號的場景?,則?ether1?為?WAN?,則應(yīng)該使用以下命令:

命令執(zhí)行完畢后,打開 Winbox 并點擊左側(cè)導(dǎo)航的?Interfaces?,切換到?Interface List?選項卡,查看接口組內(nèi)容:

其中?pppoe-out1?顯示為斜體,這是因為該接口此時處于“禁用狀態(tài)”,無需擔(dān)心。

3.配置防火墻

防火墻配置內(nèi)容包括?address-list?、filter?nat?、mangle?、raw?以及一些和防火墻相關(guān)的?系統(tǒng)參數(shù)?。

防火墻的配置命令是基于 RouterOS 官方 Wiki 中有關(guān) IPv4?高級防火墻設(shè)置?經(jīng)過少許修改而來,盡可能的保證了和官方文檔的一致性。

RouterOS 官方高級防火墻配置指南:

https://help.mikrotik.com/docs/display/ROS/Building+Advanced+Firewall

同樣是復(fù)制防火墻配置命令,一次性全部粘貼到終端工具中即可?“一鍵配置”?完成。

需要注意的是,防火墻配置命令中的部分 IPv4 地址,需要根據(jù)實際情況進(jìn)行調(diào)整。

  • 光貓的 IPv4 地址?192.168.100.1

  • 如果使用?光貓撥號?則無需使用與光貓相關(guān)的防火墻條目

    • 每條防火墻均有備注?comment?信息,去掉包含?modemconf?的相關(guān)防火墻條目

  • RouterOS 的 IPv4 地址?172.16.1.1

  • 內(nèi)網(wǎng)自建 DNS 的 IPv4 地址?172.16.1.2?、?172.16.1.3

    • (后續(xù)教程將記錄使用?Adguard Home?作為內(nèi)網(wǎng) DNS 服務(wù)器的過程)

需要分別修改?address-list?表中的?modem_ipv4?、?local_subnet_ipv4??local_dns_ipv4?這幾個地址參數(shù),以及?nat?表中的 DNS?redirect?部分。

由于防火墻的配置命令很長,我放在本篇教程的結(jié)尾處,以便復(fù)制。

再次回到 Winbox,點擊左側(cè)導(dǎo)航?IP?菜單的子菜單?Firewall?并查看防火墻各個選項卡中內(nèi)容:

確認(rèn)防火墻條目與命令中的條目一致后,便可在?Interfaces?中啟用?pppoe-out1?的撥號:

撥號后,pppoe-out1?前面的狀態(tài)顯示為?R?,則表示撥號已經(jīng)成功:

此時打開電腦瀏覽器,對您常用的網(wǎng)站進(jìn)行訪問,如果能正確訪問到,表示設(shè)置成功。

4.配置流量整形

4.1.取舍?Fasttrack

可能細(xì)心的小伙伴已經(jīng)察覺到,在防火墻中有個非常重要功能沒有打開,那就是 RouterOS 的?Fasttrack?功能。

這個功能的作用是跟蹤已經(jīng)建立的連接,并讓這些流量走?“快速通道”?來降低設(shè)備 CPU 使用率。

但 RouterOS 在使用流量整形時,會使用到?Simple Queues?功能,而?Fasttrack?為啟用狀態(tài)時,會使?Simple Queues?、?Queue Tree?等隊列功能失效。

對于如何取舍?Fasttrack?和?Simple Queues?,我提供這么幾個思路:

  • 如果使用的是 CPU 較弱的硬路由(比如?RB750Gr3?),請選擇開啟?Fasttrack

  • 如果路由器 CPU 資源已達(dá)上限,在測速時仍無法跑滿帶寬,請選擇開啟?Fasttrack

  • 如果路由器在配置了流量整形后,在測速時反而無法跑滿帶寬,請選擇開啟?Fasttrack

根據(jù)實際測試,QoS 的處理性能與 RouterOS 網(wǎng)卡的?Multiqueue?參數(shù)以及 CPU 的單核性能有一定關(guān)系。

當(dāng)?未設(shè)置?網(wǎng)卡?Multiqueue?參數(shù)時,Simple Queues?在帶寬測速時只會使用?4?個 CPU 核心中的?1?個核心,Queue Tree?情況類似。

具體原因與?Simple Queues?和?Queue Tree?的設(shè)計邏輯有關(guān),也與其設(shè)置方法有關(guān),這里不展開說明。

因此,在未設(shè)置網(wǎng)卡?Multiqueue?且使用了?Simple Queues?或??Queue Tree?但無法跑滿 QoS 限速的情況下,說明當(dāng)前設(shè)備的單核性能不足,建議開啟 RouterOS 網(wǎng)卡的?Multiqueue?(雖然開啟?Multiqueue?后會略微降低 QoS 效果),再酌情設(shè)置?Fasttrack、?Simple Queues?或?Queue Tree?,將性能影響降至最低。

制約因素總結(jié)如下:

  • Multiqueue?可讓流量更加“均衡”的負(fù)載在多個 CPU 核心上,但會略微降低 QoS 效果。

  • Simple Queues?和?Queue Tree?均工作在單個 CPU 核心上,CPU 的單核性能將制約 QoS 能處理的最大帶寬,需要與?Multiqueue?配合來均衡 CPU 負(fù)載。

  • Fasttrack?可有效降低 CPU 的工作負(fù)載,但會讓?Simple Queues?失效,只能與?Interface?上的?Queue Tree?協(xié)同工作。

  • CAKE?算法相對而言比?Fq_CoDel?算法能更好的控制緩沖區(qū)腫脹,但?CAKE?算法更消耗 CPU 資源。

4.2.確定帶寬上限

在執(zhí)行配置命令之前,有一個十分重要的指標(biāo)需要依托真實網(wǎng)絡(luò)環(huán)境實測得出,那就是當(dāng)前外網(wǎng)的?實際帶寬?

目前國內(nèi)運營商給用戶的帶寬一般會存在 20% 左右的余量,即如果您的寬帶簽約值為?500Mbps?,那么實際測速可能到達(dá)?600Mbps?左右,而且家用上下行的帶寬并不對等,?500Mbps?的下行帶寬運營商可能只會給?30~50Mbps?的上行帶寬。

而我們常遇到,當(dāng)下行帶寬跑滿時,比如使用下載程序下載學(xué)習(xí)資料,此時其他網(wǎng)絡(luò)用戶在看在線視頻或者打網(wǎng)絡(luò)游戲時就會遇到延遲上升,甚至卡頓,這個現(xiàn)象在上行帶寬跑滿時尤為明顯。

簡單來說,這是因為內(nèi)網(wǎng)設(shè)備對帶寬的大量占用,觸發(fā)了運營商的 QoS ,也就是運營商的限速,再加上數(shù)據(jù)包擁塞等一系列原因?qū)е隆?/p>

而設(shè)置 RouterOS 流量整形的目的就是盡可能的不觸發(fā)運營商的 QoS。設(shè)置思路也很簡單,首先在 RouterOS 中設(shè)置一個合理的帶寬用量上限,然后通過 RouterOS 的流量整形算法,根據(jù)不同內(nèi)網(wǎng)設(shè)備的流量需求,均衡合理的動態(tài)分配內(nèi)網(wǎng)帶寬,以保證整體內(nèi)網(wǎng)的網(wǎng)絡(luò)服務(wù)質(zhì)量,也就是內(nèi)網(wǎng)的 QoS。

參考 OpenWrt 官方文檔《?SQM (Smart Queue Management)?》 和《?SQM Details?》,里面詳細(xì)介紹了如何微調(diào)參數(shù)。

OpenWrt?官方 SQM 配置指南:

https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm

OpenWrt 官方 SQM 詳解:

https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm-details

我這里結(jié)合實際情況,將帶寬部分總結(jié)如下:

一句話說明:簽約帶寬比物理接口速率高,則帶寬上限取物理接口速率;簽約帶寬比物理接口速率低,且完全可以跑出超過簽約帶寬的實際速率,則帶寬上限取實際速率的平均值。

注意:
帶寬測速一定要使用網(wǎng)線連接路由器,并且斷開其他連接路由器的用網(wǎng)設(shè)備,以保證帶寬測速的準(zhǔn)確性。

如果實際帶寬速率比簽約帶寬要低,建議檢查光貓性能、光衰情況、網(wǎng)線質(zhì)量、軟路由的 CPU 分配,如果這些都沒問題,那就是運營商問題,可以打電話給運營商并要求上門維修。

當(dāng)然,為了省事,也可以直接取簽約帶寬的速率值為帶寬上限值。

在拿到帶寬上限后,分別乘以?95%?、?90%??85%?,得到包含帶寬上限在內(nèi)的共計四個檔位的速率,留下備用,比如:

下行帶寬上限為?500Mbps,得到?475Mbps??450Mbps?、?425Mbps?共四個個檔位的速率。

上行帶寬上限為?50Mbps,得到?48Mbps??45Mbps?、?43Mbps?共四個檔位的速率。

4.3.配置 Simple Queues

RouterOS 的流量整形設(shè)置中,使用了在 Linux 下比較流行的?CAKE?算法。經(jīng)過我的測試,?CAKE?算法相比經(jīng)典的?Fq_CoDel?算法能更好的控制緩沖區(qū)腫脹(Bufferbloat)。

在使用流量整形命令時,請根據(jù)網(wǎng)絡(luò)環(huán)境自行調(diào)整相關(guān)參數(shù):

  • 帶寬?max-limit=下行帶寬M/上行帶寬M?參數(shù)

  • 如果是 光貓撥號 環(huán)境,還需額外調(diào)整

    • 外網(wǎng)接口?target=外網(wǎng)接口?參數(shù)

    • 網(wǎng)絡(luò)開銷方案?cake-overhead-scheme=開銷方案?參數(shù)

注意:
配置流量整形和調(diào)整參數(shù)時,建議使用網(wǎng)線連接路由器,并且斷開其他連接路由器的用網(wǎng)設(shè)備,以保證結(jié)果的可靠性。

回到之前的終端工具,保留登錄了 RouterOS 的終端窗口,新開啟一個終端窗口,并使用如下命令:

觀察?ping?命令的響應(yīng)時間,粗略估計一個時延水平,但?不要關(guān)閉該命令?

然后,將之前測得的上行、下行帶寬第一檔位速率(也就是上下行帶寬上限速率值,演示值為?500Mbps/50Mbps?)直接帶入?max-limit=下行帶寬M/上行帶寬M?命令部分進(jìn)行配置,命令如下:

如果該段代碼不好復(fù)制,請查閱我 Gitee 上的同步更新倉庫,

訪問文件?src?/?Fox_ROS_QoS_CAKE.conf?進(jìn)行復(fù)制。

執(zhí)行完成后,用帶寬測速工具再次測速,觀察測速工具將上、下行帶寬跑滿時,?ping?命令的時延變化:

如果在下行(上行)帶寬跑滿的時候,出現(xiàn)了如圖所示的高時延,并在帶寬跑滿時持續(xù)存在,說明當(dāng)前下行(上行)帶寬上限檔位過高,需要在 Winbox 中將?Simple Queue?的帶寬速率值下調(diào)檔位,直到?ping?命令的時延不會因為帶寬測速而受到影響為止。

注意,因為使用的是?pppoe-out1?接口,所以此處的上下行帶寬與 Winbox 中的上下行英文相反。

4.4.配置 Queue Tree

通過研究官方文檔,發(fā)現(xiàn)還有一種流量整形的配置方法可以與?Fasttrack?功能搭配使用,那就是配置 RouterOS 的“隊列樹”?Queue Tree?。

根據(jù)官方文檔有關(guān)?Queues?的介紹:

If you are using the default configuration, be sure the FastTrack rule is disabled for this particular traffic, otherwise, it will bypass Simple Queues and they will not work.

The queue tree creates only a one-directional queue in one of the HTBs. It is also the only way how to add a queue on a separate interface. This way it is possible to ease mangle configuration - you don't need separate marks for download and upload - only the upload will get to the Public interface and only the download will get to a Private interface. The main difference from Simple Queues is that the Queue tree is not ordered - all traffic passes it together.

根據(jù)實際測試,當(dāng)?Fasttrack?開啟時,如果?Queue Tree?應(yīng)用于網(wǎng)絡(luò)接口,比如?pppoe-out1?或?bridge1?,隊列樹仍然可以生效。

回到 Winbox,點擊左側(cè)導(dǎo)航?IP?菜單的子菜單?Firewall?,將?Fasttrack?啟用:

此時防火墻中會出現(xiàn)用于顯示?Fasttrack?數(shù)據(jù)的條目:

然后,將之前測得的上行、下行帶寬第一檔位速率(也就是上下行帶寬上限速率值,演示值為?500Mbps/50Mbps?)直接帶入?max-limit=下行帶寬M(上行帶寬M)?命令部分進(jìn)行配置,命令如下:

如果該段代碼不好復(fù)制,請查閱我 Gitee 上的同步更新倉庫,

訪問文件?src?/?Fox_ROS_QoS_CAKE_With_Fasttrack.conf?進(jìn)行復(fù)制。

注意:CAKE?的相關(guān)參數(shù)與?Simple Queues?中的略有不同。

執(zhí)行完成后,用帶寬測速工具再次測速,同樣觀察測速工具將上、下行帶寬跑滿時,?ping?命令的時延變化。

如果出現(xiàn)了高時延,則需要將對應(yīng)的帶寬速率值下調(diào)檔位,直到?ping?命令的時延不會因為帶寬測速而受到影響為止。

以下為?CAKE?在?Queue Tree?中使用的參數(shù),方便與之前的對比:

最后留下一位高手使用?Fq_CoDel?算法配置?Queue Tree?的命令,以供參考:

以及我目前在?RB750Gr3 硬路由中使用?Fq_CoDel?算法配置?Queue Tree?的命令,同樣以供參考:

感興趣的小伙伴可以在此基礎(chǔ)上進(jìn)一步調(diào)試。

根據(jù)官方文檔的說明,雖然在?Fasttrack?關(guān)閉的情況下支持將?Simple Queues?和?Queue Tree?同時使用,以達(dá)到“雙重流控”的效果,但本文中的配置方法示例是不支持同時使用兩種流控的,如果你有強大的硬件支持“雙重流控”,歡迎分享你的 QoS 配置方案。

至此,RouterOS 基本設(shè)置已經(jīng)完成,后續(xù)將對 RouterOS 的系統(tǒng)服務(wù)、系統(tǒng)賬戶等內(nèi)容進(jìn)行調(diào)整。


PS:

防火墻設(shè)置代碼,注意替換命令中的部分 IPv4 地址參數(shù),將以下命令一次性全部粘貼到終端工具中即可:

如果該段代碼不好復(fù)制,請查閱我 Gitee 上的同步更新倉庫,

訪問文件?src?/?Fox_ROS_Firewall_IPv4.conf?進(jìn)行復(fù)制。

Gitee 同步地址:

https://gitee.com/callmer/routeros_toss_notes


[ RouterOS 折騰手記 ] 2.配置防火墻和流量整形的評論 (共 條)

分享到微博請遵守國家法律
德钦县| 沅陵县| 镇康县| 樟树市| 丰台区| 乡城县| 奉贤区| 乌鲁木齐县| 阳新县| 中牟县| 安国市| 微博| 台中县| 竹山县| 宽城| 桃源县| 包头市| 谢通门县| 嘉祥县| 澄城县| 临清市| 芦溪县| 青铜峡市| 和田市| 乐山市| 句容市| 麦盖提县| 道真| 游戏| 昌平区| 兰西县| 邵武市| 镇平县| 临清市| 建昌县| 米易县| 萍乡市| 湛江市| 赫章县| 融水| 凤冈县|