Pages

Sabtu, 09 Juli 2011

Mikrotik Dengan Ubuntu Server 10.10 Part 1

Buat Sobat Bloger yang Ingin Belajar Mengenai Proxy :

TOPOLOGI JARINGANNYA
Komputer Ubuntu :
Procesor P IV
Ram 1 Gb
Harddisk 250 Gb
Mobo Terserah Yang ente punya
Cassing boleh pakai kulit pisang kalau ada.... heee

1. Instalasi Ubuntu Server 10.10 32 bit , Bagi Yang Belum Punya Cd Instalasi bisa download Ubuntu server 10.10 di Situs resminya Ubuntu ( gak usah kuatir harus bayar karena Ubuntu Produk freeware Alias OS Gretongan / Gratis ).
2. seperti biasa kita setting komputer dulu untuk first bootingnya ke CD room / Usb Cd room bagi yg menggunakan Usb CD  room di BIOS nya. Bagi yang pernah instal windows pasti sudah tau yang saya maksud.
kalau sudah kita mulai langsung proses Instalasinya seperti langkah - langkah dibawah Ini, Cekiprot  :
1. Masukkan Cd Ubuntu ke Cd room
2. Pilih language english (enter)
3. Pilih instal ubuntu server (enter)
4. Tekan enter pada choose langguage english
5. Pilih united states
6. Klik no pada detect keyboard layout?
7. Klik USA pada ubuntu installer main menu
8. Klik USA pada keyboard layout
9. Klik continue pada configure the network
10. Pilih configure network manually isi ip address dg 192.168.3.2 pilih continue enter
11. Netmask 255.255.255.0 pilih continue enter
12. Gateway 192.168.3.1 terus klik continue
13. Name server addresses 192.168.3.1 pilih continue enter
14. Hotsnama : isi dg proxyku terus pilih continue enter
15. Domain name: di kosongin saja, pilih continue enter
16. Pada configure the clok pilih select from worldwide list terus cari jakarta (sesuaikan lokasi anda) terus enter
17. Pada menu partition disk pilih manual
18. Kita hapus partisi lama dulu :
19. Pilih partisi nya terus enter pilih delete the partion (ulangi perintah ini untuk semua partisi yg tersisa)
20. Jika telah selesai pilih Guided partitioning, kemudian pilih manual arahkan pada FREE SPACE (enter),
21. Pilih Create new partition (enter)

22. New partition size isi 1 Gb (pilih continue dan enter), pilih Primary (enter), pilih Beginning (enter), pada use as pilih EXT4 (enter) pada Mount point pilih /boot (enter), pd mount option pilih[*] noatime (pilih continue dan enter), pada Bootable Flag rubah menjadi on JIKA STATUS NYA TDK BERUBAH ABAIKAN SAJA  kemudian pilih done setting up the partition

23. New partition size isi 10 gb (pilih continue dan enter), pilih Primary (enter), pilih Beginning (enter), pada use as pilih EXT4 (enter) pada Mount point pilih / (enter), pd mount option pilih[*] noatime (pilih continue dan enter), kemudian pilih done setting up the partition

24. Arahkan pada FREE SPACE (enter), pilih Create new partition (enter) new partition size isi 2 gb ( besarnya 2x RAM) pilih continue dan enter, pilih Primary (enter), pilih Beginning (enter), pada use as pilih swap area (enter), kemudian Pilih done setting up the partition

25. Arahkan pada FREE SPACE (enter), pilih Create new partition (enter) new partition size isi sisa semua harddisk (pilih continue dan enter), pilih Primary (enter), pilih Beginning (enter), pada use as pilih Reinsfers (enter)

pada Moun point enter manually buat menjadi /cache, pd mount option pilih[*] noatime dan realtime kemudian Pilih continue dan done setting up the partition
26. Kemudian pilih finis partitioning and write changes to disk, write the changes to disk pilih yes
27. pada full name for the new user isi dg proxyku, terus continue & enter
28. pada Username for your account isi dg proxyku, terus continue & enter
29. pada a password for the new user isi dg proxyku, terus continue & enter
30. pada re-enter password to verify isi dg proxyku, terus continue & enter
31. pada use weak password pilih yes
32. pada encrypt your home directory pilih no
33. pada HTTP proxy information KOSONGIN SAJA
34. pada configurasi apt 43% tekan enter, juga pada 81% tekan enter pilih no automatic update
35.pada choose software to install pilih OpenSSH server pilih continus pd finish the installation dan reboot, ambil CD Ubuntu, 1st Boot kembalikan ke Hardisk.
# login dg proxyku
# password proxyku
# ketik sudo su -
# isi proxyku

# Ketik passwd
# enter new UNIX password isi dg proxyku
# retype new UNIX password isi proxyku


Setelah selesai Hubungkan Kabel CROSS Dari Pc Ubuntu ke Mikrotik. 
setelah itu Buka winbox untuk remote mikrotik,  coba Ping IP Ubuntu dari new terminal yang ada di winbox.
lihat dan perhatikan apakah sudah reply atau belum. kalau belum coba diteliti lagi mungkin ada yang belum bener. kalau sudah reply kita lanjutkan.
langkah Berikutnya kita akan menginstal paket yang dibutuhkan, sebelumnya anda download Putty dan Winscp untuk remote ubuntu servernya disini Putty dan Winscp download
kalau sudah anda remote ubuntu lewat Putty dengan mengetikan IP address Pc Ubuntunya (192.168.3.2 ). kalau muncul pesan warning  pilih aja Yes.
setelah muncul jendela terminal di Putty login seperti anda login di Ubuntu sebagai #root.

kemudian anda instal paket yang di butuhkan dengan mengetik perintah di bawah ini :
root@proxyku:~# apt-get update
root@proxyku:~# apt-get install squid squidclient squid-cgi
root@proxyku:~# apt-get install gcc
root@proxyku:~# apt-get install build-essential
root@proxyku:~# apt-get install sharutils
root@proxyku:~# apt-get install ccze
root@proxyku:~# apt-get install libzip-dev
root@proxyku:~# apt-get install automake1.9


kalau sudah selesai anda download squid 2.7STABLE9 dengan mengetikan perintah di terminal ubuntu melalui putty :
root@proxyku:~# wget http://tempat-sampah.googlecode.com/files/squid-2.7.STABLE9%2Bpatch.tar.gz
kalau sudah selesai kita extrak filenya dengan perintah :
root@proxyku:~# tar xvf squid-2.7.STABLE9+patch.tar.gz
root@proxyku:~# cd squid-2.7.STABLE9

setelah itu anda lanjutkan dengan kompil file tersebut dengan perintah di bawah ini :
root@proxyku:~# ./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


Kalau anda bingung anda copas aja tiap barisnya terus anda paste di Puttynya dengan klik kanan aja terus anda ENTER. 


setelah itu anda lanjutkan dengan perintah :
root@proxyku:~#make
root@proxyku:~#make install

setelah selesai anda STOP squidnya. tapi sebelum anda stop squidnya anda ganti dulu isi yang ada di /etc/init.d/squid dengan perintah :
root@proxyku:~#nano /etc/init.d/squid
kemudian anda hapus semua isinya dan anda ganti dengan ini:

#! /bin/sh
#
# squid        Startup script for the SQUID HTTP proxy-cache.
#
# Version:    @(#)squid.rc  2.20  01-Oct-2001  miquels@cistron.nl
#
### BEGIN INIT INFO
# Provides:          squid
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Should-Start:      $named
# Should-Stop:       $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Squid HTTP Proxy
### END INIT INFO

NAME=squid
DAEMON=/usr/sbin/squid
LIB=/usr/lib/squid
PIDFILE=/var/run/$NAME.pid
SQUID_ARGS="-D -YC"

[ ! -f /etc/default/squid ] || . /etc/default/squid

. /lib/lsb/init-functions

PATH=/bin:/usr/bin:/sbin:/usr/sbin

[ -x $DAEMON ] || exit 0

grepconf () {
    w="     " # space tab
    sq=/etc/squid/squid.conf
    # sed is cool.
    res=`sed -ne '
        s/^'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
        t end;
        d;
        :end q' < $sq`
    [ -n "$res" ] || res=$2
    echo "$res"
}

grepconf2 () {
    w="     " # space tab
    sq=/etc/squid/$NAME.conf
    # sed is cool.
    res=`sed -ne '
        s/^'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
        t end;
        d;
        :end q' < $sq`
    [ -n "$res" ] || res=$2
    echo "$res"
}

#
#    Try to increase the # of filedescriptors we can open.
#
maxfds () {
    [ -n "$SQUID_MAXFD" ] || return
    [ -f /proc/sys/fs/file-max ] || return 0
    global_file_max=`cat /proc/sys/fs/file-max`
    minimal_file_max=$(($SQUID_MAXFD + 4096))
    if [ "$global_file_max" -lt $minimal_file_max ]
    then
        echo $minimal_file_max > /proc/sys/fs/file-max
    fi
    ulimit -n $SQUID_MAXFD
}

start () {
    cdr=`grepconf2 cache_dir /var/spool/$NAME`
    ctp=`grepconf cache_dir ufs`

    case "$cdr" in
        [0-9]*)
            log_failure_msg "squid: squid.conf contains 2.2.5 syntax - not starting!"
            log_end_msg 1
            exit 1
            ;;
    esac
   
    #
    # Create spool dirs if they don't exist.
    #
    if [ -d "$cdr" -a ! -d "$cdr/00" ] || [ "$ctp" = "coss" -a ! -w "$cdr" ]
    then
        log_warning_msg "Creating squid cache structure"
        $DAEMON $SQUID_ARGS -z
    fi

    if [ "$CHUID" = "" ]; then
        CHUID=root
    fi

    #maxfds
       ulimit -n 8192
    umask 027
    start-stop-daemon --quiet --start \
        --pidfile $PIDFILE \
        --chuid $CHUID \
        --exec $DAEMON -- $SQUID_ARGS < /dev/null
    return $?
}

stop () {
    PID=`cat $PIDFILE 2>/dev/null`
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --name squid
    #
    #    Now we have to wait until squid has _really_ stopped.
    #
    sleep 2
    if test -n "$PID" && kill -0 $PID 2>/dev/null
    then
        log_action_begin_msg " Waiting"
        cnt=0
        while kill -0 $PID 2>/dev/null
        do
            cnt=`expr $cnt + 1`
            if [ $cnt -gt 24 ]
            then
                log_action_end_msg 1
                return 1
            fi
            sleep 5
            log_action_cont_msg ""
        done
        log_action_end_msg 0
        return 0
    else
        return 0
    fi
}

case "$1" in
    start)
    log_daemon_msg "Starting Squid HTTP proxy" "squid"
    if start ; then
        log_end_msg $?
    else
        log_end_msg $?
    fi
    ;;
    stop)
    log_daemon_msg "Stopping Squid HTTP proxy" "squid"
    if stop ; then
        log_end_msg $?
    else
        log_end_msg $?
    fi
    ;;
    reload|force-reload)
    log_action_msg "Reloading Squid configuration files"
    $DAEMON -k reconfigure
    log_action_end_msg 0
    ;;
    restart)
    log_daemon_msg "Restarting Squid HTTP proxy" "squid"
    stop
    if start ; then
        log_end_msg $?
    else
        log_end_msg $?
    fi
    ;;
    status)
    status_of_proc -p "$PIDFILE" "$DAEMON" squid && exit 0 || exit $?
    ;;
    *)
    echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart|status}"
    exit 3
    ;;
esac

exit 0




copas aja langsung dari blog ini ke putty. kalau sudah anda tekan ctrl+x terus anda ketik y terus enter untuk menyimpan hasil perubahan isi di /etc/init.d/squid. terus anda ketik perintah lagi :

root@proxyku:~# chmod +x /etc/init.d/squidkalau sudah kita bisa stop squidnya dengan perintah:
root@proxyku:~# /etc/init.d/squid stop

kalau sudah anda download dulu squid.conf di sini squid.conf download
terus anda pastekan ke ubuntu lewat WinSCP.
Bagi yang bingung remote dengan winscp, isi Hostname dengan  IP addressnya ubuntu (192.168.3.2 ) Username : root password : proxyku .
terus anda tinggal drag and drop file yang ada di cpu anda ke cpu ubuntu.
kalua sudah anda lanjutkan dengan Memberikan permission pada folder cache dengan perintah :
root@proxyku:~#chown proxy:proxy /cache
root@proxyku:~#chmod 777 /cache
root@proxyku:~#chown proxy:proxy /etc/squid/storeurl.pl
root@proxyku:~#chmod 777 /etc/squid/storeurl.pl

kalau sudah selesai lanjuutkan dengan membuat folder-folder swap/cache di dalam folder cache yang telah ditentukan dengan perintah :
root@proxyku:~#squid -f /etc/squid/squid.conf -z 


lalu anda restart squidnya dengan perintah :
root@proxyku:~#/etc/init.d/squid restart

kalau sudah selesai anda setting mikrotiknya seperti dibawah ini :


IP FIREWALL ADDRESS-LIST :
0   ;;; LocalNet
LocalNet                                                            192.168.2.0/24 — IP Network local 
1   ;;; PROXY
ProxyNet                                                           192.168.3.0/24  – IP Network Proxy


IP FIREWALL NAT :
0;;;; Nat Proxy
chain=dstnat action=dst-nat to-addresses=192.168.3.2 to-ports=3128 protocol=tcp src-address=!192.168.3.2

src-address-list=LocalNet dst-address-list=!ProxyNet dst-port=80,8080,3128
connection-mark=http-conn

1   Nat Local
chain=srcnat action=masquerade out-interface=ether1-gateway src.address: IP Network Local
2 . Nat Proxy 
chain=srcnat action=masquerade out-interface=ether1-gateway src.address: IP NetworkProxy
3  ;;; Proxy Out
chain=srcnat action=src-nat to-addresses=IP INTERNET ANDA/IP PUBLIC misalnya 192.168.1.2
src-address=IP LOKAL ANDA misalnya 192.168.2.1 
4   chain=dstnat action=dst-nat to-ports=53 protocol=udp dst-port=53
5.  chain=dstnat action=dst-nat to-ports=53 protocol=tcp dst-port=53
6.  SSH
chain=dstnat action=dst-nat to-addresses=192.168.11.11 to-ports=22
protocol=tcp dst-address=IP INTERNET ANDA/IP PUBLIC dst-port=22,10000

SAMPAI DISINI KITA SUDAH SELESAI MEMBUAT MIKROTIK + EXTERNAL PROXY UBUNTU SERVER 10.10
Bagaimana kita bisa tahu bahwa squid proxy kita sudah jalan???? kita balik maneng neng Putty kita tulis perintah :

root@proxyku:~#tail -f /var/log/squid/access.log   enter
  Untuk bandwidth management lihat kesini http://trezdaniel.blogspot.com/2011/08/mikrotik-dengan-ubuntu-server-1010-part.html

3 komentar:

  1. salam
    nice tutorial masbro..
    BTW untuk file squid.conf nya kok hasil unduhannya failed yaa...
    tidak ada isinya. padahal saya tidak menggunakan Dnlot manager. saya menggunakan bawaan browser
    klo bisa tolong aktifin lagi dong link yang lain
    makasih sebelumnya
    wassalam

    BalasHapus
  2. ingin membuat squid stop >>nano /etc/init.d/squid>>ketika di lakukan copa tidak mau disimpan ""error writing /etc/init.d/squid:pemission denied"" mohon pencerahan

    BalasHapus
  3. perhatian yang coba cara ini di jamin GATOT................

    BalasHapus

Pengikut