Senin, 11 Juni 2012

Ini adalah cara yang dapat digunakan untuk melihat speed upload dan download di ubuntu server. Pertama kita harus menginstall nload di ubuntu server melalui ssh.

#sudo apt-get install nload






Setelah selesai install lalu jalankan perintah :

#nload

Untuk keluar dari proses di atas tekan q.

Install wordpress di ubuntu server

    ===== Install wordpress =====

===1

command :

#sudo apt-get install wordpress php5-gd

-Tempat install file di /usr/share/wordpress folder

>>membuat symbolic link ke apache2

#sudo ln -s /usr/share/wordpress /var/www/wordpress

>> Install wordpress dengan script

#sudo bash usr/share/doc/wordpress/examples/setup-mysql -n wordpress localhost

>>Script dibuat di MySQL. Jika membuat hosting multiple blog dengan berbeda virtual hosts, sehingga dibutuhkan database yang berbeda. contoh penggunaannya :

#sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress_mydomain_org wordpress.mydomain.org

-Jika menggunakan virtual host, buat apache2 virtual host file di /etc/apache2/sites-available folder. Jika sudah buat enable

dengan membuat symbolic link dari virtual host file di sites-enable folder. Ini dapat berbahaya sehingga diperlukan membuat

pengamanan di instalasi wordpress dari orang2 yg tidak bertaggung jawab dari internet. Jika sudah selesai instalasi lengkap

dan user creation is turned off. Restart apache2 :

#sudo /etc/init.d/apache2 restart

-Skrang browse : "http://localhost/wordpress" di browser atau http://"wordpress.mydomain.org"/wordpress jika menggunakan

virtual host.

>> Buat automatic updates folder dan all data serta subfolder2nya dair www-data

#chown -R www-data /usr/share/wordpress

-Jika logged di wordpress lakukan automatic upgrade from the tools -> Uprade option
Jika sudah diinstall, rubahlah url untuk site. link file /etc/wordpress/config-localhost.php to

/etc/wordpress/config-my.url.com.php dengan konfigurasi option menu.

contoh

#sudo ln -s /etc/wordpress/config-localhost.php /etc/wordpress/config-hello.homelinux.net.php

-Setelah di browser di mozilla lakukan install dan konfigurasi nanti lakukan ubah url wordpress address dan blog address.

==============================================================================================================

=== Troubleshooting ===

>>Jika selama install mengalami troble encounter error :

#sudo sh /usr/share/doc/wordpress/examples/setup-mysql -n (your mysql user) localhost
/usr/share/doc/wordpress/examples/setup-mysql: 38: Syntax error: Bad substitution

-dan error yang lain

# /usr/share/doc/wordpress/examples/setup-mysql: 37: Syntax error: Bad substitution

-Untuk memperbaiki ini, harus meremove semua konfigurasi yang sudah di buat.

# rm /etc/wordpress/config-localhost.php

-Kemudian jalankan command dengan menggunakan bash instead sh:

#sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n (your mysql user) localhost



sumber : https://help.ubuntu.com/community/WordPress

Minggu, 10 Juni 2012

INSTALL AWSTATS DI UBUNTU SERVER

        ===== INSTALL AWSTATS DI UBUNTU SERVER =====

-------------------------------------------------------------------------------
>> Untuk lebih jelas bisa di pelajari di http://awstats.sourceforge.net/
Pertama harus Download awstats yaitu :

#sudo wget http://www.awstats.org/files/awstats-7.1.tar.gz

--> Setelah selesai maka lihat dengan #ls -all akan ada file lalu install :

#sudo apt-get install awstats

>> Untuk configurasi files di ubuntu yang berada do lokasi /etc/awstats.
yaitu "awstats.conf"

--> Pertama copy of awstats.conf untuk beda domain :

#cp /etc/awstats/awstats.conf /etc/awstats/awstats.yourdomain.ext.conf

Misalkan : 192.168.1.44:10000

##cp /etc/awstats/awstats.conf /etc/awstats/awstats.192.168.1.44:10000.conf ( Cuma contoh)

--> Modifikasi file :

-> Gunakan vi atau nano
#nano /etc/awstats/awstats.yourdomain.ext.conf

-> Rubah settingan :

#LogFile="/var/log/apache2/access.log"
#SiteDomain="Yourdomain.ext"
#HostAliases="localhost 127.0.0.1 yourdomain.ext"

-->Generate the initial stats untuk AWStats based di var/log/apache2/access.log :
#/usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update

----------------------------------------------------------------------------------------
        ===== Apache2 Configuration =====

>> Gunakan apache untuk stats :

-> mengatur /etc/apache2/sites-available/
#cd /etc/apache2/sites-available/

--> jika tidak memiliki Virtualhosts setup dengan "/etc/apache2/sites-available/default".
Lalu masukan code ini ke virtualHost tag atau domain yang akan di monitor :

;Alias /awstatsclasses "/usr/share/awstats/lib/"
;Alias /awstats-icon/ "/usr/share/awstats/icon/"
;Alias /awstatscss "/usr/share/doc/awstats/examples/css"
;ScriptAlias /awstats/ /usr/lib/cgi-bin/
;Options ExecCGI -MultiViews +SymLinksIfOwnerMatch


>> Reload apache2 :

#/etc/init.d/apache2 reload

>> Statistik yourdomain.ext bisa diakses :

http://yourdomain.ext/awstats/awstats.pl

and

http://yourdomain.ext/awstats/awstats.pl?config=yourdomain.ext

    ===== Crontab Configuration =====

Add the following code to /etc/crontab for each domain:

0 */3 * * * /usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update > /dev/null

Links

    http://awstats.sourceforge.net/ Official AWStats website

        http://awstats.sourceforge.net/docs/index.html Documentation

        http://awstats.sourceforge.net/docs/awstats_setup.html

    http://www.awstats.org/ Official AWStats website

    http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/

Sabtu, 09 Juni 2012

1.=======================
Saya asumsikan Ubuntu Server 11.10 telah terinstal baik
Dan sudah mempunyai aplikasi
Putty ( http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
dan Winscp ( http://sourceforge.net/projects/winscp/files/WinSCP/4.3.6/winscp436.zip/download)
Keduanya untuk remote Ubuntu via OS Windows

*** "PENTING" Struktur Partisi (Saya memakai HD 250 GB), sesuaikan dengan harddisk anda tutor ini berdasarkan
susunan partisi berikut:
1. 256 MB /boot
2. 48 GB /home
3. 2 GB /swap (RAM saya 1 GB)
4. + - 200 GB /cache (sisanya)

Buka aplikasi putty dan ketikkan perintah dibawah ini:
yang diawali dengan tanda *** adalah keterangan

*** Langkah dimulai dengan hak akses bukan root, jika ada ketrangan gagal/ denied maka akses sebagai root
dengan mengetikan sudo sebelum command.Semua command line di input melalui putty !

*** Membuat salinan file source.list (source.list berisi link repositrya)
sudo mv /etc/apt/sources.list /etc/apt/sources.listbak

*** Buat file source.list yang baru (berisi link repository lokal)
sudo pico /etc/apt/sources.list

*** Daftar Repository lokal Ubuntu 11.10 (saya berada dibekasi, maka saya link ke kambing.ui.edu )
sesuaikan dengan lokasi andalihat di :
http://syahrul.web.id/repository-lokal-ubuntu-11-10-oneiric-ocelot-bisa-juga-buat-linux-mint-12

Salin daftar dibawah ini dan Paste ke isi file sources.list

deb http://kambing.ui.ac.id/ubuntu/ oneiric main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu/ oneiric-updates main restricted universe multiverse
deb http://kambing.ui.ac.id/ubuntu/ oneiric-security main restricted universe multiverse

*** Kemudian save dan keluar


*** Setelah selesai ketiikan perintah2 dibawah ini sampai selesai

sudo apt-get update
sudo apt-get install squid
sudo apt-get install squid squidclient squid-cgi
sudo apt-get install gcc
sudo apt-get install build-essential
sudo apt-get install sharutils
sudo apt-get install ccze
sudo apt-get install libzip-dev
sudo apt-get install automake1.9
sudo apt-get install acpid
sudo apt-get install multitail


*** Install tool monitor

wget http://squidmon.googlecode.com/svn/trunk/squidmon.py
sudo chmod +x squidmon.py

wget http://www.pixelbeat.org/scripts/ps_mem.py
sudo chmod +x ps_mem.py

2. ====================================

*** Instalasi LUSCA

*** Daftar Web LUSCA

http://code.google.com/p/lusca-cache/downloads/list

*** Download file LUSCA dibawah ini

wget http://lusca-cache.googlecode.com/files/LUSCA_HEAD-r14809.tar.gz

*** Seteleah selesai ekstrak filenya

tar xzvf LUSCA_HEAD-r14809.tar.gz
cd LUSCA_HEAD-r14809/

***ketik

./bootstrap.sh

Jika menggunakan Ubuntu Server 64/bit, masukkan perintah :

make distclean

3. =======================

*** Melihat spek prosesor

cat /proc/cpuinfo

*** Catat Info prosesor anda, (Model dan Stepping) kemudian cek pada situs dibawah ini

*** untuk pengguna AMD 64 bit bisa di lihat disini http://en.gentoo-wiki.com/wiki/Safe_Cflags/AMD
*** sedangkan pengguna Intel lihat di sini http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel

*** perhatikan model dan family prosesor anda jangan sampai salah, salin CHOST, CFLAGS dan CXXFLAGS nya


*** kemudian salin baris pada info prosesor anda berikut ini (contoh saya pakai prosesor prescoot)

CHOST="i686-pc-Linux-gnu"\
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"\
CXXFLAGS="${CFLAGS}"

*** Paste pada notepad dan tambahkan list dibawah ini

./configure --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid \
--localstatedir=/var/spool/squid --datadir=/usr/share/squid --enable-async-io=24 --with-aufs-threads=24 --with-pthreads --enable-storeio=aufs \
--enable-Linux-netfilter --enable-arp-acl --enable-epoll --enable-removal-policies=heap --with-aio --with-dl --enable-snmp \
--enable-delay-pools --enable-htcp --enable-cache-digests --disable-unlinkd --enable-large-cache-files --with-large-files \
--enable-err-languages=English --enable-default-err-language=English --with-maxfd=65536

*** Maka hasilnya akan seperti ini, kemudian salin keseluruhan list tersebut (sperti dibawah ini)
paste lewat putty, tekan enter

***contoh
CHOST="i686-pc-Linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
./configure --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/usr/lib/squid --sysconfdir=/etc/squid \
--localstatedir=/var/spool/squid --datadir=/usr/share/squid --enable-async-io=24 --with-aufs-threads=24 --with-pthreads --enable-storeio=aufs \
--enable-Linux-netfilter --enable-arp-acl --enable-epoll --enable-removal-policies=heap --with-aio --with-dl --enable-snmp \
--enable-delay-pools --enable-htcp --enable-cache-digests --disable-unlinkd --enable-large-cache-files --with-large-files \
--enable-err-languages=English --enable-default-err-language=English --with-maxfd=65536


4.==========================

*** Compile
*** Setelah selesai ketik dibawah ini

sudo make &&
sudo make install

*** Matikan Squid

squid stop

*** Backup original file

sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.backup &&
sudo mv /etc/sysctl.conf /etc/sysctl.conf.backup &&
sudo mv /etc/init.d/squid /etc/init.d/squid.backup

*** Salin File berikut ini, dengan mengetikkan pada putty (blok dan paste lewat putty

cd /etc/squid && wget http://ouziel-lusca.googlecode.com/files/storeurl.pl &&
wget http://ouziel-lusca.googlecode.com/files/squid.conf && wget http://ouziel-lusca.googlecode.com/files/porno.txt &&

cd /etc && wget http://ouziel-lusca.googlecode.com/files/sysctl.conf &&

cd /etc/init.d && wget http://ouziel-lusca.googlecode.com/files/squid &&

cd /usr/local/etc/squid && wget http://ouziel-lusca.googlecode.com/files/refresh.conf &&

cd /usr/share/squid/errors/en && wget http://ouziel-lusca.googlecode.com/files/ERR_ACCESS_DENIED
5.===============

***Buat folder cache

sudo squid start &&
sudo chown proxy:proxy /cache &&
sudo chown proxy:proxy /etc/squid/storeurl.pl &&
sudo chown proxy:proxy /var/log/squid/access.log &&
sudo chown proxy:proxy /var/log/squid/cache.log &&
sudo chmod 777 /etc/squid/storeurl.pl &&
sudo chmod 777 /cache

*** Buka file squid.conf pada Directory /etc/squid/ edit dan sesuaikan bagian ini :
cache_dir aufs /cache 7000 16 256 (sesuai dengan ukuran dan partisi cache anda)
acl localnet src 192.168.2.0/24 (sesuaikan dengan IP warnet anda)



*** cek konfigurasi squid
sudo squid -k parse

*** Jika tidak ada erorr lanjut

squid -f /etc/squid/squid.conf -z


*** restart squid

sudo squid restart

*** set aktif saat boot

sudo update-rc.d squid defaults

*** Reboot Ubuntu

Thanks for : www.ubuntu-indonesia.com

Putty Command


Command yang biasa digunakan di putty :

ls - to list files in a directory:
cd - change directory (navigate to some directory):
cp - copy a file:
mv - move a file (also used to rename files):
rm - remove a file:
mkdir - make directory:
pwd - show your current location:
whoami - find out which user you are:
wget - to download some url content to the current directory
yum - To install any packages from the urls

Jumat, 08 Juni 2012

                   -------=[ Blok di Web proxy access ]=---------
ip web-proxy access print
Flags: X - disabled, I - invalid
0 ;;; block telnet & spam e-mail relaying
dst-port=23-25 action=deny
1 ;;; microsoft
url="www.microsoft.com" action=deny
2 url="http://update.microsoft.com/windowsupdate/v6/default.aspx"
action=deny
3 url="http://windowsupdate.microsoft.com/" action=deny
4 url="http://go.microsoft.com" action=deny
5 url="http://support.microsoft.com/" action=deny
6 url="v4.windowsupdate.microsoft.com/" action=deny
7 url="http://office.microsoft.com" action=deny
8 ;;; youtube
url="http*youtube*get_video*" action=deny
9 url="":\\.flv$"" action=deny
10 url="www.youtube.com" action=deny
11 url="www.metacafe.com" action=deny
12 url="":\\.mp3$"" action=deny
13 ;;; video google
url="http*videoplay*" action=deny
14 url="":\\.exe$"" action=deny
15 url="":\\.zip$"" action=deny
----------------------------------------

Kamis, 07 Juni 2012

  Alat Yang di Gunakan :
- Modem Speedy
- RB750 ROS 4.6 atau Mikrotik v5.xx
- Squid proxy yang berjalan transparant pada port 3128 + zph

Topologi :
- Speedy 2M down dan 512 up
- 1M untuk jatah download semua client dengan batasan maksimal 256kbps/client
- Akses tanpa dibatasi limit untuk beberapa IP tertentu (dalam hal ini IP 192.168.2.16 dan 192.168.2.17)
- Browsing tidak dibatasi
- Aplikasi QOS pada outbound/paket yang keluar dari modem speedy

Manifest IP address yang digunakan :
[MODEM]
Public IP Address = 192.168.1.2/24
[CLIENTS]
Client IP Address = 192.168.2.2-192.168.2.17 (ip selain itu tidak konek internet)
[SQUID BOX]
Proxy Ip Address = 192.168.3.2
squid.conf dengan zph
http_port 3128 transparent
zph_mode tos
zph_local 0x30
zph_parent 0
zph_option 136
================Basic Configuration================
/interface ethernet
set 0 comment="Public Interface" name=Public
set 1 comment="Local Interface" name=Local
set 2 comment="Proxy Interface" name=Proxy

/ip address
add address=192.168.2.1/24 broadcast=192.168.2.2 comment="" disabled=no \
interface=Local network=192.168.2.0
add address=192.168.3.1/24 broadcast=192.168.3.2 comment="" disabled=no \
interface=Proxy network=192.168.3.0
add address=192.168.1.2/24 broadcast=192.168.1.3 comment="" disabled=no \
interface=Public network=192.168.1.0

/ip dns
set allow-remote-requests=yes cache-max-ttl=1w cache-size=4096KiB \
max-udp-packet-size=512 servers="125.160.4.82,203.130.196.155"
(sesuaikan dengan DNS ISP sobat)

/ip route
add gateway=192.168.1.1 comment="" disabled=no

/ip service
set telnet address=0.0.0.0/0 disabled=yes port=23
set ftp address=0.0.0.0/0 disabled=yes port=21
set www address=0.0.0.0/0 disabled=no port=80
set ssh address=0.0.0.0/0 disabled=yes port=22
set www-ssl address=0.0.0.0/0 certificate=none disabled=yes port=443
set api address=0.0.0.0/0 disabled=yes port=8728
set winbox address=0.0.0.0/0 disabled=no port=8291

/system ntp client
set enabled=yes mode=unicast primary-ntp=152.118.24.8 secondary-ntp=\
202.169.224.16

/ip firewall address-list
add address=192.168.3.1/24 comment="" disabled=no list=ProxyNET
add address=192.168.2.2-192.168.2.17 comment="" disabled=no list=localNet
(saya hanya menjalankan client konek internet 2-17 client)
=================end of basic configuration=================
Untuk firewall filternya saya terapkan yang terpentingnya saja.
/ip firewall filter
add action=drop chain=input comment="Drop Invalid connections" \
connection-state=invalid disabled=no
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="Port scanners to list " \
disabled=no protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" \
disabled=no protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="SYN/FIN scan" disabled=no \
protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="SYN/RST scan" disabled=no \
protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" disabled=\
no protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="ALL/ALL scan" disabled=no \
protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list="port scanners" \
address-list-timeout=2w chain=input comment="NMAP NULL scan" disabled=no \
protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
add action=drop chain=input comment="Dropping port scanners" disabled=no \
src-address-list="port scanners"
add action=accept chain=input comment="Allow Established connections" \
connection-state=established disabled=no
add action=accept chain=input comment="Allow Related connections" \
connection-state=related disabled=no
add action=accept chain=input comment="Allow ICMP from LOCAL Network" \
disabled=no protocol=icmp src-address-list=localNet
add action=accept chain=input comment="Allow ICMP from PROXY Network" \
disabled=no protocol=icmp src-address-list=ProxyNET
add action=accept chain=input comment="Allow Input from LOCAL Network" \
disabled=no src-address-list=localNet
add action=accept chain=input comment="Allow Input from PROXY Network" \
disabled=no src-address-list=ProxyNET
add action=drop chain=input comment="Drop everything else" disabled=no
add action=drop chain=forward comment="Drop Invalid connections" \
connection-state=invalid disabled=no
add action=jump chain=forward comment="Bad packets filtering" disabled=no \
jump-target=tcp protocol=tcp
add action=jump chain=forward comment="" disabled=no jump-target=udp \
protocol=udp
add action=jump chain=forward comment="" disabled=no jump-target=icmp \
protocol=icmp
add action=drop chain=tcp comment="deny SMTP" disabled=no dst-port=25 \
protocol=tcp
add action=drop chain=tcp comment="deny TFTP" disabled=no dst-port=69 \
protocol=tcp
add action=drop chain=tcp comment="deny RPC portmapper" disabled=no dst-port=\
111 protocol=tcp
add action=drop chain=tcp comment="deny RPC portmapper" disabled=no dst-port=\
135 protocol=tcp
add action=drop chain=tcp comment="deny NBT" disabled=no dst-port=137-139 \
protocol=tcp
add action=drop chain=tcp comment="deny cifs" disabled=no dst-port=445 \
protocol=tcp
add action=drop chain=tcp comment="deny NFS" disabled=no dst-port=2049 \
protocol=tcp
add action=drop chain=tcp comment="deny NetBus" disabled=no dst-port=\
12345-12346 protocol=tcp
add action=drop chain=tcp comment="deny NetBus" disabled=no dst-port=20034 \
protocol=tcp
add action=drop chain=tcp comment="deny BackOriffice" disabled=no dst-port=\
3133 protocol=tcp
add action=drop chain=tcp comment="deny DHCP" disabled=no dst-port=67-68 \
protocol=tcp
add action=drop chain=tcp comment="deny P2P" disabled=no p2p=all-p2p
add action=drop chain=udp comment="deny TFTP" disabled=no dst-port=69 \
protocol=udp
add action=drop chain=udp comment="deny PRC portmapper" disabled=no dst-port=\
111 protocol=udp
add action=drop chain=udp comment="deny PRC portmapper" disabled=no dst-port=\
135 protocol=udp
add action=drop chain=udp comment="deny NBT" disabled=no dst-port=137-139 \
protocol=udp
add action=drop chain=udp comment="deny NFS" disabled=no dst-port=2049 \
protocol=udp
add action=drop chain=udp comment="deny BackOriffice" disabled=no dst-port=\
3133 protocol=udp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=0:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:0 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:3 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=3:4 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=8:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=no \
icmp-options=11:0-255 limit=5,5 protocol=icmp
add action=drop chain=icmp comment="Drop other icmp packets" disabled=no
add action=accept chain=forward comment="Allow Established connections" \
connection-state=established disabled=no
add action=accept chain=forward comment="Allow Forward from LOCAL Network" \
disabled=no src-address-list=localNet
add action=accept chain=forward comment="Allow Forward from PROXY Network" \
disabled=no src-address-list=ProxyNET
add action=drop chain=forward comment="Drop everything else" disabled=no
Untuk NAT nya sebagai berikut :
/ip firewall nat
add action=masquerade src-address-list=localNet chain=srcnat comment="NAT-LOCAL" disabled=no \
out-interface=Public
add action=masquerade src-address-list=ProxyNet chain=srcnat comment="NAT-PROXY" disabled=no \
out-interface=Public
add action=dst-nat chain=dstnat comment="TRANSPARENT PROXY" disabled=no \
dst-address-list=!ProxyNET dst-port=80,8080,3128 in-interface=Local \
protocol=tcp to-addresses=192.168.3.2 to-ports=3128
(atau yang saya punya redirect proxy seperti ini :)
add action=dst-nat chain=dstnat comment="TRANSPARENT PROXY" disabled=no \
src-address=192.168.2.2-192.168.2.17 dst-port=80,8080,3128 in-interface=Local \
protocol=tcp to-addresses=192.168.3.2 to-ports=3128
add action=dst-nat chain=dstnat comment="TRANSPARENT DNS" disabled=no \
dst-port=53 in-interface=Local protocol=udp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Local protocol=tcp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Proxy protocol=udp to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 \
in-interface=Proxy protocol=tcp to-ports=53

Penjelasan :
- Transparent DNS agar client tidak bisa menggunakan NS selain yang terpasang di mikrotik
  (bisa sobat gunakan atau tidak, tergantung keinginan)
- Mengarahkan request dari client tujuan port 80,8080,3128 ke squid external
  saya beri contoh 2 untuk redirect terserah sobat mo pilih yang mana pastinya keduanya jalan
  jika ada interface lain misalkan hotspot sobat tingal tambahkan tanda ! pada src.address atau   dst.address list
Untuk manglenya biar saya jelaskan satu-persatu biar tidak bingung :
/ip firewall mangle
add action=mark-packet chain=forward comment="PROXY-HIT-DSCP 12" disabled=no \
dscp=12 new-packet-mark=proxy-hit passthrough=no

Menandai paket proxy-hit dari external proxy yang nantinya pada rule queue diberikan kebebasan tanpa proses limitasi
add action=change-dscp chain=postrouting comment=CRITICAL disabled=no \
new-dscp=1 protocol=icmp
add action=change-dscp chain=postrouting comment="" disabled=no dst-port=53 \
new-dscp=1 protocol=udp
add action=change-dscp chain=postrouting comment="" disabled=no dst-port=53 \
new-dscp=1 protocol=tcp
add action=mark-connection chain=postrouting comment="" disabled=no dscp=1 \
new-connection-mark=critical_conn passthrough=yes
add action=mark-packet chain=postrouting comment="" connection-mark=\
critical_conn disabled=no new-packet-mark=critical_pkt passthrough=no

Menandai paket ICMP dan DNS request untuk diberikan prioritas tertinggi
add action=mark-connection chain=prerouting comment=MARK-ALL-CONN disabled=no \
dst-address-list=!localNet in-interface=Local new-connection-mark=\
all.pre_conn passthrough=yes
add action=mark-connection chain=forward comment="" disabled=no \
new-connection-mark=all.post_conn out-interface=Local passthrough=yes \
src-address-list=!localNet
add action=mark-packet chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no new-packet-mark=all.pre_pkt passthrough=yes
add action=mark-packet chain=forward comment="" connection-mark=all.post_conn \
disabled=no new-packet-mark=all.post_pkt passthrough=yes

Menandai SEMUA paket keluar masuk dari Local interface SELAIN ke Local Address
add action=mark-connection chain=prerouting comment=GAMES connection-mark=\
all.pre_conn disabled=no dst-port=9339,843 new-connection-mark=games_conn \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=40000-40010 new-connection-mark=\
games_conn passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="" connection-mark=games_conn \
disabled=no new-packet-mark=games_pkt passthrough=no

Menandai Paket GAMES untuk diberikan prioritas KEDUA
add action=mark-connection chain=prerouting comment=HTTP-CLIENT \
connection-mark=all.pre_conn disabled=no new-connection-mark=\
browsing_conn packet-size=0-64 passthrough=yes protocol=tcp tcp-flags=ack
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=80,443 new-connection-mark=\
browsing_conn passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=0-131072 \
connection-mark=browsing_conn disabled=no new-packet-mark=browsing_pkt \
passthrough=no protocol=tcp
add action=mark-connection chain=prerouting comment=HTTP-PROXY disabled=no \
dst-address-list=!localNet dst-port=80,443 new-connection-mark=proxy_conn \
passthrough=yes protocol=tcp src-address-list=ProxyNET
add action=mark-packet chain=forward comment="" connection-mark=proxy_conn \
disabled=no new-packet-mark=proxy_pkt passthrough=no

Menandai paket untuk browsing TERMASUK http req dari external proxy dengan conn-byte=0-131072 serta paket-paket protocol tcp yang berukuran kecil (packet-size=0-64 tcp-flags=ack) untuk diberikan prioritas KETIGA
add action=mark-connection chain=prerouting comment=REALTIME connection-mark=\
all.pre_conn disabled=no dst-port=22,179,110,161,8291 \
new-connection-mark=realtime_conn passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="" connection-mark=\
all.pre_conn disabled=no dst-port=123 new-connection-mark=realtime_conn \
passthrough=yes protocol=udp
add action=mark-packet chain=forward comment="" connection-mark=realtime_conn \
disabled=no new-packet-mark=realtime_pkt passthrough=no

Menandai paket-paket REALTIME ACCESS untuk diberikan prioritas KEEMPAT
add action=mark-connection chain=prerouting comment=FILETRANSER \
connection-mark=all.pre_conn disabled=no dst-port=20,21,23 \
new-connection-mark=communication_conn passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-mark=\
communication_conn disabled=no new-packet-mark=communication_pkt \
passthrough=no

Menandai paket-paket FILETRANSFER untuk diberikan prioritas KELIMA
add action=mark-connection chain=prerouting comment=NORMAL connection-mark=\
all.pre_conn disabled=no dst-address-list=!ProxyNET new-connection-mark=\
normal_conn passthrough=yes
add action=mark-packet chain=forward comment="" connection-mark=normal_conn \
disabled=no new-packet-mark=normal_pkt passthrough=no

Menandai semua paket yang tersisa SELAIN tujuan Proxy untuk diberikan prioritas KEENAM
add action=mark-packet chain=forward comment=DOWNLOAD connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.2 new-packet-mark=client1 passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.3 new-packet-mark=client2 passthrough=no protocol=tcp
………………..dst sampai jumlah client yang di perlukanterpenuhi
add action=mark-packet chain=forward comment=DOWNLOAD-NO-LIMIT connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.16 new-packet-mark=client16 passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=\
131072-4294967295 connection-mark=all.post_conn disabled=no dst-address=\
192.168.2.17 new-packet-mark=client17 passthrough=no protocol=tcp
Menandai paket protocol tcp yang diteruskan ke client untuk memberikan batasan download pada masing-masing client dengan conn-byte=131072-4294967295
Setelah itu buat queue type nya
/queue type
add kind=pcq name=pcq_up pcq-classifier=src-address pcq-limit=200 pcq-rate=0 \
pcq-total-limit=8000
add kind=pcq name=pcq_down pcq-classifier=dst-address pcq-limit=200 pcq-rate=\
0 pcq-total-limit=8000
add kind=pfifo name=pfifo-critical pfifo-limit=10
add kind=pcq name=pcq_critical.up pcq-classifier=src-address,src-port \
pcq-limit=20 pcq-rate=0 pcq-total-limit=500
add kind=pcq name=pcq_critical.down pcq-classifier=dst-address,dst-port \
pcq-limit=20 pcq-rate=0 pcq-total-limit=500
di lanjut menambahkan queue tree nya…..
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. PROXY HIT" packet-mark=proxy-hit parent=Local \
priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="B. CRITICAL" packet-mark=critical_pkt parent=Public \
priority=1 queue=pfifo-critical

Tanpa limit dengan prioritas pertama untuk proxy hit dan critical

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="C. INBOUND" packet-mark=all.post_pkt parent=global-out \
priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="D. OUTBOUND" packet-mark=all.pre_pkt parent=Public \
priority=8

Membuat parent untuk inbound (traffic masuk ke client) dan outbound (traffic keluar dari public)
Untuk child INBOUND nya saya bagi menjadi beberapa prioritas seperti berikut :

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. GAMES" packet-mark=games_pkt parent="C. INBOUND" \
priority=2 queue=pcq_critical.down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="B. HTTP" packet-mark=browsing_pkt parent="C. INBOUND" \
priority=3 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="C. REALTIME" packet-mark=realtime_pkt parent=\
"C. INBOUND" priority=4 queue=pcq_critical.down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="D. FILETRANS" packet-mark=communication_pkt parent=\
"C. INBOUND" priority=5 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="E. NORMAL" packet-mark=normal_pkt parent=\
"C. INBOUND" priority=6 queue=pcq_down

selanjutnya parent untuk download per client nya :

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=1024k name="F. DOWN 1M" parent="C. INBOUND" priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="G. DOWN 2M" parent="C. INBOUND" priority=8

membuat 2 parent untuk 1M dan 2M (atau tanpa limit)
Setelah itu buat child nya, untuk memberikan batasan download per clientnya

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256k name=Client1 packet-mark=client1 parent=\
"F. DOWN 1M" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256k name=Client2 packet-mark=client2 parent=\
"F. DOWN 1M" priority=8 queue=pcq_down

…………………..dst sampai semua paket ke client yang di perlukan terpenuhi
Batasan download sebesar 1M untuk semua client dan maksimum 256k per client

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Client16 packet-mark=client16 parent=\
"G. DOWN 2M" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Client17 packet-mark=client17 parent=\
"G. DOWN 2M" priority=8 queue=pcq_down

Tanpa batasan download untuk IP 192.168.2.16 dan 192.168.2.17
Kemudiam membuat limit untuk uploadnya

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name="A. GAMES UP" packet-mark=games_pkt parent="D. OUTBOUND" \
priority=2 queue=pcq_critical.up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=256k name="B. HTTP UP" packet-mark=proxy_pkt parent=\
"D. OUTBOUND" priority=3 queue=pcq_up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=32k \
max-limit=64k name="C. REALTIME UP" packet-mark=realtime_pkt parent=\
"D. OUTBOUND" priority=4 queue=pcq_critical.up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="D. FILETRANS UP" packet-mark=communication_pkt \
parent="D. OUTBOUND" priority=5 queue=pcq_up
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k \
max-limit=128k name="E. NORMAL UP" packet-mark=normal_pkt parent=\
"D. OUTBOUND" priority=6 queue=pcq_up

C a t a t a n
- Silahkan sobat sesuaikan Untuk IP ADDRESS, Nama Ethernet. dll
- Tanda Hijau Biru dan Merah sengaja saya tandai agar sobat tidak tertukar jika sobat sudah memberi nama lain (maksudnya harus di sesuaikan)
- Tanda Jingga da Ping harus sama dengan yang ada di address list (jika sobat mengganti dengan nama lain)
- Silahkan sobat Kopi script yang saya buat dan pastekan dahulu di notepad (maksudnya di di hilangkan keterangan-keteranganya, buat satu block satu block biar tidak pusing eheheh)