ROS防火墻-路由-PCQ培訓(xùn)資料_第1頁
ROS防火墻-路由-PCQ培訓(xùn)資料_第2頁
ROS防火墻-路由-PCQ培訓(xùn)資料_第3頁
ROS防火墻-路由-PCQ培訓(xùn)資料_第4頁
ROS防火墻-路由-PCQ培訓(xùn)資料_第5頁
已閱讀5頁,還剩233頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、RouterOS培訓(xùn) RouterOS培訓(xùn) RouterOS培訓(xùn) - YuS RouterOS防火墻、路由與PCQ培訓(xùn)內(nèi)容一、RouterOS功能二、RouterOS IP firewallMangle的特點RouterOS IP數(shù)據(jù)工作流程ip friewall基本原理與講解 nat與firewall的關(guān)系三、Bridge與過濾 Bridge工作流程二層數(shù)據(jù)過濾四、QoS RouterOS常見的流控類型PCQ特點HTB詳解Nat的HTB控制 二層的流量控制五、事例企業(yè)網(wǎng)絡(luò)環(huán)境的規(guī)劃MetaRouter應(yīng)用PCC 負(fù)載均衡RouterOS功能RouterOS現(xiàn)在所具備的功能,已經(jīng)遠(yuǎn)遠(yuǎn)超出我們對

2、一般路由器的理解。RouterOS是基于Linux2.6內(nèi)核開發(fā),通過編譯后,實現(xiàn)各種功能的快速安裝和操作可以看成是一個路由化的操作系統(tǒng),他與普通路由器的區(qū)別: 多功能平臺 基本的路由功能外,還包含防火墻、 QoS、認(rèn)證系統(tǒng)、VPN、WLAN、3G等等; 腳本編輯 使路由器應(yīng)用更加方便和智能; 虛擬化技術(shù) 多操作系統(tǒng)的兼容,達(dá)到一機(jī)多用的功能。配置支持基于Winbox的IP和MAC 管理CLI命令行操作,包括: Telnet、SSH、本地終端控制和串口控制API應(yīng)用程序接口,通過設(shè)計后,擁有自己的管理Web管理接口RouterOS IP工作流程Mangle特點不管是QoS、防火墻、nat規(guī)則和

3、路由,在許多特殊的應(yīng)用中都會使用Mangle標(biāo)記(如routing-mark、connection-mark、packet-mark)Mangle在RouterOS中起到一個標(biāo)記和分類的作用;掌握RouterOS的高級應(yīng)用,必須了解Mangle在 RouterOS中的運(yùn)用原理;理解了Mangle,也就理解了路由、防火墻和QoS的應(yīng)用Mangle的作用RouterOS中的IP firewall主要由3個部分組成Mangle、Filter、 NAT ,而Address-list常用于地址列表分類。Mangle通過標(biāo)記特定的IP數(shù)據(jù)流后,為Filter、NAT和Queue提供標(biāo)記后的IP數(shù)據(jù)流Man

4、gle特點不管是QoS、防火墻、nat規(guī)則和路由,在許多特殊的應(yīng)用中都會使用Mangle標(biāo)記(如routing-mark、connection-mark、packet-mark)Mangle在RouterOS中起到一個標(biāo)記和分類的作用;掌握RouterOS的高級應(yīng)用,必須了解Mangle在 RouterOS中的運(yùn)用原理;理解了Mangle,也就理解了路由、防火墻和QoS的應(yīng)用RouterOS IP數(shù)據(jù)處理流程Prerouting 路由之前Input 進(jìn)入路由Forward 轉(zhuǎn)發(fā)路由Output 路由發(fā)出Postrouting 路由之后Firewall協(xié)議分類分為二層過濾防火墻和三層與三層以上過

5、濾防火墻,分別在 bridge filter和ip firewall filter操作。Firewall鏈表分類RouterOS的鏈表組成主要包括:input 用于處理進(jìn)入路由器的數(shù)據(jù)包,即數(shù)據(jù)包目標(biāo) IP地址是到達(dá)路由器一個接口的IP地址。forward 用于處理通過路由器的數(shù)據(jù)包。output 用于處理源于路由器并從其中一個接口出去的數(shù)據(jù)包。自定義鏈表 - RouterOS 中可以通過自定義建立其他鏈表,用于數(shù)據(jù)過濾分類。防火墻過濾 - Input Input的過濾流程防火墻過濾 - Output Output的過濾流程防火墻過濾 - Forward Forward過濾流程Filter規(guī)則

6、原則firewall filter 被用于IP數(shù)據(jù)包過濾,即三層數(shù)據(jù)過濾。防火墻規(guī)則構(gòu)成是if then 的方式(if 環(huán)境條件 then action執(zhí)行)防火墻規(guī)則執(zhí)行是從上而下,成為FIFO(First In First Out)方式防火墻規(guī)則原則過濾數(shù)據(jù)時我們可以通過以下的兩種原則:先丟棄后接受先接受后丟棄 Filter actionAccept 接受數(shù)據(jù)包,沒有任何的操作。例如接受數(shù)據(jù)包直接通過,不再以后的規(guī)則進(jìn)行處理;Add-dst-to-address-list 根據(jù)規(guī)則條件,將IP數(shù)據(jù)包的目標(biāo)地址IP添加到指定address-list;Add-src-to-address-li

7、st 根據(jù)規(guī)則條件,將IP數(shù)據(jù)包的源地址IP添加到指定的address-list;Drop 丟棄掉數(shù)據(jù)包(不會發(fā)送ICMP拒絕信息);Jump 跳轉(zhuǎn)到指定的鏈表;Log 與之匹配的操作將會被記錄到system log中;Passthrough 忽略該規(guī)則,繼續(xù)向后執(zhí)行下一條規(guī)則;Reject 拒絕數(shù)據(jù)包,并發(fā)送ICMP拒絕信息;Return 通過返回操作,返回到上一跳轉(zhuǎn)鏈表;Tarpit 捕捉并控制進(jìn)入的TCP連接。input 鏈表 現(xiàn)在我來看事例中的防火墻規(guī)則,我先從input鏈表開始,這里是對所有訪問路由的數(shù)據(jù)進(jìn)行過濾和處理:從input鏈表中可以看到,我們對進(jìn)入路由器的數(shù)據(jù)采用先拒絕非法

8、的數(shù)據(jù)和連接,并將ICMP數(shù)據(jù)跳轉(zhuǎn)到自定義的ICMP的鏈表中過濾。forward鏈表 下面是forward鏈表一個應(yīng)用防火墻事例:forward鏈表,對非法數(shù)據(jù)包、非單播數(shù)據(jù)、 ICMP協(xié)議和常見的病毒等進(jìn)行過濾,控制TCP連接數(shù)。Jump 鏈表 我們來看看Jump操作在forward鏈表中的工作過程:forward中數(shù)據(jù)遇到j(luò)ump規(guī)則,會判斷數(shù)據(jù)是否符合定義jump規(guī)則,如果滿足條件將跳轉(zhuǎn)到指定的鏈表,如上圖的ICMP和virus鏈表,當(dāng)在數(shù)據(jù)進(jìn)入這些鏈表執(zhí)行完后,會返回jump規(guī)則所在的forward鏈表中。Firewall address-list能通過address-list定義IP

9、地址分組address-list能被 firewall nat規(guī)則調(diào)用和執(zhí)行address-list能被 mangle或者firewall filter動態(tài)定義和調(diào)用定義地址列表 1定義10個經(jīng)理的IP地址在address-list中,并取名為VIP定義地址列表 2定義不能上網(wǎng)員工的IP地址29-54,定義為intercept動態(tài)定義地址列表Address-list可以通過ip firewall fiter/nat/mangle 建立動態(tài)定義地址列表如記錄所有訪問udp/8000端口的客戶IP動態(tài)添加到access8000的address-list中,然后等待其他規(guī)則調(diào)用并處理也可以定義超過連

10、接數(shù)超過100的用戶定義到 blacklist黑名單Firewall操作實例允許VIP用戶0-9能連接QQ,禁止其他地址訪問QQ禁止29-54訪問外網(wǎng)禁止訪問訪問的網(wǎng)站,但10個 VIP可以正常訪問IP源地址和目標(biāo)地址概念 1 如何判斷源地址和目標(biāo)地址,與他們在ip firewall filter的鏈表,如下面的圖:從該圖上可以看到,內(nèi)網(wǎng)主機(jī)8與路由器通信,內(nèi)網(wǎng)主機(jī)8向路由和外網(wǎng)的web服務(wù)器通信。不同情況下源目標(biāo)IP地址的轉(zhuǎn)變和使用的chain鏈表情況。IP源地址和目標(biāo)地址概念 2在這里要記住任何通信是雙向的,而不僅只有源到目標(biāo)一條鏈路。在RouterOS中兩個選擇涉及到源和目標(biāo)地址,Gen

11、eral標(biāo)簽中的src-address、dst-address和Advanced的src-address-list、 dst-address-list如下圖Layer 7協(xié)議 在RouterOS3.0中增加了Layer7協(xié)議過濾功能,即對應(yīng)用程序的代碼進(jìn)行過濾,這些代碼我們通過Regexp的腳本進(jìn)行編輯,也可以通過我們預(yù)先編輯好的RouterOS腳本導(dǎo)入Layer7協(xié)議應(yīng)用列表 網(wǎng)絡(luò)訪問控制 1通過address-list列表,將10個經(jīng)理的IP地址設(shè)置規(guī)則為直接通過,不受限制的訪問網(wǎng)絡(luò)在ip firewall filter的forward中我們需要建立2條規(guī)則,一條是接受源地址的訪問,一條是

12、接受目標(biāo)地址的訪問網(wǎng)絡(luò)訪問控制 RouterOS培訓(xùn) - YuS 網(wǎng)絡(luò)訪問控制 RouterOS培訓(xùn) - YuS 2添加后完兩條規(guī)則后,需要將規(guī)則移動到在病毒過濾的下方,TCP連接數(shù)限制的上方網(wǎng)絡(luò)訪問控制 3 禁止所有人用QQ聊天,在forward鏈表中調(diào)用7層過濾,禁止連接QQ 4禁止非上網(wǎng)員工連接網(wǎng)絡(luò),通過intercept列表控制在/ip firewall filter add chain=foreward src-addresslist=intercept action=drop并將規(guī)則移動到最上網(wǎng)絡(luò)訪問控制 RouterOS培訓(xùn) - YuS 網(wǎng)絡(luò)訪問控制 RouterOS培訓(xùn) - Y

13、uS 5 新建一個content鏈表,對內(nèi)容進(jìn)行過濾,針對一些網(wǎng)頁傳輸?shù)淖址缡莣eb中的內(nèi)容和網(wǎng)站名稱 6在content鏈表中,新建一個action=drop 指定的 的內(nèi)容過濾可以在content添加更多的內(nèi)容過濾NAT 網(wǎng)絡(luò)地址翻譯nat分為src-nat源地址nat和dst-nat目標(biāo)地址natsrc-nat 用于管理源地址nat(如:隱藏內(nèi)部網(wǎng)絡(luò)IP或翻譯內(nèi)部IP為公網(wǎng)IP地址)dst-nat 用于管理目標(biāo)地址nat(如:端口映射、數(shù)據(jù)重定向和數(shù)據(jù)轉(zhuǎn)移等)RouterOS培訓(xùn) - YuS RouterOS培訓(xùn)RouterOS培訓(xùn) - YuS Masquerade與Src-natm

14、asquerade與src-nat都是改變源IP地址或一個數(shù)據(jù)包的端口Masquerade和source nat典型的應(yīng)用都是將私有網(wǎng)絡(luò)隱藏在一個或多個外網(wǎng)后設(shè)置一個新的源地址natmasquerade使用的是路由器默認(rèn)的IP地址src-nat需要指定to-addressMasquerade與Src-nat 我只允許在內(nèi)部網(wǎng)絡(luò)/25上網(wǎng),外網(wǎng)IP地址為0的路由器中,配置masquerade和 src-nat如下:Masquerade操作chain=srcnat src-address=/25 action=masquerade out-interface=WANSrc-nat操作chain=s

15、rcnat src-address=/25 action=src-nat out-interface=WAN to-address=0TCP三步握手協(xié)議Tracking連接跟蹤 用戶每個連接的端口與協(xié)議跟蹤,在非nat情況下可以禁用該功能端口映射規(guī)則 為web服務(wù)器配置端口映 射,內(nèi)網(wǎng)的web服務(wù)器IP地 址為。 Web端口為TCP/80,進(jìn)入 chain=dst-nat鏈表,映射到 外網(wǎng)地址0 Dst-nat與filter如果我們將80端口設(shè)置了dst-nat的端口映射,同時需要Filter控制80端口會發(fā)現(xiàn)80端口在做了dst-nat后,無法在Filter中被截去或者執(zhí)行操作。我們回顧Pr

16、erouting的運(yùn)行過程。Dst-nat分析 從下面的流程圖我們可以看出,Destination-NAT是在Filter(Input和Forward) 之前處理,所以Dst-nat被RouterOS先處理后,結(jié)果是后面的Filter規(guī)則不在起作用。PreroutingHotspot-InConnectionTrackingManglePreroutingDestinationNATGlobal-In Global-Total InputMangleInputFilter Input ForwardTTL=TTL-1MangleForwardFilterForwardAccounting Br

17、idgeDst-nat端口過濾在ip firewall mangle的prerouting標(biāo)記dst-port=80,并定義80conn,標(biāo)記connection-markchain=prerouting action=mark-connection new-connection-mark=80conn passthrough=yes protocol=tcp dst-port=80進(jìn)入 ip firewall filter限制源地址是2的IP訪問路由器80端口。chain=input action=drop src-address=2 connection-mark=80conn nat指定

18、數(shù)據(jù)轉(zhuǎn)移 1當(dāng)我們網(wǎng)絡(luò)內(nèi)有非法用戶,我們可以將他指定內(nèi)網(wǎng)某一臺web 服務(wù)器,提示相應(yīng)的信息。我們可以通過dst-nat完成這個操作。首先需要定義非法用戶的名單,我們可以通過address-list定義通過定義好的address-list名單,取名為blacklist將所有訪問80端口的規(guī)則轉(zhuǎn)移到0的主機(jī)上nat指定數(shù)據(jù)轉(zhuǎn)移 2腳本命令如下:/ip firewall natadd chain=dstnat action=dst-nat to-addresses=0 to-ports=80 protocol=tcp src-address-list=blacklist dst-port=80配置

19、后,我們通過filter的forward鏈表過濾在所有blacklist的數(shù)據(jù),觀察下具體情況!數(shù)據(jù)轉(zhuǎn)移可以通過腳本周期執(zhí)行,起到廣告作用,但要求在用戶打開網(wǎng)頁時,正好在 dst-nat數(shù)據(jù)轉(zhuǎn)移的執(zhí)行周期內(nèi)。強(qiáng)制本地DNS解析我們可以通過dst-nat實現(xiàn)強(qiáng)制本地的DNS解析,加快用戶DNS解析速度。要求本地啟用DNS緩存功能,通過dst-nat的redirect將所有DNS請求轉(zhuǎn)移的本地來命令配置如下:/ip firewall natadd chain=dstnat action=redirect protocol=udp dst-port=53多公網(wǎng)IP地址的Src-nat如果在一個光纖出

20、口,分配了多個同網(wǎng)關(guān)的公網(wǎng)IP地址,并想讓內(nèi)網(wǎng)不同IP地址段走不同的公網(wǎng)IP出去,可以使用src-nat方式比如我們有3個公網(wǎng)IP地址0-2,需要分別對應(yīng)/24、/24和/24的內(nèi)網(wǎng)地址。我們可以使用src-nat規(guī)則分別隱藏在對應(yīng)的公網(wǎng) IP地址下。首先0-2三個IP地址,必須添加到ip address中,即配置好IP地址。多公網(wǎng)IP地址的Src-nat 選擇src-nat的鏈表,通過src-address指明內(nèi)網(wǎng)IP地址段,選擇action=src-nat,指明對應(yīng)的公網(wǎng)IP地址to-address 多公網(wǎng)IP地址的Src-nat 在ip firewall nat中,分別添加3條規(guī)則對應(yīng)的

21、規(guī)則,這樣內(nèi)網(wǎng)IP 段就會根據(jù)對應(yīng)的規(guī)則走不同的公網(wǎng)IP地址出去。Src-nat與Filter的關(guān)系Src-nat總是在Filter之后,因為根據(jù)RouterOS流程src-nat是放在postrouting,即路由之后也就是說,在前面經(jīng)過的相應(yīng)處理后,到了src-nat就不會在處理,即已被過濾掉。Bridge與過濾RouterOS Bridge工作流程RouterOS Bridge可以將以太網(wǎng)卡、無線網(wǎng)卡、隧道接口和虛擬接口連接起來實現(xiàn)二層網(wǎng)絡(luò)連接Bridging(橋接)或二層(MAC) ,路由部分簡化為一個“Layer-3”框。觀察Bridge工作流程能更好的判斷二層過濾與三層的不同。IP

22、 flow 在Bridge中Bridge User IP firewall 在bridge中的settings中可以選擇是否使用三層過濾。Bridge Filterbridge filter是起到二層防火墻控的作用,當(dāng)我們把RouterOS設(shè)置為透明橋時,可以控制網(wǎng)絡(luò)內(nèi)的主機(jī)MAC通訊和相應(yīng)的二層通訊協(xié)議,這樣我們可以從二層上控制客戶端PC。通常應(yīng)用于,透明防火墻的數(shù)據(jù)過濾,無線網(wǎng)橋應(yīng)用,和其他特殊的隧道橋接。首先需要啟用Bridge,在Bridge中添加橋:添加Bridge 進(jìn)入bridge中添加一個bridge接口,然后在bridge port中添加相應(yīng)的網(wǎng)絡(luò)接口到bridge中: 設(shè)置B

23、ridge Port進(jìn)入bridge port添加相應(yīng)的網(wǎng)絡(luò)接口,這里可以指定多個接口。這里會自動判斷接口是否連接,如果沒有該網(wǎng)絡(luò)接口未啟用或者連接,將出現(xiàn)前綴“I”的提示。STP與RSTPSTP(Spanning Tree Protocol)是生成樹協(xié)議的英文縮寫。應(yīng)用于環(huán)路網(wǎng)絡(luò),通過一定的算法實現(xiàn)路徑冗余,同時將環(huán)路網(wǎng)絡(luò)修剪成無環(huán)路的樹型網(wǎng)絡(luò),從而避免報文在環(huán)路網(wǎng)絡(luò)中的增生和無限循環(huán)。 STP協(xié)議的缺陷主要表現(xiàn)在收斂速度上。為了解決STP協(xié)議的這個缺陷,IEEE推出了802.1w標(biāo)準(zhǔn),作為對802.1D標(biāo)準(zhǔn)的補(bǔ)充。在IEEE 802.1w標(biāo)準(zhǔn)里定義了快速生成樹協(xié)議 RSTP(Rapid S

24、panning Tree Protocol)。RSTP協(xié)議使得收斂速度快得多(最快1秒以內(nèi))。MAC地址過濾MAC地址過濾和我們常見的IP地址過濾是相同的,MAC地址過濾可以分為源和目標(biāo)的過濾。設(shè)置mac-address時,后面跟著MAC掩碼,這個掩碼和我們IP層的子網(wǎng)掩碼類是,只是MAC掩碼是按照十六進(jìn)制換算,十六進(jìn)制的FF與 IP掩碼的255是相同,規(guī)定網(wǎng)絡(luò)范圍,因為這里是過濾一個臺主機(jī)的MAC地址,所以我們設(shè)置MAC子網(wǎng)掩碼為FF:FF:FF:FF:FF:FF。如一個主機(jī)MAC地址表示:00:E2:67:32:B4:81 / FF:FF:FF:FF:FF:FF如果是一個段的MAC地址表示

25、:00:E2:67:32:00:00/ FF: FF:FF :FF:00:00源MAC過濾需要對指定的一臺PC的MAC:00:E2:67:32:B4:81地址做過濾,不允許與bridge的外部網(wǎng)絡(luò)連接。這個MAC是發(fā)起源,選擇src-mac-address,由于這里拒絕訪問bridge以外的網(wǎng)絡(luò),選擇chain=forward,設(shè)定action=drop。Winbox配置目標(biāo)MAC過濾反過來從外網(wǎng)訪問一個該主機(jī),則是目標(biāo)MAC過濾,只是之前我們設(shè)置的是scr-mac-address,反過來填寫目標(biāo)的MAC,即 dst-mac-address。我們添加目標(biāo)MAC地址過濾規(guī)則,選擇dst-mac-

26、address=00:E2:67:32:B4:81,dst-mac-address默認(rèn)為全FF。Winbox 操作MAC雙向過濾 下面我們可以在filter中看到2條規(guī)則,分別是控制從源地址和目標(biāo)地址的數(shù)據(jù),這樣設(shè)置后,我們可以理解為對00:E2:67:32:B4:81主機(jī)數(shù)據(jù)的雙向過濾。過濾某廠商的MAC地址我們知道網(wǎng)絡(luò)設(shè)備都有一個6位的MAC地址,前3位為生產(chǎn)廠商標(biāo)示,后3位為設(shè)備編號,當(dāng)我們在做無線網(wǎng)橋的時候,只允許特定某一廠商的網(wǎng)卡連接到RouterOS,可以通過Bridge的防火墻控制MAC地址,限制某一類的MAC不能連接到RouterOS 設(shè)備,或者通過RouterOS設(shè)備。例如,

27、我們的一臺RouterBOARD設(shè)備要求只能允許其他RouterBOARD的設(shè)備連接,可以通過brigde fiter控制,由于每個RouterBOARD的以太網(wǎng)卡MAC地址都是前3位都是以00:0C:42開頭,我們只需要允許前3位MAC為00:0C:42的MAC 通過就可以。配置操作在設(shè)置為bridge的接口參數(shù)后,我們在filter中配置2條input規(guī)則,限制除了MAC地址前3位是00:0C:42能連接RouterOS,其他的都拒絕掉。根據(jù)RouterOS防火墻FIFO原理,分別需要設(shè)置兩條規(guī)則,第一條,是接受MAC地址前3位是00:0C:42的RouterBOARD設(shè)備MAC地址。第二

28、條,是丟棄其他所有的MAC數(shù)據(jù),不允許連接。Winbox配置 1第一條規(guī)則,設(shè)置src-mac-address=00:0C:42:00:00:00/src-macmask=FF:FF:FF:00:00:00,在action中選擇accpet接受,數(shù)據(jù)通過接受目標(biāo)MAC地址通過, dst-mac-address=00:0C:42:00:00:00/dst-mac-mask=FF:FF:FF:00:00:00 Winbox 配置2第二條規(guī)則,是丟棄其他所有的MAC數(shù)據(jù),直接添加規(guī)則配置 action=drop的規(guī)則完成配置后的規(guī)則順序情況:RouterOS 路由策略RouterOS的策略路由支持源

29、IP地址的策略路由支持目標(biāo)IP地址策略路由支持網(wǎng)頁等端口的策略路由支持IP地址列表的策略路由各種策略都可以組合使用路由表的關(guān)系 1RouterOS能維護(hù)多個獨立的路由表,能靈活的分配策略路由規(guī)則;通過下面的操作命令可以標(biāo)記路由與定義路由策略表/ip firewall mangle mark-routing (支持源目標(biāo)和端口路由)/ip route routing-mark (支持源目標(biāo)路由)/ip route rule table (支持源目標(biāo)路由)他們之間關(guān)系是平等的:mark-routing = routing-mark = table當(dāng)他們被定義后,都會在ip route中新建路由表,

30、路由表的關(guān)系2 路由表的關(guān)系 3在ip route中定義各個列表的網(wǎng)關(guān)出口路由表的關(guān)系ip route rules是對源和目標(biāo)IP地址和端口定義各個表的策略路由規(guī)則即rules規(guī)則是調(diào)用各個IP和端口的路由到不同的路由表中源IP地址的策略路由我們內(nèi)網(wǎng)一臺主機(jī)IP為0需要指定到電信線路首先在ip route 定義route1的路由表網(wǎng)關(guān)然后在ip route rule定義src-address的源IP地址,并定義到route1的路由表 12 目標(biāo)IP地址路由目標(biāo)IP路由有三種方式,但這里我們主要講其中兩種,電信網(wǎng)通的雙線路由表就屬于目標(biāo)IP地址路由第一種:在ip route定義dst-addre

31、ss,添加后直接生效第二種:在ip route rule定義dst-address,添加后需要知道路由表網(wǎng)關(guān)第一種 第二種 目標(biāo)IP地址路由 通過導(dǎo)入cnc的網(wǎng)通路由表到ip route rule中后,在ip route添加給路由表的網(wǎng)關(guān)和路由標(biāo)記 端口策略路由端口策略路由需要使用mangle的標(biāo)記路由。這里我們定義網(wǎng)頁的訪問路由,協(xié)議為tcp,目標(biāo)端口為80,執(zhí)行mark routing,并標(biāo)記新的路由連接取名web。端口策略路由 2 在mangle中標(biāo)記好端口后,在ip route設(shè)置web標(biāo)記的網(wǎng)關(guān),如果是普通雙線只做網(wǎng)頁80端口的策略規(guī)則,配置后可執(zhí)行生效。端口策略路由 2 如果當(dāng)多線

32、路,在ip route rule配置了各種規(guī)則,我們就需要在 ip route rule里再次定義web的路由表。地址列表的路由 地址列表的路由 RouterOS培訓(xùn) - YuS 地址列表的路由 RouterOS培訓(xùn) - YuS 1有一些特定的主機(jī)需要走指定的線路出去,但ip route rule每條規(guī)則只能指定IP地址段,無法同時設(shè)定非連續(xù)的地址,如服務(wù)器地址可能存在非連續(xù)或者局域網(wǎng)的VIP用戶等。或者我們需要對奇數(shù)和偶數(shù)主機(jī)地址的路由策略,在雙線策略中我們可以將內(nèi)網(wǎng)主機(jī)分類奇數(shù)和偶數(shù)組,分別走不通的線路,這樣分流更佳合理。通過ip firewall address-list定義地址列表,并

33、在mangle中標(biāo)記路由數(shù)據(jù)。2我們定義服務(wù)器的IP地址列表走指定的路由在ip firewall address-list 添加名稱為“servers”定義地址列表我可以填寫固定IP,IP地址范圍和IP地址段,如下:3在ip firewall mangle標(biāo)記servers的地址列表路由因為是內(nèi)網(wǎng)地址我們選擇src-address-list,并設(shè)置servers的地址列表,并定義new routing mark 為servers4進(jìn)入ip route為servers路由標(biāo)記建立路由表,指定網(wǎng)關(guān)為 ether1-tel為確保規(guī)則運(yùn)行正常,在ip route rule中添加規(guī)則 4奇偶的路由策略,

34、我們需要在ip address-list定義奇數(shù)或者偶數(shù)IP地址,如下面的列表為odd(奇數(shù)IP地址)之后的操作和servers服務(wù)器的標(biāo)記相同,這樣的地址列表路由也屬于源地址策略路由,相反也可以應(yīng)用到目標(biāo)地址策略路由RouterOS培訓(xùn) - YuS RouterOS培訓(xùn) - YuS 策略組合應(yīng)用通過Mangle的標(biāo)記我們可以將地址列表和端口的策略路由組合使用。如網(wǎng)頁的80端口,我們可以添加奇數(shù)源地址地址列表,僅讓奇數(shù)IP主機(jī)走指定的網(wǎng)關(guān)出口?;蛘吲懦侥承┠繕?biāo)網(wǎng)站不走指定的網(wǎng)關(guān)出口。通過在規(guī)則參數(shù)前點 “ ! ”,即非的意思,就可以排除該地址列表范圍。RouterOS的負(fù)載均衡RouterO

35、S Nth匹配特定的第N次收到的數(shù)據(jù)包的規(guī)則。對數(shù)據(jù)包重新標(biāo)記和排列。Nth的一個計數(shù)器最多可以計數(shù)16 個數(shù)據(jù)包Every 匹配每every數(shù)據(jù)包,同時指定Counter(計數(shù)器值)Packet 匹配給定的數(shù)據(jù)數(shù),例如,Nth=3,1,匹配3個數(shù)據(jù)包的第1個Passthrough對Nth的控制在RouterOS中實現(xiàn)相同的Nth結(jié)果時,有兩種方法配置規(guī)則,改變Passthrough參數(shù)(Passthrough為是否將該規(guī)則數(shù)據(jù)繼續(xù)向下傳遞,no為停止向下傳遞,yes則相反,具體參考Mangle 章節(jié))會得到不同的規(guī)則配置。首先要知道Mangle標(biāo)記捕獲數(shù)據(jù)是先進(jìn)先出算法,即從上往下執(zhí)行,我們

36、在配置Mangle的Nth規(guī)則,需要注意前后順序Passthrough對Nth的控制 把數(shù)據(jù)流標(biāo)記為兩個組,即一條為1/2,另一條也為1/2,把一個數(shù)據(jù)流看成“1”,而我們把可以通過兩種方法配置: Passthrough對Nth的控制 當(dāng)我們需要將數(shù)據(jù)流標(biāo)記為3組時,即每條規(guī)則為1/3。配置方法同樣有兩種,如下圖 Nth事例1 / 4根據(jù)Nth的原理我們可以將來至內(nèi)網(wǎng)的聯(lián)接分為兩組,即一組為奇數(shù)連接、一組為偶數(shù)連接,即奇數(shù)走一條線路,偶數(shù)走另外一條線路。因為我們定義的是連接狀態(tài)為 new,即新建立的連接,對正常的訪問沒有任何影響,每個新建立所產(chǎn)生的后續(xù)數(shù)據(jù)都會按照原來的線路連接運(yùn)行。我們從所有

37、的連接中,提取每次新建立的連接connection=new,并對他們做Nth的標(biāo)記,將這些連接中相關(guān)的奇數(shù)(odd)包和偶數(shù)(even)包分離開,并走兩個不同的網(wǎng)關(guān)(ISP1與ISP2)出去。這樣就能保持每次連接的持續(xù)性。Nth事例 Nth事例 RouterOS培訓(xùn) - YuS Nth事例 RouterOS培訓(xùn) - YuS 2 / 4IP地址配置在ip firewall mangle中標(biāo)記奇數(shù)和偶數(shù)的Nth,并配置路由標(biāo)記,奇數(shù)Nth連接標(biāo)記取名為odd,偶數(shù)連接標(biāo)記取名為even,將奇數(shù)的路由標(biāo)記取名為ISP1,將偶數(shù)的路由標(biāo)記取名為ISP2 3 / 4NAT配置進(jìn)入ip route中配置路

38、由規(guī)則,配置對應(yīng)ISP2的路由標(biāo)記,對應(yīng)ISP1的路由標(biāo)記,我們用作為路由器本身的默認(rèn)網(wǎng)關(guān)。4 / 4Nth會出現(xiàn)一個問題,即一些網(wǎng)銀和要求IP驗證的網(wǎng)站無法正常打開,因為每次連接都會通過不同的IP地址出去。解決這個問題,只需要指定TCP協(xié)議的443和8443端口到一條固定的線路上,而且必須執(zhí)行在Nth規(guī)則之前,并設(shè)置passthrough=no。RouterOS培訓(xùn) - YuS RouterOS培訓(xùn) - YuS RouterOS QoSRouterOS Queue類型常見的流控規(guī)則有2種FIFO 先進(jìn)先出法,規(guī)定隊列長度(包括bytes或Packets) Simple queue中默然使用的

39、是PFIFOPCQ 每次連接隊列,一種高效的流量控制算法優(yōu)先級控制策略HTB 等級令牌桶,基于Queue tree的一種等級優(yōu)先的流量控制策略Simple queue在Queue中我們常用的是Simple queueSimple queue與firewall規(guī)則類似規(guī)則越多,處理的數(shù)據(jù)越多,CPU消耗越大規(guī)則越多,后面的規(guī)則獲取帶寬的幾率越小如果有1000條Simple queue規(guī)則,那必須判斷查詢999條規(guī)則(必要時減少queue數(shù)量)PCQ原理 1PCQ原理2 PCQ winbox配置PCQ參數(shù)該規(guī)則僅能容納40個用戶(total-limit/limit=2000/50=40) 如果to

40、tal-limit=x,那內(nèi)存占用為X*(2000byte+200byte)1個包緩沖占用2000byte1個包協(xié)議占用200byte者減少limit 但必須保證每個用戶隊列( limit ) 獲取10-20個數(shù)據(jù)包解決方法必須增加total-limit或total-limit=2000=4.2MB RAMtotal-limit=5000=10.5MB RAM在simple隊列中調(diào)用 在Simple Queue中調(diào)用PCQ隊列規(guī)則,通過Simple Queue的特性,將VIP用戶放到PCQ規(guī)則之上,不受PCQ流量控制的限制Queue TreeQueue Tree是唯一能直接被HTB所調(diào)用Que

41、ue Tree沒有像Simple Queue是從上往下有序執(zhí)行,他沒有次序。所有子隊列都要從”/ip firewall mangle”中提取標(biāo)記數(shù)據(jù)當(dāng)Simple Queue處理與Queue Tree相同數(shù)據(jù)時,那 Simple Queue會優(yōu)先執(zhí)行。動態(tài)流量控制RouterOS可以實現(xiàn)對帶寬的動態(tài)流量分配,如總帶寬為10M的網(wǎng)絡(luò),可以將每天主機(jī)帶寬放到3-4Mbps,通過PCQ算法對流量進(jìn)行動態(tài)控制。這里使用ip firewall mangle標(biāo)記相應(yīng)數(shù)據(jù),通過Queue tree對標(biāo)記的數(shù)據(jù)流,可實現(xiàn)動態(tài)流量控制。Queue Tree的PCQ通過Queue Tree實現(xiàn)動態(tài)流量的控制,這里

42、我們需要在ip firewall mangle中標(biāo)記數(shù)據(jù)流例如,在多線路接入,分別需要對電信和網(wǎng)通線路進(jìn)行單機(jī)的PCQ帶寬控制通過Mangle標(biāo)記數(shù)據(jù)前,我們需要明白外網(wǎng)和內(nèi)網(wǎng)接口的數(shù)據(jù)標(biāo)記區(qū)別PCQ流量控制Mangle標(biāo)記特點首先需要明白o(hù)ut-interface和ininterface對帶寬控制的區(qū)別對于外網(wǎng)接口的電信和網(wǎng)通(tel和cnc),in-interface相對于路由器,標(biāo)記的是下載數(shù)據(jù),out-interface 則是上傳數(shù)據(jù)但內(nèi)網(wǎng)接口的lan相對于路由器則相反,in-interface是上傳,outinterface是下載PCQ動態(tài)流量實例這里我們有一個實際環(huán)境,我們需要實現(xiàn)

43、對帶寬的動態(tài)分配;電信帶寬為6M,網(wǎng)通帶寬為12M;通過網(wǎng)通路由表實現(xiàn)雙線路由,并將所有網(wǎng)頁訪問走網(wǎng)通線路。配置步驟:1、在ip firewall mangle標(biāo)記上下行數(shù)據(jù)流2、進(jìn)入queue type定義單機(jī)帶寬3、在queue tree定義總帶寬和流量控制規(guī)則Mangle數(shù)據(jù)包標(biāo)記/ip firewall mangleadd action=mark-packet chain=prerouting comment=markether2-cnc in-interface=ether2-cnc new-packet-mark=ether2-cnc_down passthrough=noadd

44、action=mark-packet chain=forward comment=markether2-cnc new-packet-mark=ether2cnc_up out-interface=ether2-cnc passthrough=noadd action=mark-packet chain=prerouting comment=markether3-tel in-interface=ether3-tel new-packet-mark=ether3-tel_down passthrough=noadd action=mark-packet chain=forward commen

45、t=markether3-tel new-packet-mark=ether3tel_up out-interface=ether3-tel passthrough=noMangle標(biāo)記要點 注意:如果是ADSL,我們需要將上行數(shù)據(jù)的標(biāo)記放到ADSL的 change MSS的規(guī)則之后,否則會出現(xiàn)部分網(wǎng)站無法打開的問題。Queue type設(shè)置 在Queue type中定義 PCQ規(guī)則,為電信和網(wǎng)通分別定義各自的上下行帶寬Queue tree我們在定義是需要考慮預(yù)留帶寬,即電信為6M帶寬,我們在給定電信總帶寬 max-limit為4800k(約4.8M),網(wǎng)通設(shè)置為10 M/queue tree

46、add max-limit=4800k name=ether3_tel_down packet-mark=ether3-tel_down parent=global-in queue=ether3-tel_downadd max-limit=4M name=ether3_tel_up packet-mark=ether3-tel_up parent=globalout queue=ether3-tel_upadd max-limit=10M name=ether2-cnc1_down packet-mark=ether2-cnc1_down parent=global-in queue=eth

47、er2-cnc_downadd max-limit=10M name=ether2-cnc1_up packet-mark=ether2-cnc1_up parent=global-out queue=ether2-cnc_upWinbox配置 在queue tree中定義電信和網(wǎng)通線路的帶寬HTB等級令牌桶HTB等級令牌桶是創(chuàng)建一個等級隊列結(jié)構(gòu),并確定隊列之間的關(guān)系,就像“父親與兒子”或“兄弟之間”一旦隊列添加了一個Child(子隊列)將會變?yōu)閕nner(內(nèi)部隊列),所有向下沒有Children(子隊列)稱為Leaf隊列(葉隊列)。在RouterOS必須指定Parent(父級)選項,并指定一

48、個隊列為子隊列。雙重限制每個隊列在HTB有2個速率限制:CIR (約定信息速率Committed Information Rate) (在RouterOS中的參數(shù)為limit-at) 最壞的情況下,無論如何都會將得到給定的的CIR傳輸量(假設(shè)我們能發(fā)送那么多的數(shù)據(jù)量) 。MIR (最大信息速率Maximal Information Rate) (在RouterOS 中的參數(shù)為max-limit) 最好的情況下,如果父級有剩余帶寬,將獲得該速率值。換句話說,首先Limit-at(CIR)都會被滿足,僅當(dāng)子隊列嘗試借調(diào)父級剩余帶寬時,才以達(dá)到最大的帶寬max-limit (MIR). CIR與MI

49、R無論如何CIR 都將會被分配到符合該隊列的帶寬 (即使父級的 max-limit滿載) ,那就是為什么,確保最佳的使用雙重限制功能,我們建議堅持這些規(guī)則:CIR約定速率之和,即所有子級速率必須小于或等于可獲得父級傳輸量。CIR(parent) CIR(child1) +.+ CIR(childN) 如果子父級與主父級可以設(shè)置為 CIR(parent)=MIR(parent) 任何子級的最大速率必須小于或者等于父級的最大速率Priority 優(yōu)先級這里已經(jīng)知道,所有隊列的limit-at (CIR)都有可能將會被耗盡,優(yōu)先級則主要負(fù)責(zé)分配父級隊列剩余的帶寬給Child(子隊列)達(dá)到max-li

50、mit。隊列高的優(yōu)先級最優(yōu)先達(dá)到max-limit,優(yōu)先級低的則不會。8是最低優(yōu)先級,1則最高。注意,優(yōu)先級工作環(huán)境: 對于leaf葉隊列 優(yōu)先級對于自己inner(內(nèi)部隊列)沒有任何意義,即inner內(nèi)部隊列與其所屬的leaf(葉隊列)的優(yōu)先級不可比較。HTB事例下面這部分我們將分析HTB的操作,將演示一個HTB結(jié)構(gòu)并將涵蓋可能出現(xiàn)的所有情況和功能,我們的HTB結(jié)構(gòu)由下面5個隊列構(gòu)成:Queue01 內(nèi)部隊列有2個子級 - Queue02和Queue03Queue02 內(nèi)部隊列有2個子級 - Queue04和Queue05Queue03 葉隊列 Queue04 葉隊列Queue05 葉隊列Q

51、ueue03,Queue04和Queue05分別需要10Mbps,我們總出口為10Mbps的帶寬普通事例 Queue01 limit-at=0Mbps max-limit=10Mbps Queue02 limit-at=4Mbps max-limit=10Mbps Queue03 limit-at=6Mbps max-limit=10Mbps priority=1 Queue04 limit-at=2Mbps max-limit=10Mbps priority=3 Queue05 limit-at=2Mbps max-limit=10Mbps priority=5 結(jié)論:Queue03 得到6

52、Mbps Queue04 得到2Mbps Queue05 得到2Mbps HTB通過滿足所有的limit-at,主隊列已沒有帶寬進(jìn)行分發(fā)。max-limit事例 Queue01 limit-at=0Mbps max-limit=10Mbps Queue02 limit-at=4Mbps max-limit=10Mbps Queue03 limit-at=2Mbps max-limit=10Mbps priority=3 Queue04 limit-at=2Mbps max-limit=10Mbps priority=1 Queue05 limit-at=2Mbps max-limit=10Mb

53、ps priority=5 結(jié)論:Queue03 得到 2Mbps Queue04 得到 6Mbps Queue05 得到 2Mbps 在滿足所有的limit-at后,HTB將把剩余的帶寬分配給優(yōu)先級高的隊列。inner隊列l(wèi)imit-at Queue01 limit-at=0Mbps max-limit=10Mbps Queue02 limit-at=8Mbps max-limit=10Mbps Queue03 limit-at=2Mbps max-limit=10Mbps priority=1 Queue04 limit-at=2Mbps max-limit=10Mbps priority

54、=3 Queue05 limit-at=2Mbps max-limit=10Mbps priority=5 結(jié)論:Queue03 得到2Mbps Queue04 得到6Mbps Queue05 得到2Mbps 在滿足所有的limit-at后,HTB將分配剩余帶寬給優(yōu)先級高的,但在這個事例中,內(nèi)部對列Queue02指定了Limit-at,這樣他會保留8Mbps的流量給Queue04和Queue05,Queue04有更高的優(yōu)先級,那就是為什么會得到更高的帶寬。leaf隊列的Limit-at Queue01 limit-at=0Mbps max-limit=10Mbps Queue02 limit-

55、at=4Mbps max-limit=10Mbps Queue03 limit-at=6Mbps max-limit=10Mbps priority=1 Queue04 limit-at=2Mbps max-limit=10Mbps priority=3 Queue05 limit-at=12Mbps max-limit=15Mbps priority=5 結(jié)論:Queue03 得到3Mbps Queue04 得到1Mbps Queue05 得到6Mbps 為了滿足所有的Limit-at,HTB被強(qiáng)迫分配20Mbps,Queue03為6Mbps ,Queue04為2Mbps,Queue05為1

56、2Mbps,但我們的接口只能處理10Mbps,因此接口隊列通常 FIFO帶寬發(fā)分配將保持比例 6:2:12,即3:1:6。雙重QoS在同一臺路由器上會對IP數(shù)據(jù)重復(fù)標(biāo)記兩次第一次Mangle chain Prerouting 第一次標(biāo)記Global-in HTB 第一次流量控制第二次Mangle chain Forward 或者 Postrouting 第二次標(biāo)記 Global-out 或者 Out-interface HTB 第二次流量控制 雙重流量控制只能在Queue Tree中實現(xiàn)Nat的HTB實現(xiàn)首先通過Prerouting標(biāo)記IP數(shù)據(jù)流,使用Global-in對下行流量進(jìn)行分類的HT

57、B控制。其次對使用Forward再次標(biāo)記IP數(shù)據(jù)流,使用 out-interface對上行流量進(jìn)行分類的HTB控制。下面一個事例,我們通過標(biāo)記特定端口如80、 53、特定的游戲和QQ端口等為優(yōu)先,剩余的流量HTB 下行Max-limit:為10M,即所有隊列在有足夠剩余帶寬時,都可以獲得最大值Limit-at:3個子隊列的Limit-at之和等于Max-limit=10MMangle標(biāo)記下行使用Port_conn為端口連接標(biāo)記,從Port_conn提取數(shù)據(jù)包,使用Port_Packet為端口數(shù)據(jù)包標(biāo)記使用80_conn為web連接標(biāo)記,從80_conn提取數(shù)據(jù)包,使用80_Packet為web

58、用戶數(shù)據(jù)包標(biāo)記使用Other_conn為剩余數(shù)據(jù)連接標(biāo)記,從Other_conn提取數(shù)據(jù)包,使用Other_Packet為剩余數(shù)據(jù)包標(biāo)記下行流量標(biāo)記/ip firewall mangleadd action=mark-connection chain=prerouting comment=“優(yōu)先端口” dst-port=443 new-connection-mark=Port_Conn passthrough=yes protocol=tcpadd action=mark-connection chain=prerouting dst-port=3724 new-connection-mark

59、=Port_Conn passthrough=yes protocol=tcpadd action=mark-connection chain=prerouting dst-port=8000 new-connection-mark=Port_Conn passthrough=yes protocol=udpadd action=mark-packet chain=prerouting connection-mark=Port_Conn new-packet-mark=Port_Packet passthrough=noadd action=mark-connection chain=prer

60、outing comment=“web端口 dst-port=80 new-connection-mark=80_Conn passthrough=yes protocol=tcpadd action=mark-connection chain=prerouting dst-port=53 new-connection-mark=80_Conn passthrough=yes protocol=udp add action=mark-packet chain=prerouting connection-mark=80_Conn new-packet-mark=80_packet passthr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論