看板 Network 關於我們 聯絡資訊
http://wiki.mikrotik.com/wiki/Packet_Flow http://mum.mikrotik.com/presentations/US09/megis_qos.pdf 簡單說: 設備-有兩個端口WAN 和 LAN ,而flow基本上都是成對的 A. 當一個packet從 WAN端進入forward會經過哪些table? in-interface=WAN → preroute →global-in →Mangle forward →Mangle postroute →globan-out → out-interface = LAN *也就是這封包會同時經過 1.glob-in/global out 2.preroute 3.forward 4.in-interface=WAN/out-interface = LAN B. 當一個packet從Lan端進入會經過哪些tables? in-interface=LAN → preroute →global-in →Mangle forward →Mangle postroute →globan-out → out-interface = WAN 1.glob-in/global out 2.preroute 3.forward 4.in-interface=LAN/out-interface = WAN C. 問題1是: 如果 /ip firewall mamgle add chain=forward action=mark-packet src-address=192.168.0.0/24 proto=tcp port=80 new-packet-mark=tcp_up (我要queue tree作用在global中~該選global-in 還 glob-out呢?) 問題2是: /ip firewall mamgle add chain=preroute action=mark-packet src-address=192.168.0.0/24 port=80 new-packet-mark=tcp_up (我要queue tree作用在global中~該選global-in 還 glob-out呢?) 問題3是: 如果 /ip firewall mamgle add chain=forward action=mark-packet src-address=192.168.0.0/24 proto=tcp port=80 new-packet-mark=tcp_up (我要queue tree作用在interface中~該選WAN 還 LAN呢?) 問題4是: 如果 /ip firewall mamgle add chain=preroute action=mark-packet src-address=192.168.0.0/24 proto=tcp port=80 new-packet-mark=tcp_up (我要queue tree作用在interface中~該選WAN 還 LAN呢?) 問題5是: interface=local是指啥呢? 指interface address ip是local的interface? -- 2011/06/13補充 A.如果要標記一個上傳封包可以用下面方式(同問題四) /ip firewall mangle add chain=preroute action=mark-packet src-address=192.168.0.0/24 new-packet-mark=src_mark -而且只有用在"出口"端才有效 B.如果要標記下載封包則要怎標記呢? /ip firewall mangle add chain=forward action=mark-packet dst-address=192.168.0.0/24 new-packet-mark=dst_mark C.你或許會想說那是不是要上下傳都標記一次?其實有其他法 /ip firewall mangle add chain=preroute action=mark-connection src-address=192.168.0.0/24 new-connection=src_con add chain=preroute action=mark-packet connection-mark=src_con new-packet-mark=src_mark -用在wan端會發現可以控制上傳 -用在lan端會發現可以控制下載 -(1).為何上下傳都可以控制呢? 根據TCP交握,發起端是192.168.0.0/24,從外面又回到發起的pc是一條線,而整條線的 封包都被mark了! -(2).為何用在wan會變成控制上傳,lan會下載呢? 根據之前所說的會成為這張圖,http://0rz.tw/yHFTY, 由下往上看, 進入網卡後→開始追蹤連結→才經過prerouting→又經過dnat→然後global-in→ forward→postrouting→global-out→snat→最後才到interface 因為流量管控一律是出口的interface D.為何不直接用 prerouting dst-192.168.0.0/24的packet,呢? -根據http://0rz.tw/yHFTY,會發現外部封包回來經過preroute表的時候,dst沒有 dst-192.168.0.0/24,但是會發現經過dnat,進入forward前會變成區網ip,所以可 以標記forward鍊表! E.那為何標記連線不用preroute dst-192.168.0.0/24的connection呢? -因為下載連線追蹤是發生在snat之前,所以不會有dst-192.168.0.0/24的連線, 但是換成forward dst-192.168.0.0/24的connection 則可以! F.假設標記forward dst-192.168.0.0/24 connection該怎使用? -(1) /ip firewall mangle add chain=forward action=new-connection-mark dst-address=192.168.0.0/24 new-connection-mark=dst_con add chain=forward action=new-packet-mark connection-mark=dst_con new-packet-mark=dst_ogc -(2) /ip firewall mangle add chain=forward action=new-connection-mark dst-address=192.168.0.0/24 new-connection-mark=dst_con passthrough=yes add chain=forward action=new-packet-mark connection-mark=dst_con dst-address=192.168.0.0/24 new-packet-mark=dst_ogc passthrough=no add chain=forward action=new-packet-mark connection-mark=dst_con src-address=192.168.0.0/24 new-packet-mark=dst_ogc passthrough=no -(3) /ip firewall mangle add chain=forward action=new-connection-mark dst-address=192.168.0.0/24 new-connection-mark=dst_con passthrough=yes add chain=forward action=new-packet-mark connection-mark=dst_con dst-address=192.168.0.0/24 new-packet-mark=dst_ogc passthrough=no add chain=preroute action=new-packet-mark connection-mark=dst_con src-address=192.168.0.0/24 new-packet-mark=dst_ogc passthrough=no -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.72.144.90 ※ 編輯: kingofsdtw 來自: 203.72.144.93 (06/13 23:27)