Minimal Configurasi Squid3 TKJ SMK Teruna

Minimal Configurasi Squid3 TKJ SMK Teruna - Proxy adalah Sebuah komputer/ server yang di gunakan untuk merquest content dari internet maupun intranet, dan bertindak sebagai gateway client.


Proxy memiliki banyak kegunaan diantaranya adalah :
  1. Untuk mempercepat browsing karena melakukan chacing /penyimpanan content yang berulang-ulang, 
  2. Mengamankan jaringan private yang terhubung ke jaringan publik.
  3. Caching DNS, 
  4. Caching situs web, 
  5. dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama.
1. Matikan service Squid yang berjalan dengan perintah :
/etc/init.d/squid3 stop
2. Backup Configurasi Squid3 sebelum di configurasi.
cp /etc/squid3/squid.conf /etc/squid3/squid.conf-backup
3. Edit Configurasi Squid
nano /etc/squid3/squid.conf
4. Cari http_port dan hilangkan tanda # nya & Tambahi tulisan transparent didepannya
http_port 3128 transparent 
cache_mem 16 mb
cache_dir ufs /var/spool/squid 500 16 256
cache_mgr admin@localhost

visible_hostname terunapsp.id
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off


acl situs url_regex -i "/etc/blokir.txt"
http_access deny situs
acl lan src 192.168.14.0/25
5. buat file regex sesuai path yang ada di configurasi proxy-caching
nano /etc/blokir.txt
ubah permisionnya
chmod 777 /etc/blokir.txt
ubah kepemilikan owner dan group dari file /etc/blokir.txt
chown proxy:proxy /etc/blokir.txt
Atau kalau mau lebih simple, sebenernya cukup buka squid.conf :

nano /etc/squid3/squid.conf
tambahi tulisan acl localhost 192.168.0.0/24

ip 192.168.0.0/24 merupakan network host, dari client proxynya, untuk tuning dan kebutuhan yang lebih kompleks, silahkan di google, sudah banyak yang menulisnya termasuk untuk cache kontent dinamis, dan https (baik intercept maupun TProxy ).

Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan

Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan - Tulisan Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan dokumentasi saya lagi, sejak hosting blog jasa setting mikrotik hilang lari ntah kelaut mana pengelolanya. Loadbalancing adalah teknik menggabungkan beberapa source koneksi didalam satu router.

Teknik loadbalancing sering kali di salah artikan, dengan menganggap bahwa dengan loadbalancing 2 buah koneksi dengan bandwidth yang berbeda akan terakumulasi menjadi satu kesatuan. Kalau di ibaratkan dalam hitungan matematikanya kesalahan itu kira kira begini:

2mbps + 1mbps = 3mbps

Pemikiran tersebut merupakan pemikiran dan pemahaman yang salah terhadap loadbalancing, teknik loadbalancing sendiri bukan menggabungkan bandwidth menjadi satu kesatuan, namun membagi beban keneksi terhadap beberapa source koneksi yang ada, kalau di matematika kan mungkin seperti berikut

2mbps + 1mbps = 1/2mbps +1/2mbps +1/2mbps +1/2mbps+1/2mbps+1/2mbps

Seperti itulah sebenernya konsep sederhana loadbalancing. membagi beban trafik ke beberapa source koneksi yang ada, sehingga terjadi keseimbangan penggunaan pada masing-masing source koneksi internet yang di gunakan, dalam arti paket di bagi rata, dan menghindari overload terhadap satu jalur koneksi.


Teknik loadbalancing Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan banyak jenisnya, pertama kali yang populer dengan konsep loadbalancing NTH, saya juga tidak tahu, mungkin tulisan yang di ambil dari forum mikrotik tentang loadbalancing dapat sedikit memberi pencerahan buat anda, apa itu nth berikut saya cuplik sebagian dari --> http://baratev.sourceforge.net/stuff/mt.nthloadbalance.txt

#######################################################
Konsep dan Terapan NTH utk Loadbalancing pada Mikrotik
#######################################################

I N T R O
---------

O-----------------------------------------------------------------------------------

nth (integer,integer: 0..15,integer{0,1}) - match a particular Nth packet received
by the rule. One of 16 available
counters can be used to count packets

Every - match every Every+1th packet. For example, if Every=1 then the rule matches
every 2nd packet
Counter - specifies which counter to use. A counter increments each time the rule
containing nth match matches
Packet - match on the given packet number. The value by obvious reasons must be
between 0 and Every. If this option is used for a given counter, then
there must be at least Every+1 rules with this option, covering all values
between 0 and Every inclusively.
O-----------------------------------------------------------------------------------

nth ada 3 bagian

bilang lah A,B,C
A = every
B = counter
C = packet

setelah gw baca lagi dan lagi dan lagi manual diatas

sampe sekarang gw gak ngerti2 dari ketiga bagian diatas.

jika pake 2 line load balance ada yang buat :
every 1 counter 1 packet 0 <-- line 1
every 1 counter 1 packet 1 <--- line 2

ada juga yang buat : 1,2,0 - 1,2,1


Pemahaman Saya Mengenai Nth:

Pada dasarnya koneksi yang masuk ke proses di router akan menjadi satu arus yang sama,
walaupun mereka datang dari interface yang berbeda. (well, this one is debatable)

Saat kita ingin menerapkan metode Nth, tentunya kita juga memberikan batasan ke router
untuk hanya mem-proses koneksi dari sumber tertentu saja (ex. dari IP lokal).

Nah, begitu router telah membuat semacam 'antrian' baru untuk batasan yang kita
berikan diatas, baru proses Nth dimulai.


#Every

Angka Every adalah jumlah kelompok yang ingin dihasilkan. Jadi bila kita ingin
membagi alur koneksi yang ada menjadi 4 kelompok yang nantinya akan di load balance
ke 4 koneksi yang ada, maka angka Every = 4.

Namun, setelah saya bandingkan manual yang ada di Mikrotik dengan penjelasan tentang
penerapan Nth di Linux, ada perbedaan disini.

Pada Mikrotik, angka Every harus dikurangkan 1, hingga bila mengikuti contoh diatas,
maka kita harus mengisikan Every = 3. Hal ini mungkin dikarenakan proses Nth di
Mikrotik akan menerapkan Every+1 (lihat manual) pada pengenalan koneksinya.

Jadi, kesimpulan sementara saya, bila kita ingin membagi 2 kelompok, maka :

- Pada Linux, Every = 4
- Pada Mikrotik, Every = 3


#Counter

Angka Counter dapat diisikan angka 0-15. Maksudnya adalah menentukan counter mana
yang akan kita pakai. Pada Mikrotik terdapat 16 Counter yang dapat dipakai, hal
ini juga sama dengan penerapan yang ada di Linux.

Setelah Diskusi dengan bro D3V4, ternyata penerapan counter cukup berpengaruh.
Jadi kesimpulan sementara, counter sebaiknya diset ke every+1 untuk Mikrotik


#Packet

Nah, kita sampe ke parameter terakhir. Parameter terakhir cukup menentukan.

Bila kita ingin membuat 4 kelompok, tentunya kita harus membuat 4 mangle rules.
Nah, pada rules tersebut, angka untuk Every dan Counter haruslah sama. Namun untuk
angka packet harus berubah.

Untuk 4 kelompok, berarti angka packet untuk 4 rules tersebut adalah 0,1,2 dan 3.
Angka tersebut ditentukan dari 0 ... (n-1).

Penerapan angka Packet untuk Linux dan Mikrotik sama.

Contoh

Mari kita ambil contoh untuk penerapan Nth untuk 4 koneksi. Maka Angka Nth untuk
masing2 rule di Mikrotik adalah (counter yg dipakai adalah 4) :

Rule 1 = 3,4,0
Rule 2 = 3,4,1
Rule 3 = 3,4,2
Rule 4 = 3,4,3


T E O R I
---------

tcp connections 3 way handshake

1. connection establishment
2. data transfer
3. connection termination

dengan tahapan sbb :
1. LISTEN
2. SYN-SENT
3. SYN-RECEIVED
4. ESTABLISHED
5. FIN-WAIT-1
6. FIN-WAIT-2
7. CLOSE-WAIT
8. CLOSING
9. LAST-ACK
10. TIME-WAIT
11. CLOSED

jika teori gw bener (CMIIW lagi ) proses mangle itu memotong di nomer 4

alias connection nya belum ketutup tapi udah request baru lagi (new connections state)
jadi dengan kata lain :

kenoksi masih kebuka udah ngerequest ke gateway yang lainnya ... jadi semua speedy
yang kita punay kebuka dan di gunakan.

jadi walaupun kedetek ip speedy 1 tetapi bebannya masih kebagi ke sebanyak n-th
yang kita punya.. ROUND ROBIN !


Nah Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan, loadbalancing nth yang saya gunakan di SMK Swasta Teruna Padangsidimpuan.

/ip firewall mangle

add action=jump chain=prerouting connection-state=new jump-target=lb
add action=mark-connection chain=lb connection-state=new dst-port=80,8080 in-interface=WIFI new-connection-mark=1-CN nth=2,2 protocol=tcp
add action=mark-routing chain=lb connection-mark=1-CN in-interface=WIFI new-routing-mark=1 passthrough=no
add action=mark-connection chain=lb connection-state=new dst-port=80,8080 in-interface=WIFI new-connection-mark=2-CN nth=2,1 protocol=tcp
add action=mark-routing chain=lb connection-mark=2-CN in-interface=WIFI new-routing-mark=2 passthrough=no
add action=mark-connection chain=prerouting disabled=yes layer7-protocol=download new-connection-mark=lab-con src-address-list=IP
Semoga bermanfaat dan dapat memahami nthnya - Loadbalancing NTH Mikrotik 2 Line Smk Teruna Padangsidimpuan

Cara Membuat DDNS Afraid Ke Mikrotik

Jasa Setting Mikrotik - Cara Membuat DDNS Afraid Ke Mikrotik - Cara Membuat DDNS Afraid Ke Mikrotik - langkah pertama tentunya harus mendaftar dahulu di penyedia ddns gratisan, seperti afraid.org. Pada kasus ini saya buat di afraid Tempat daftar silahkan klik afraid.org 

Cara Membuat DDNS Afraid Ke Mikrotik - teknik ini juga bekerja untuk koneksi speedy yang dial di modem, seperti modem gpon. Bekerja dengan baik meskipun dial tetap di modem, dan jangan lupa untuk membuat port forwading di modem GPON, biar tetap bisa di remote mikrotiknya dari jauh.

Kalau udah di register, Klik menu registry

Klik salah satu domain, sebagai contoh saya pilih us.to


Isikan subdomain pada kotak yang saya tandai merah. misalnya saya buat pababinjai. Kemudian klik tombol Save


 Klik Menu Dynamic DSN di sebelah kanan 


Klik kanan pada Direct Url

Pilih Copy Link Location 


Paste Codenya yang speerti ini di notepad
http://freedns.afraid.org/dynamic/update.php?V3ByVzZ1VmJJaTVZTTBhcU5VS0I6ODQ1NjIxOA== 

Jika kode yang di copy https, hilangkan saja s nya pada tulisan http sehingga terlihat seperti diatas. Bukan url https

Paste kode di bawah ini juga di notepad yang sama,

# Update DNS on Freedns.afraid.org
:global host "freedns.afraid.org"
:global url "urlddns"

/tool fetch url=$url host=$host

Pada code diatas ini tulisan urlddns ganti dengan link yang kita ambil dari Afraid tadi,, tampilannya jadinya seperti ini ..

# Update DNS on Freedns.afraid.org
:global host "freedns.afraid.org"
:global url "http://freedns.afraid.org/dynamic/update.php?V3ByVzZ1VmJJaTVZTTBhcU5VS0I6ODQ1NjIxOA=="

/tool fetch url=$url host=$host

Nah code terakhir ini yang kita masukkan koe mikrotik di menu

Klik System -> Scripts
Klikt tanda + warna merah untuk menambahkan script.
Paste code yang tadi kita buat di notepad di source.
Namenya buat saja DDNS biar nanti kita buat schedulenya.


Klik OK untuk menyimpan.


Cara Membuat DDNS Afraid Ke Mikrotik - selesai

Create Input data ke database dengan php

Mandailing Natal - Create Input data ke database dengan php - terasa aneh ya judulnya Create Input data ke database dengan php, lebih agak enak mungkin di dengar CRUD (cread read update delete) database pada pemrograman php, Create Input data ke database dengan php di buat aneh biar isinya berasa makin aneh.. kan gak masalah.. toh Create Input data ke database dengan php cuma belajar mendokumentasikan, kebetulan sebagai bahan tulisan juga. Selain CRUD bisa juga di sebut dengan INPUT LIHAT UBAH HAPUS data dengan php.


Creat Input data ke database dengan php - biarlah di sebut begitu saja. yang penting simple mudah dan tidak merepotkan. Atau mudahnya bolehlah di sebut juga cara Memasukkan Data kedalam mysql dengan php.

Nah soal input data kedalam database, tentunya kita harus mengerti dulu sedikit banyaknya soal HTML, ya bahasa markup yang terkenal itu lho, yah baiklah kalo tidak tau apa itu html, mandailing natal sebut aja kepanjangannya ya, HTML adalah Hypertext Markup Language. Bahasa markup yang di gunakan untuk melingkupi code dari bahasa php yang kita buat, ya pada dasarnya tampilan seluruh web mungkin boleh disebut di buat dengan bahasa html, dan css, plus java script, jquery dan lain-lainnya.  Kalo udah tau ya syukurlah,, saya juga tidak terlalu faham dengan cerita-cerita html dan saya tidak tertarik menceritakannya disini,, bisa tulisannya sampe minggu depan baru selesai kalau itu juga di ceritakan. Ok anggaplah anda telah mengerti itu apa html.

Pertama sekali sebelum membuat input data dari php ke mysql, baiknya di buat dulu database di webservernya, kebetulan pake appserv, kamu bisa buat tuh databasenya dari phpmyadmin appserv, lewat link berikut di browser kesayanganmu

http://localhost/phpmyadmin

Jika sudah, buat aja tampilannya seperti gambar berikut:

Nah gambar diatas artinya.
  • Buat database bernama teruna
  • buat tabel bernama data_siswa dengan field id_siswa, nisn_siswa, nama_siswa dan jangan lupa khusus untuk id_siswa activkan extra=auto_increment dan klik gambar kunci (PRIMARY KEY)
  • Klik simpan. 
Kemudian buat file koneksi.php di directory webserver yang kita mau, kebetulan disini di buat di folder/directory latihan, kemudian isikan file seperti berikut didalam koneksi.php

<?php
$host="localhost"; //alamat localhost
$user="root"; //user phpmyadmin
$password="12345"; //pass phpmyadmin
$db="teruna"; //nama database
$koneksi=mysql_connect($host,$user,$password) or die (mysql_error());
mysql_select_db($db, $koneksi) or die (mysql_error());
?>

Simpan file diatas dengan nama koneksi.php simpan di folder www appserv (webserver yang di gunakan) buka dari browser file yang disimpan tadi, ada error atau tidak. Kalau ada error silahkan di chek codenya dengan benar dan di sesuaikan dengan configurasi phpmyadmin dan mysql yang kita gunakan.

Bingung ya apa... kalo bingung ya wajar... www.mandailingantal.com juga pertama sekali mengenal php itu bingung juga.. karena kebingungang itulah makanya kita belajar bersama, sekalianlah buat saya berbagi sedikit dari sedikit yang saya tau.

$host="localhost"

Fungsinya itu variable yang mendeklarasikan server atau ip dari server databasenya, localhost boleh juga di ganti dengan ip loopback, yaitu angka 127.0.0.1 (ditulis angka 127.0.0.1) sebagai pengganti tulisan localhost.

$user="root";

Fungsinya variable $user="root", untuk mendeklarasikan user phpmyadmin yang di localhost

$password="12345";

fungsinya untuk mendeklarasikan password phpmyadmin dari webserver kita, kalau tidak pernah men-set password untuk phpmyadminnya ya kosongkan aja, kebetulan appserv saat di install diset passwordnya 12345 makanya variable $password="12345";

Kalau pake Xampp biasanya di kosongin aja, tergantung kamu deh.. sesuai webservernya aja ya..

$db="teruna";

fungsinya variabel $db="teruna", ya mendeklarasikan database apa yang ada di phpmyadmin kita, yang akan kita gunakan sebagai database penampung tabel database yang akan kita set nanti di input data yang kita buat, atau kita tampilkan ke browser apa isinya.

$koneksi=mysql_connect($host,$user,$password) or die (mysql_error());

$koneksi=mysql_connect($host,$user,$password) or die (mysql_error()) artinya koneksikan dong phpnya dengan mysql.. makanya mysql_connect dia, memerintahkan php untuk mengkoneksikan diri ke mysql dengan informasi user, password dan host yang kita set di variable atasnya

mysql_select_db($db,$koneksi);

nih artinya pilih database dengan informasi di variable $db;

Selanjutnya apa?

ya buat form inputnya dong pake html, makanya saya bilang sebelumnya harus mengerti sedikit soal html, biarpun tidak mengerti cobalah fahami sedikit kode html berikut:

<html>
    <head>
        <title>Input Data Siswa</title>
    </head>
<body>
<h1>Input data </h1>
<form action="tambah_data.php" method="POST">
<table>
    <tr>
        <td> Nisn </td>
        <td><input type="text" name="nisn_siswa" /> </td>
    </tr>
    <tr>
        <td> Nama </td>
        <td><input type="text" name="nama_siswa" /> </td>
    </tr>
    <tr>
        <td><input type="submit" name="ok" value="Tambah"></td>
    </tr>
</form>
</body>
</html>
simpan dengan nama input_data.php simpan di wwwnya appserv. Kemudian buat file baru bernama tambah_data.php

<?php
include('koneksi.php'); //fungsinya untuk memanggil halaman koneksi yang kita buat sebelumnya
$nisn=$_POST['nisn_siswa']; //memproses file yang dikirim dari browser ke php berdasar variable nisn_siswa
$nama=$_POST['nama_siswa']; //memproses file yang di kirim berdasar file html pada variabel nama_siswa

mysql_query("INSERT INTO data_siswa VALUES('','$nisn','$nama')");
echo "Sukses Tambah Data"; //pesan sukses/gagal tambah data
?>

simpan di folder yang sama dengan  koneksi.php, input_data.php, tambah_data.php  Kode inilah yang memproses inputan /ketikan di html dan mengirimkannya kedalam database.

Dengan kode sesingkat diatas, sebenernya kita sudah bisa memasukkan data kedalam database, namun masih banyak kekurangnanya. Mungkin kita tidak ingin ada data kosong didalam database, kita bisa menerapkan fungsi isset untuk memvalidasi apakah variable sudah terisi atau belum. Nah dengan fungsi ini kita harus mengerti sedikit lagi bahasa pemrograman php yaitu bagian kondisi if.

Logikanya untuk memvalidasi data diatas apakah variabel sudah terisi atau belum misalnya seperti ini. Apakah tombol Tambah sudah di klik atau Enter, jika sudah di klik maka input data kedalam database, jika variable nisn_siswa dan nama_siswa di tidak disi di form htmlnya, maka keluarkan pesan error yang mewajibkan user harus mengisinya.

Kalau menggunakan sedikit validasi sederhana yang menampilkan pesan error ketika form kosong, dan pesan sukses memasukkan kedatabase ketika form sudah terisi bisa menggunakan code seperti ini :

<?php
if(isset($_POST['ok']))
{
include('koneksi.php'); //fungsinya untuk memanggil halaman koneksi yang kita buat sebelumnya
$nisn=$_POST['nisn_siswa']; //memproses file yang dikirim dari browser ke php berdasar variable nisn_siswa
$nama=$_POST['nama_siswa']; //memproses file yang di kirim berdasar file html pada variabel nama_siswa
if(empty($nisn) || empty($nama)){
echo " Form tidak boleh ada yang kosong";
}
else
{
mysql_query("INSERT INTO data_siswa VALUES('','$nisn','$nama')");
echo "Sukses Tambah Data"; //pesan sukses/gagal tambah data

}
}
?>

Cara membaca kode diatas :

Jika tombol tambah /pastikan tombol tambah disentuh (kenapa dipasikan disentuh ?). Maka ingatlah satu hal bahwa, kondisi if else secara default memiliki nilai true (benar). Maknanya adalah jika tombol Tambah di sentuh, di enter, maka buka file koneksi.php kemudian tampung inputan yang di html kedalam variabel $nisn dan $nama, kemudian chek apakah viariabel $nisn dan $nama dikosongkan atau tidak, jika kosong keluarkan pesan Form tidak boleh ada yang kosong . Namun jika sebaliknya, simpan inputan yang di ketik di html kedalam database.

Perhatikan urusan nilai VALUES pada mysql_query yaitu bagian (' ','$nisn','$nama')");

Sebelum tulisan $nisn, ada tuh tanda kutip dua kali ' '  atau boleh di ganti dengan tulisan NULL. 
Pada bagian yang di warnai merah, harus di sesuaikan urutannya dengan kolom yang ada di tabel_siswa.  yaitu kolom ke berapa yang menampung nisn dan kolom ke berapa yang menampung nama, jangan terbalik seperti ini (' '. '$nama','$nisn) urusan ini sudah salah karena kolom database kita, di kolom pertama adalah id_siswa kolom kedua nisn_siswa dan kolom ketiga nama_siswa.

Mudah-mudahan tulisan ini bermanfaat, di lain kesempatan posting yang akan di buat, cara menampilkan isi database dengan php