PCQ2.X
- / ip firewall filter
- add chain=output src-address=!192.168.0.0/24 protocol=icmp action=drop \
- comment="no net Ping" disabled=no
- /ip firewall mangle
- add action=mark-packet chain=prerouting comment="\B7\C0UDP\B9\A5\BB\F7" \
- disabled=no dst-port=0-65535 new-packet-mark=udp passthrough=yes \
- protocol=udp
- add action=accept chain=prerouting comment="\CD\E2\BD\D3\CF\DE\CB\D9" \
- connection-mark=nolimit disabled=no
- add action=mark-connection chain=prerouting comment=\
- "\C5\C5\B3\FD\B7\FE\CE\F1\C6\F7\CF\DE\CB\D9" disabled=no \
- new-connection-mark=nolimit passthrough=yes src-address=\
- 192.168.0.240-192.168.0.253
- add action=mark-connection chain=forward comment="P2P\CF\DE\D6\C6" disabled=\
- no new-connection-mark=p2pCOM p2p=all-p2p passthrough=yes
- add action=mark-packet chain=forward comment="P2P\CF\DE\D6\C6" \
- connection-mark=p2pCOM disabled=no new-packet-mark=p2p passthrough=yes
- add action=mark-packet chain=prerouting comment=\
- "\B1\EA\BC\C7\CB\F9\D3\D0\CA\FD\BE\DD\B0\FC" disabled=no new-packet-mark=\
- all-mark passthrough=yes
- /queue type
- set default kind=pfifo name=default pfifo-limit=50
- set ethernet-default kind=pfifo name=ethernet-default pfifo-limit=50
- set wireless-default kind=sfq name=wireless-default sfq-allot=1514 \
- sfq-perturb=5
- set synchronous-default kind=red name=synchronous-default red-avg-packet=1000 \
- red-burst=20 red-limit=60 red-max-threshold=50 red-min-threshold=10
- set hotspot-default kind=sfq name=hotspot-default sfq-allot=1514 sfq-perturb=\
- 5
- add kind=pcq name=PCQUP pcq-classifier=src-address pcq-limit=50 pcq-rate=\
- 2000000 pcq-total-limit=2000
- add kind=pcq name=PCQPUP pcq-classifier=src-address pcq-limit=50 pcq-rate=\
- 120000 pcq-total-limit=2000
- add kind=pcq name=PCQ8M pcq-classifier=dst-address pcq-limit=50 pcq-rate=\
- 8000000 pcq-total-limit=2000
- add kind=pcq name=PCQ6M pcq-classifier=dst-address pcq-limit=50 pcq-rate=\
- 6000000 pcq-total-limit=2000
- add kind=pcq name=PCQ10M pcq-classifier=dst-address pcq-limit=50 pcq-rate=\
- 10000000 pcq-total-limit=2000
- add kind=pcq name=PCQpppoe pcq-classifier=dst-address pcq-limit=50 pcq-rate=\
- 192000 pcq-total-limit=2000
- set default-small kind=pfifo name=default-small pfifo-limit=10
- / system script
- add name="server" source=":for sheng from 240 to 253 do={/queue simple add \
- name=\(A . \$sheng\) dst-address=\(192.168.0. . \$sheng\) \
- max-limit=3200000/1600000 interface=all disabled=no}" \
- policy=ftp,reboot,read,write,policy,test,winbox,password
- add name="AUTOarp" source=":foreach i in \[/ip arp find dynamic=yes \] do={/ip arp \
- add copy-from=\$i}" \
- policy=ftp,reboot,read,write,policy,test,winbox,password
- add name="Down40M" source="/interface disable adsl
- \n
- \n:if \(\[/queue tree \
- get \[/queue tree find name="PCQPUP"\] disable \]=false \) do={/queue \
- tree disable PCQPUP}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree \
- find name="PCQpppoe"\] disable \]=false \) do={/queue tree disable \
- PCQpppoe}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown45M"\] disable \]=false \) do={/queue tree disable \
- PCQDown45M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown49M"\] disable \]=false \) do={/queue tree disable \
- PCQDown49M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown40M"\] disable \]=true \) do={/queue tree enable \
- PCQDown40M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQUP"\] disable \]=true \) do={/queue tree enable \
- PCQUP}\n\n\n\n
- \n
- \n:if \(\[/queue tree get \[/queue tree find \
- name="p2pL"\] disable \]=true \) do={/queue tree enable \
- p2pL}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="p2pW"\] disable \]=true \) do={/queue tree enable \
- p2pW}
- \n
- \n\n\n\n\n:log info {"dwon 10M"}" \
- policy=ftp,reboot,read,write,policy,test,winbox,password
- add name="Down45M" source=":if \(\[/queue tree get \[/queue tree find \
- name="PCQDown40M"\] disable \]=false \) do={/queue tree disable \
- PCQDown40M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown49M"\] disable \]=false \) do={/queue tree disable \
- PCQDown49M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown45M"\] disable \]=true \) do={/queue tree enable \
- PCQDown45M}
- \n
- \n\n\n\n\n:log info {"dwon 8M"}" \
- policy=ftp,reboot,read,write,policy,test,winbox,password
- add name="Down49M" source=":if \(\[/queue tree get \[/queue tree find \
- name="PCQDown40M"\] disable \]=false \) do={/queue tree disable \
- PCQDown40M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown45M"\] disable \]=false \) do={/queue tree disable \
- PCQDown45M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQDown49M"\] disable \]=true \) do={/queue tree enable \
- PCQDown49M}
- \n
- \n\n\n\n\n:log info {"dwon 6M"}" \
- policy=ftp,reboot,read,write,policy,test,winbox,password
- add name="PPPOE" source="/interface enable adsl
- \n
- \n:if \(\[/queue tree get \
- \[/queue tree find name="PCQDown40M"\] disable \]=false \) do={/queue \
- tree disable PCQDown40M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue \
- tree find name="PCQDown45M"\] disable \]=false \) do={/queue tree \
- disable PCQDown45M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree \
- find name="PCQDown49M"\] disable \]=false \) do={/queue tree disable \
- PCQDown49M}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQUP"\] disable \]=false \) do={/queue tree disable \
- PCQUP}\n\n\n\n
- \n
- \n:if \(\[/queue tree get \[/queue tree find \
- name="p2pL"\] disable \]=false \) do={/queue tree disable \
- p2pL}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="p2pW"\] disable \]=false \) do={/queue tree disable \
- p2pW}\n\n\n\n
- \n
- \n:if \(\[/queue tree get \[/queue tree find \
- name="PCQpppoe"\] disable \]=true \) do={/queue tree enable \
- PCQpppoe}
- \n
- \n\n\n\n\n:if \(\[/queue tree get \[/queue tree find \
- name="PCQPUP"\] disable \]=true \) do={/queue tree enable \
- PCQPUP}
- \n
- \n\n\n\n\n:log info {"down ADSL"}" \
- policy=ftp,reboot,read,write,policy,test,winbox,password
- / tool traffic-monitor
- add name="WanDown40M" interface=wan traffic=received trigger=below \
- threshold=40000000 on-event=Down40M comment="" disabled=no
- add name="WanDown45M" interface=wan traffic=received trigger=above \
- threshold=45000000 on-event=Down45M comment="" disabled=no
- add name="WanDown49M" interface=wan traffic=received trigger=above \
- threshold=49000000 on-event=Down49M comment="" disabled=no
- / queue tree
- add name="p2pW" parent=wan packet-mark=p2p limit-at=4000000 queue=default \
- priority=8 max-limit=4000000 burst-limit=0 burst-threshold=0 burst-time=0s \
- disabled=yes
- add name="p2pL" parent=lan packet-mark=p2p limit-at=4000000 queue=default \
- priority=8 max-limit=4000000 burst-limit=0 burst-threshold=0 burst-time=0s \
- disabled=yes
- add name="PCQUP" parent=global-out packet-mark=all-mark limit-at=0 queue=PCQUP \
- priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s \
- disabled=yes
- add name="PCQPUP" parent=global-in packet-mark=all-mark limit-at=0 \
- queue=PCQPUP priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
- burst-time=0s disabled=no
- add name="PCQDown40M" parent=global-in packet-mark=all-mark limit-at=0 \
- queue=PCQ10M priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
- burst-time=0s disabled=yes
- add name="PCQDown45M" parent=global-in packet-mark=all-mark limit-at=0 \
- queue=PCQ8M priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
- burst-time=0s disabled=yes
- add name="PCQDown49M" parent=global-in packet-mark=all-mark limit-at=0 \
- queue=PCQ6M priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
- burst-time=0s disabled=yes
- add name="PCQpppoe" parent=global-in packet-mark=all-mark limit-at=0 \
- queue=PCQpppoe priority=8 max-limit=0 burst-limit=0 burst-threshold=0 \
- burst-time=0s disabled=no
- / tool netwatch
- add host=60.170.90.149 timeout=1s interval=5s up-script=Down40M \
- down-script=PPPOE comment="" disabled=no
- :for i from=1 to=253 do={/ip firewall filter add chain=forward src-address=("192.168.0." . $i) protocol=tcp connection-limit=200,32 action=drop}