Kamis, 07 Juni 2012

    ===== The script - mangle =====

>>Contoh Penggunaan script di mangle mark paket all users/ip untuk upload :

:for x from=1 to=254 do={ /ip firewall mangle add chain=prerouting src-address="10.0.0.$x" action=mark-packet new-packet-mark="U0_$x" passthrough=no }

>>For download:

:for x from=1 to=254 do={ /ip firewall mangle add chain=postrouting dst-address="10.0.0.$x" action=mark-packet new-packet-mark="D0_$x" passthrough=no }


>>Konfigurasi dapat di atur dengan menyesuaikan keadaan dari settingan.


-----------------------------------------------------------------------
        ===== The Script - queue =====

>>Setting terlebih dahulu (download and upload) untuk semua interface lan yang akan dilimit.

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=768000 name=UL packet-mark="" parent=DSL priority=8 queue=default;
/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=16000000 name=DL packet-mark="" parent=LAN priority=8 queue=default;

>>Setting dengan benar upload dan download, kemudian membuat script agar lebih cepat dalam penyetingan.

>>Membuat settingan script untuk upload :

:for x from=1 to=254 do={/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=128000 max-limit=768000 name="U0_$x" packet-mark="U0_$x" parent=UL priority=8 queue=default }

>>Membuat settingan script download:

:for x from=1 to=254 do={/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=256000 max-limit=16000000 name="D0_$x" packet-mark="D0_$x" parent=DL priority=8 queue=default }

------------------------------------------------------------------------
        ===== The e-mail script =====

>>Membuat informasi tentang upload dan download setiap hari dan dikirim melalui email :

:global traf;
:global megsu "0";
:global megsd "0";
:global resulter " ";
:global logmsg;
:global datum [/system clock get date];
:global vrijeme [/system clock get time];
/queue tree
    :for i from=1 to=254 do={
            :set logmsg "";
            :set megsd "0";
            :set megsu "0";
            :if ([/queue tree find name="D0_$i"]!="") do={:set traf [get [find name="D0_$i"] bytes]; :set megsd ($traf / 1000000);}
            :if ([/queue tree find name="U0_$i"]!="") do={:set traf [get [find name="U0_$i"] bytes]; :set megsu ($traf / 1000000);}
            :if ($megsd > 0) do={
                :if ($megsd > 1000) do={ :set megsd ($megsd / 1000); :set megsd "$megsd Gb" } else={ :set megsd "$megsd Mb"}
                :set logmsg ("D0_$i: $megsd");
                :set resulter ("$resulter \n User: 10.0.3.$i Download: $megsd")
            }
            :if ($megsu > 0) do={
                :if ($megsu > 1000) do={ :set megsu ($megsu / 1000); :set megsu "$megsu Gb" } else={ :set megsu "$megsu Mb"}
                :set logmsg ("$logmsg U0_$i: $megsu");
                :if ($logmsg!="") do={:set resulter ("$resulter Upload: $megsu")} else={:set resulter ("$resulter \n User: 10.0.3.$i Upload: $megsu")}
            }
            :if ($logmsg!="") do={ :log info ($logmsg) }
        }
/tool e-mail send from=from@email_here_com to=to@email_here_com subject="Queue $datum $vrijeme" body="$resulter" server=mail_server_ip_address
/queue tree reset-counters-all

--------------------------------------------------------------------------
        ===== The schedule =====

Membuat schedule setiap malam.

add comment="" disabled=no interval=24:00:00 name=schedule1 on-event="your_script_name_here" start-date=may/15/2008 start-time=00:00:00

0 komentar:

Posting Komentar