Asunal wrote:
小弟是routeros(恕刪)
要準確抓取p2p的連線port幾乎不可能,
因為連線port是可自訂的,任何port都可能。
所以建議無論tcp或udp任何大於1000的port都當它是p2p port就好。
當然這樣以偏概全,部份工具有特定的連接port。
您知道的可以return從鏈(chain)的移開(如anydesk會用到tcp port:6568),
剩餘的都當它是p2p port。假設電腦的ip為192.168.32.6:
#先將大於1000的連接port劃入p2p鏈(chain)內
/ip firewall mangle
add action=jump chain=prerouting jump-target=p2p protocol=tcp src-port=1001-65535 dst-address=192.168.32.6 in-interface=pppoe
add action=jump chain=prerouting jump-target=p2p protocol=udp src-port=1001-65535 dst-address=192.168.32.6 in-interface=pppoe
#將anydesk所用的tcp port:6568從p2p鏈移開
add action=return chain=p2p protocol=tcp src-port=6568
#把p2p鍊的標上p2p_conn標記
add action=mark-connection chain=p2p new-connection-mark=p2p_conn
#把p2p_conn標記的再標記為queue可用的p2p_packet
add action=mark-packet chain=prerouting new-packet-mark=p2p_packet connection-mark=p2p_conn
假設我們希望p2p所用的上下載為 上載20M/下載50M:
/ip queue simple
add max-limit=20M/50M name=p2p target=192.168.32.6 packet-mark=p2p_packet
這樣只需對p2p封包做qos限制就好,對整個大網路做queue tree規劃,
個人是覺得不需那麼煩雜手續啦~