Friday, December 28, 2007

maksud forward dan reserve pada pembuatan DNS

Membangun DNS Server
Komunikasi data dalam jaringan komputer menggunakan IP Address sebagai alamat setiap host. Sulit bagi manusia untuk mengingat banyak nomor IP untuk mengakses suatu host dalam jaringan intranet maupun internet. Domain Name System (DNS) mengubah nama domain (misal: www.alphamedia.co.id) menjadi Ip address (192.168.9.110) agar lebih mudah diingat.
Intoduction to DNS
Sebelum membahas DNS lebih dalam, penting bagi kita untuk mengerti beberapa hal mendasar dalam membangun system ini.
DNS Domain
Domain merupakan suatu identitas/pengenal keberadaan suatu kelompok/organisasi di internet. Dengan nama ini orang lain akan mengakses host yang berada dalam domain kita. Dalam domain juga terdapat sub-domain yang bisa juga sebagai nama masing-masing host tersebut.
BIND
BIND merupakan singkatan dari Berkeley Internet Name Domain, suatu kelompok yang membuat sistem DNS yang berjalan pada Linux. Program yang dihasilkan untuk menjalankan DNS server dikenal sebagai named, merupakan daemon yang bertugas untuk menjawab DNS query dari remote machines.
DNS Client
Suatu komputer klien tidak mempunyai database nama domain komputer, klien ini akan meminta DNS server untuk menerjemahkan nama domain menjadi nomor IP. Pada Linux, untuk mengkonfigurasikan DNS server dapat dilakukan dengan memodifikasi file /etc/resolv.conf dan meletakkan nama DNS server pada file ini.
Authoritative DNS Server
Authoritative server menyediakan informasi lengkap suatu domain. Server inilah yang berhak menjawab query terhadap nama domain yang telah definisikan. Misalnya server 192.168.9.3 dijadikan sebagai authoritative server untuk domain alphamedia.co.id.
Bagaimana DNS Server Menemukan Informasi Domain suatu Site
Dalam jaringan internet, terdapat sekitar 13 root authoritative server (super DNS) yang akan di-query pertama kali oleh semua server DNS didunia untuk mencari keberadaan suatu domain. Super DNS ini menyimpan semua informasi tentang authoritative server setiap domain – com, net, org, dll -. Sebagai contoh, jika kita mendaftarkan domain-kita.com, maka root DNS hanya menyimpan nomor IP authoritative server yang berhak menjawab query terhadap domain-kita.com. Selanjutnya administrator domain-kita.com yang akan mendefinisikan Ip address untuk domain ini atau bisa juga menambahkan record sub-domain lainnya.
Menggunakan DNS Caching Name Server
Kebanyakan server tidak langsung meng-query authoritative server, tetapi lebih cenderung meng-query caching DNS. Caching DNS menyimpan (sementara) informasi yang sering di-qurey. Jadi query bisa berlangsung lebih cepat tanpa harus menghubungi authoritative server yang bersangkutan atau root DNS.
Testing DNS dan DNS Resolution
DNS memetakan nama domain menjadi Ip address, seperti alphamedia.co.id menjadi 192.168.9.1. Ini dinamakan dengan forward lookup. Sebaliknya untuk memetakan Ip address menjadi domain dinamakan reverse lookup, yang memetakan ip address menjadi nama domain. Dalam beberapa hal, banyak domain menggunakan satu ip address sehingga reverse lookup menjadi tidak sesuai. Sehingga pada reserve lookup lebih umum me-resolve ip address menjadi nama domain dari ISP. Ada beberapa command yang digunakan untuk melakukan testing DNS, yaitu perintah host dan nslookup.
Menggunakan Perintah host
Perintah ini digunakan pada Linux untuk mendapatkan ip address dari suatu domain, misalnya:
[root@centos ~]# host alphamedia.co.id
alphamedia.co.id has address 192.168.9.110
Menggunakan Perintah nslookup
Perintah ini dapat digunakan pada Windows dan Linux untuk mendapatkan ip address dari suatu domain, misalnya:
[root@centos /]# nslookup alphamedia.co.id
Server: 192.168.9.100
Address: 192.168.9.100#53
Name: alphamedia.co.id
Address: 192.168.9.110
Installasi Paket BIND
Paket installasi BIND pada RedHat, CentOS dan Fedora tersedia dalam format RPM. Paket file yang diinstall adalah:
Å bind-9.2.4-2
Å bind-utils-9.2.4-2
Å bind-libs-9.2.4-2
Å bind-chroot-9.2.4-2
File bind-9.2.4-2 adalah paket server DNS itu sendiri, sedangkan beberapa file lain merupakan aplikasi pendukung atau utility yang digunakan dalam bekerja dengan DNS. Pada umumnya saat awal melakukan installasi server CentOS / Redhat paket-paket ini sudah terinstall secara default. Jika belum terinstall maka dapat dilakukan dengan cara:
[root@centos /]# rpm –ivh bind-9.2.4-2
[root@centos /]# rpm –ivh bind-utils-9.2.4-2
[root@centos /]# rpm –ivh bind-libs-9.2.4-2
[root@centos /]# rpm –ivh bind-chroot-9.2.4-2
Menjalankan Service BIND
Untuk men-start, stop me-restart BIND secara manual dapat dilakukan dengan cara:
[root@centos /]# service named stop
Stopping named: [ OK ]
[root@centos /]# service named start
Starting named: [ OK ]
[root@centos /]# service named restart
Stopping named: [ OK ]
Starting named: [ OK ]
Note: Setiap kali melakukan perubahan konfigurasi BIND, maka service ini perlu di-restart.
File /etc/resolv.conf
DNS client pada Linux menggunakan file ini sebagai informasi untuk menentukan DNS server. Dalam file ini terdapat record yang terdiri dari dua kolom. Kolom pertama merupakan keyword dan kolom kedua adalah nilai dari keyword tersebut. Keyword yang digunakan oleh adalah:

Keyword
Value
nameserver
IP Address dari nameserver
domain
Local domain yang di-query secara default
search
Nama domain yang akan di-query tanpa harus menyebutkan domainnya, cukup nama host.

Sebagai contoh isi dari file /etc/resolv.conf adalah:
search alphamedia.co.id
nameserver 192.168.9.1
nameserver 192.168.9.2
Baris pertama dari file ini seharusnya adalah nama domain dari network yang anda miliki.
Konfigurasi Caching Nameserver
Secara default installasi DNS Server pada CentOS/RedHat merupakan Caching Nameserver.
File Konfigurasi BIND
Secara normal, BIND menggunakan beberapa file sebagai konfigurasinya, antara lain /etc/named.conf, /var/named/*. Namun untuk alasan keamanan supaya Hacker tidak bisa masuk kedalam keseluruhan server, maka digunakan chroot jail. Dengan menentukan /var/named/chroot sebagai chroot jail bagi named, maka bind menganggap bahwa direktori tersebut (/var/named/chroot) merupakan root direktori. Untuk mengetahui apakah bind berjalan menggunakan chroot atau tidak dapat dilihat dari installasi add-on:
[root@centos /]# rpm -q bind-chroot
bind-chroot-9.2.4-2
Tabel letak file konfigurasi BIND pada CentOS / RedHat

File
Purpose
BIND chroot file
Regular BIND File
named.conf
Konfigurasi utama dan deklarasi zone file.
/var/named/chroot/etc
/etc
mdc.key
mdc.conf
File authentifikasi named
/var/named/chroot/etc
/etc
Zone files
Database yang berisi mapping domain ke ip address, dan beberapa info lain.
/var/named/chroot/var/named
/var/named

Mengkonfigurasikan Nameserver Regular
Server DNS yang dibuat perlu direferensikan untuk menggunakan DNS service yang ada padanya sendiri dengan memodifikasi /etc/resolv.conf.
Nameserver 127.0.0.1
Mengkonfigurasikan named.conf
File /etc/named.conf atau /var/named/chroot/etc/named.conf berisi konfigurasi utama dari DNS Server, dan memberikan informasi kepada BIND dimana keberadaan zone file. Dalam hal ini kita mendefinisikan forward zone untuk alphamedia.co.id:
zone "alphamedia.co.id" IN {
type master;
file "alphamedia.co.id.zone";
allow-query { any; };
};
Jika terdapat domain lain dapat juga disisipkan pada akhir baris, sebagai contoh:
zone "domain-kita.com" IN {
type master;
file "alphamedia.com.zone";
allow-query { any; };
};
Note: baris allow-query menyatakan bahwa seluruh network dapat melakukan query terhadap zone ini. Untuk membatasi query pada network tertentu dapat dilakukan dengan cara:
allow-query { 192.168.9.0/24; };
Selanjutnya membuat konfigurasi untuk reserve zone.
zone "9.168.192.in-addr-arpa" IN {
type master;
notify no;
file “192-168-9.zone”;
};
Membuat Zone File
Terdapat beberapa hal yang perlu diingat ketika melakukan konfigurasi DNS zone:
Å Setiap zone file dapat berisi komentar pada akhir baris dengan memberikan tanda semicolon (;).
Å Secara default zone file terletak pada direktori /var/named atau /var/named/chroot/var/named.
Å Setiap zone file terdiri dari beberapa record: SOA, NS, MX, A dan CNAME yang mempunyai area berbeda pada BIND.
Time to Live
Entri pertama dari zone file adalah TTL (Time To Live), yang berisi waktu yang digunakan oleh caching nameserver untuk menyimpan informasi ini. Jika waktu yang diset adalah 3 hari, maka caching nameserver lain yang menyimpan record ini akan mempertahankan cache-nya selama waktu tersebut.
DNS Resource Record
Baris selanjutnya adalah DNS Resource Record yang merupakan definisi informasi dari zone. Format yang digunakan adalah:
Name Class Type Data
Terdapat perbedaan type dari record untuk mail (MX), forward lookups (A), reverse records (PTR), alias (CNAME), Start of Authority (SOA).
SOA Record
Record pertama dalam Resource Record adalah Start of Authority (SOA) yang berisi informasi administrasi umum dan informasi kontrol tentang domain. Format SOA adalah:
Name Class Type Name-Server Email-Address Serial-No Refresh Retry Expire Minimum-TTL
Record ini bisa menjadi panjang sekali, sehingga lebih umum ditulis dalam beberapa baris seperti contoh:
@ IN SOA ns.alphamedia.co.id. yasriady (
42 ; serial number
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
Penjelasan SOA:

Field
Deskripsi
Name
Nama dari root zone. Tanda @ adalah nama lain (shorthand) untuk zone ini.
Class
Terdapat beberapa class DNS yang berbeda. Class yang sering digunakan untuk SOHO/Home adalah “IN”. Class lainnya sangat jarang digunakan di internet.
Type
Type resource record ini, ini adalah SOA resource record. Terdapat juga type lain, tapi jarang digunakan.
Name-Server
FQDN dari primary nameserver.
Email-Address
Email address dari administrator server.
Serial-No
Serial number yang digunakan sebagai identitas setiap kali record dimodifikasi.
Refresh
Jika terdapat slave DNS, maka ia akan memeriksa master server setiap interval yang ditetapkan disini.
Retry
Menentukan waktu pengulangan bagi slave jika fail melakukan refresh.
Expiry
Waktu expiry bagi slave untuk data yang diperolehnya dari server.
Minimum-TTL
Durasi waktu minimum caching bagi slave.

Note: SOHO/Home networking jarang sekali menggunakan slave DNS yang merupakan pemborosan system.
Dalam contoh diatas:
Name : alphamedia.co.id
Class : IN
Type : SOA
Name-Sever : ns.alphamedia.co.id
Email-Address : yasriady@alphamedia.co.id This email address is being protected from spam bots, you need Javascript enabled to view it
Serial-No : 42
Refresh : 3H
Retry : 15M
Expiry : 1W
Minumum-TTL : 1D
Record NS, MX, A dan CNAME
Seperti record SOA, record NS, MX, A, PTR, dan CNAME masing-msaing juga menempati satu baris dengan format umum yang hampir sama:

Record Type
Field Description
Field Name
Class Field
Type Field
Data Field
NS
Biasanya blank
IN
NS
IPAddr atau CNAME dari nameserver
MX
Domain yang digunakan untuk email, biasanya sama dengan domain dari zone ini sendiri.
IN
MX
Mail server DNS name.
A
Nama dari suatu server dalam domain.
IN
A
IPAddr dari server
CNAME
Nama alias server
IN
CNAME
“A” record dari server
PTR
Oktet terakhir dari IPAdd server
IN
PTR
Fully Qualified dari nama server



TTL = 86400 seconds

Contoh zone file (/var/named/chroot/var/named/alphamedia.co.id) yang akan kita gunakan untuk forward zone:

Name= @ (alphamedia.co.id)


$TTL 86400
@ IN SOA ns.alphamedia.co.id. yasriady (
42 ; serial (d. adams)

Class = IN

3H ; refresh
15M ; retry

Type = SOA

1W ; expiry
1D ) ; minimum
NS ns ; Inet Addr of nameserver
alphamedia.co.id. MX 5 mail ; Primary Mail eXchanger
alphamedia.co.id. IN A 192.168.9.1 ; IPAddr domain ini
www IN A 192.168.9.1

NameServer

ns IN A 192.168.9.1
mail IN A 192.168.9.2
pop IN CNAME mail
imap IN CNAME mail
smtp IN CNAME mail
ldap IN A 192.168.9.3
Contoh reverse zone (/var/named/chroot/var/named/192-168-9.zone):
; Filename : 192-168-9.zone
;
; Zone file for 192.168.9.x
;
$TTL 86400
@ IN SOA ns.alphamedia.co.id. yasriady (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
NS ns ; Nameserver addresss
1 PTR alphamedia.co.id.
2 PTR mail
3 PTR ldap
Mendaftarkan Nama Domain Internet
Ada banyak perusahaan di internet yang akan membantu anda jika ingin mendaftarkan nama domain. Beberpa diantaranya adalah VeriSign, RegisterFree, Yahoo. Untuk domain Indonesia (net.id, co.id, or.id, ac.id, go.id) dapat mendaftar ke Indonesian NIC (http://www.idnic.com).
Kesimpulan
DNS Management adalah hal cukup kritis dalam memaintain suatu domain, mail server, website atau service lainnya. Meskipun membangun server DNS termasuk sedikit rumit, akan tetapi modifikasi terhadap DNS yang sudah berjalan sangat jarang dilakukan karena setiap server di internet pada umumnya mempunyai IP Address yang statik.

Cara Buat DNS dengan bind9

Instalasi DNS Server

DNS (Domain Name System) adalah suatu sistem yang digunakan untuk memetakaan alamat IP address menjadi hostname. Sistem ini sangat diperlukan mengingat keterbatasan manusia dalam menghafal angka dibandingkan huruf (nama). Bayangkan jika kita harus mengingat alamat http://202.158.66.86 untuk mengakses situs detikcom. Tentunya jauh lebih mudah untuk mengakses situs detik com dengan alamat http://www.detik.com. Intilah tugas utama DNS server, yaitu memetakan IP 202.158.66.86 menjadi FQDN (Fully Qualified Domain Name) www.detik.com. Pada tutorial kali ini akan dibahas konfigurasi DNS server pada sistem ubuntu dengan menggunakan bind9.


Untuk dapat mulai mengkonfigurasikan DNS, terlebih dahulu install paket bind9 yang akan digunakan sebagai software DNS Server.
# apt-get install bind9

Setelah bind9 terinstall, tugas selanjutnya adalah:
  1. Mengedit /etc/bind/named.conf.options. File ini berisi konfigurasi umum software bind9.

  1. Mengedit /etc/bind/named.conf.local. File ini berisi konfigurasi letak file zones pada domain kita.

  1. Menciptakan file zones yang akan digunakan untuk menampung database domain.


  1. Mengedit /etc/resolv.conf agar mengarah pada DNS server yang telah dibuat.


Dalam tutorial ini diasumsikan domain yang digunakan adalah khairilthegreat.web.id.

  1. Edit file /etc/bind/named.conf.options

  1. Jika ISP kita mempunyai DNS server sendiri, kita dapat menambahkan konfigurasi forwarder sehingga data yang tidak bisa diresolve oleh DNS server lokal akan diteruskan ke DNS server ISP. Tambahkan baris dibawah sesuai alamat IP DNS server ISP.

  1. forwarders {

  1. 152.118.24.2;

  1. };


  1. Edit file /etc/bind/named.conf.local.

  1. File ini menampung konfigurasi DNS lokal. Sebagai contoh tambahkan baris dibawah untuk mengkonfigurasikan bind agar melihat database forward zone pada file /etc/bind9/khairilthegreat.web.id.fwd dan reverse zone pada rev.99.118.152.khairilthegreat.web.id.



  1. zone "khairilthegreat.web.id" {

  1. type master;

  1. file "/etc/bind/khairilthegreat.web.id.fwd";

  1. };



  1. zone "99.118.152.in-addr.arpa" {

  1. type master;

  1. file "/etc/bind/rev.99.118.152.khairilthegreat.web.id";

  1. };




  1. Ciptakan dua buah file zones yang akan menampung database domain.

  1. File pertama untuk menampung data forward zone:

  1. # touch /etc/bind/khairilthegreat.web.id.fwd



  1. File kedua untuk menampung data reverse zone:

  1. # touch /etc/bind/rev.99.118.152.khairilthegreat.web.id



  1. Isi file /etc/bind/khairilthegreat.web.id.fwd dengan data dibawah:



  1. $TTL 86400



  1. @ IN SOA khairilthegreat.web.id. admin.khairilthegreat.web.id. (

  1. 2001061401 ; Serial

  1. 21600 ; Refresh

  1. 1800 ; Retry

  1. 604800 ; Expire

  1. 900 ) ; Negative cache TTL



  1. IN NS ns.khairilthegreat.web.id.

  1. IN MX 10 khairilthegreat.web.id.





  1. localhost IN A 127.0.0.1

  1. www IN A 152.118.99.49

  1. ns IN A 152.118.99.49







  1. Isi file /etc/bind/rev.99.118.152.khairilthegreat.web.id dengan data dibawah:



  1. $TTL 86400

  1. ;

  1. ; Address to hostname mapping

  1. ;





  1. @ IN SOA khairilthegreat.web.id. admin.khairilthegreat.web.id. (

  1. 2001061401 ; Serial

  1. 21600 ; Refresh

  1. 1800 ; Retry

  1. 604800 ; Expire

  1. 900 ) ; Negative cache TTL



  1. IN NS ns.khairilthegreat.web.id.



  1. 49 IN PTR www.khairilthegreat.web.id.




  1. Edit file /etc/resolv.conf

  1. Tambahkan baris dibawah ini

  1. search khairilthegreat.web.id

  1. nameserver 152.118.99.48

  1. nameserver 152.118.24.24


Konfigurasi bind selesai. Restart bind
# /etc/init.d/bind9 restart

Tes konfigurasi dengan menggunakan perintah nslookup, host, ataupun dig.
nslookup www.khairilthegreat.web.id
host khairilthegreat.web.id
dig khairilthegreat.web.id

Perbedaan antara TCP, UDP dan LCMP

Ada beberapa protokol yang menjadi penunjang jaringan VoIP, antara lain :

  1. Protokol TCP/IPTCP/IP (Transfer Control Protocol/Internet Protocol) merupakan sebuah protokol yang digunakan pada jaringan Internet. Protokol ini terdiri dari dua bagian besar, yaitu TCP dan IP.
  2. Application layer
    Fungsi utama lapisan ini adalah pemindahan file. Perpindahan file dari sebuah sistem ke sistem lainnya yang berbeda memerlukan suatu sistem pengendalian untuk menangatasi adanya ketidak cocokan sistem file yang berbeda – beda. Protokol ini berhubungan dengan aplikasi. Salah satu contoh aplikasi yang telah dikenal misalnya HTTP (Hypertext Transfer Protocol) untuk web, FTP(File Transfer Protocol) untuk perpindahan file, dan TELNET untuk terminal maya jarak jauh.
  3. TCP (Transmission Control Protocol)
    Dalam mentransmisikan data pada layer Transpor ada dua protokol yang berperan yaitu TCP danUDP. TCP merupakan protokol yang connection-oriented yang artinya menjaga reliabilitas hubungan komunikadasi end-to-end. Konsep dasar cara kerja TCP adalah mengirm dan menerima segmen– segmen informasi dengan panjang data bervariasi pada suatu datagram internet. TCP menjamin realibilitas hubungan komunikasi karena melakukan perbaikan terhadap data yang rusak, hilang atau kesalahan kirim. Hal ini dilakukan dengan memberikan nomor urut pada setiap paket yang dikirimkan dan membutuhkan sinyal jawaban positif dari penerima berupa sinyal ACK(acknoledgment). Jika sinyal ACK ini tidak diterima pada interval pada waktu tertentu, maka data akan dikirikmkan kembali. Pada sisi penerima, nomor urut tadi berguna untuk mencegah kesalahan urutan data dan duplikasi data. TCP juga memiliki mekanisme fllow control dengan cara mencantumkan informasi dalam sinyal ACK mengenai batas jumlah paket data yang masih boleh ditransmisikan pada setiap segmen yang diterima dengan sukses. Dalam hubungan VoIP, TCP digunakan pada saat signaling, TCP digunakan untuk menjamin setup suatu call pada sesi signaling. TCP tidak digunakan dalam pengiriman data suara pada VoIP karena pada suatu komunikasi data VoIP penanganan data yang mengalami keterlambatan lebih penting daripada penanganan paket yang hilang.
  4. User Datagram Protocol (UDP)
    UDP yang merupakan salah satu protocol utama diatas IP merupakan transport protocol yang lebih sederhana dibandingkan dengan TCP. UDP digunakan untuk situasi yang tidak mementingkan mekanisme reliabilitas. Header UDP hanya berisi empat field yaitu source port, destination port, length dan UDP checksum dimana fungsinya hampir sama dengan TCP, namun fasilitas checksumpada UDP bersifat opsional.UDP pada VoIP digunakan untuk mengirimkan audio stream yang dikrimkan secara terus menerus.UDP digunakan pada VoIP karena pada pengiriman audio streaming yang berlangsung terusmenerus lebih mementingkan kecepatan pengiriman data agar tiba di tujuan tanpa memperhatikan adanya paket yang hilang walaupun mencapai 50% dari jumlah paket yang dikirimkan. (VoIP fundamental, Davidson Peters, Cisco System,163) Karena UDP mampu mengirimkan data streaming dengan cepat, maka dalam teknologi VoIP UDPmerupakan salah satu protokol penting yang digunakan sebagai header pada pengiriman data selainRTP dan IP. Untuk mengurangi jumlah paket yang hilang saat pengiriman data (karena tidakterdapat mekanisme pengiriman ulang) maka pada teknolgi VoIP pengiriman data banyak dilakukan pada private network.
  5. Internet Protocol (IP)
    Internet Protocol didesain untuk interkoneksi sistem komunikasi komputer pada jaringan paket switched.Pada jaringan TCP/IP, sebuah komputer diidentifikasi dengan alamat IP. Tiap-tiapkomputer memiliki alamat IP yang unik, masing-masing berbeda satu sama lainnya. Hal ini dilakukan untuk mencegah kesalahan pada transfer data. Terakhir, protokol data akses berhubungan langsung dengan media fisik. Secara umum protokol ini bertugas untuk menangani pendeteksiankesalahan pada saat transfer data. Untuk komunikasi datanya, Internet Protokol mengimplementasikan dua fungsi dasar yaitu addressing dan fragmentasi. Salah satu hal penting dalam IP dalam pengiriman informasi adalah metode pengalamatan pengirimdan penerima. Saat ini terdapat standar pengalamatan yang sudah digunakan yaitu IPv4 denganalamat terdiri dari 32 bit. Jumlah alamat yang diciptakan dengan IPv4 diperkirakan tidak dapatmencukupi kebutuhan pengalamatan IP sehingga dalam beberapa tahun mendatang akan diimplementasikan sistim pengalamatan yang baru yaitu IPv6 yang menggunakan sistim pengalamatan 128 bit.

Mangle

Memisahkan route lokal dan international Print E-mail
Written by PTI-002
Monday, 05 November 2007

Selama mengelola Mikrotik Indonesia, banyak sekali muncul pertanyaan bagaimana cara melakukan pemisahan queue untuk trafik internet internasional dan trafik ke internet Indonesia (OpenIXP dan IIX). Di internet sebetulnya sudah ada beberapa website yang menampilkan cara pemisahan ini, tapi kami akan coba menampilkan kembali sesederhana mungkin supaya mudah diikuti.

Pada artikel ini, kami mengasumsikan bahwa:

  1. Router Mikrotik melakukan Masquerading / src-nat untuk client. Client menggunakan IP privat.
  2. Gateway yang digunakan hanya satu, baik untuk trafik internasional maupun IIX.
  3. Anda bisa menggunakan web-proxy internal ataupun tanpa web-proxy. Jika Anda menggunakan web-proxy, maka ada beberapa tambahan rule yang perlu dilakukan. Perhatikan bagian NAT dan MANGLE pada contoh di bawah ini.

Jika ada parameter di atas yang berbeda dengan kondisi Anda di lapangan, maka konfigurasi yang ada di artikel ini harus Anda modifikasi sesuai dengan konfigurasi network Anda.
network diagram

Pengaturan Dasar

Berikut ini adalah diagram network dan asumsi IP Address yang akan digunakan dalam contoh ini.

Untuk mempermudah pemberian contoh, kami mengupdate nama masing-masing interface sesuai dengan tugasnya masing-masing.

[admin@MikroTik] > /interface pr
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R ether-public ether 0 0 1500
1 R ether-local ether 0 0 1500

Untuk klien, akan menggunakan blok IP 192.168.0.0/24, dan IP Address 192.168.0.1 difungsikan sebagai gateway dan dipasang pada router, interface ether-local. Klien dapat menggunakan IP Address 192.168.0-2 hingga 192.168.0.254 dengan subnet mask 255.255.255.0.

[admin@MikroTik] > /ip ad pr
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 202.0.0.1/24 202.0.0.0 202.0.0.255 ether-public
1 192.168.0.1/24 192.168.0.0 192.168.0.255 ether-local

Jangan lupa melakukan konfigurasi DNS server pada router, dan mengaktifkan fitur "allow remote request".

Karena klien menggunakan IP private, maka kita harus melakukan fungsi src-nat seperti contoh berikut.

[admin@MikroTik] > /ip fi nat pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether-public
action=masquerade

Jika Anda menggunakan web-proxy transparan, Anda perlu menambahkan rule nat redirect, seperti terlihat pada contoh di bawah ini (rule tambahan yang tercetak tebal).

[admin@MikroTik] > /ip fi nat pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether-public
action=masquerade
1 chain=dstnat in-interface=ether-local protocol=tcp
dst-port=80 action=redirect to-ports=8080

Jangan lupa mengaktifkan fitur web-proxy, dan men-set port layanan web-proxynya, dan disesuaikan dengan port redirect pada contoh di atas.

CEK: Pastikan semua konfigurasi telah berfungsi baik. Lakukanlah ping (baik dari router maupun dari klien) ke luar network Anda secara bergantian.

Pengaturan IP Address List

Mulai Mikrotik RouterOS versi 2.9, dikenal dengan fitur yang disebut IP Address List. Fitur ini adalah pengelompokan IP Address tertentu dan setiap IP Address tersebut bisa kita namai. Kelompok ini bisa digunakan sebagai parameter dalam mangle, firewall filter, nat, ataupun queue.

Mikrotik Indonesia telah menyediakan daftar IP Address yang diadvertise di OpenIXP dan IIX, yang bisa didownload dengan bebas di URL: http://www.mikrotik.co.id/getfile.php?nf=nice.rsc

File nice.rsc ini dibuat secara otomatis di server Mikrotik Indonesia setiap pagi sekitar pk 05.30, dan merupakan data yang telah di optimasi untuk menghilangkan duplikat entry dan tumpang tindih subnet. Saat ini jumlah baris pada script tersebut berkisar 430 baris.

Contoh isi file nice.rsc :

# Script created by: Valens Riyadi @ www.mikrotik.co.id
# Generated at 26 April 2007 05:30:02 WIB ... 431 lines

/ip firewall address-list
add list=nice address="1.2.3.4"
rem [find list=nice]
add list=nice address="125.162.0.0/16"
add list=nice address="125.163.0.0/16"
add list=nice address="152.118.0.0/16"
add list=nice address="125.160.0.0/16"
add list=nice address="125.161.0.0/16"
add list=nice address="125.164.0.0/16"
.
.
dst...

Simpanlah file tersebut ke komputer Anda dengan nama nice.rsc, lalu lakukan FTP ke router Mikrotik, dan uploadlah file tersebut di router. Contoh di bawah ini adalah proses upload menggunakan MS-DOS prompt.

C:\>dir nice.*
Volume in drive C has no label.
Volume Serial Number is 5418-6EEF

Directory of C:\

04/26/2007 06:42p 17,523 nice.rsc
1 File(s) 17,523 bytes
0 Dir(s) 47,038,779,392 bytes free

C:\>ftp 192.168.0.1
Connected to 192.168.0.1.
220 R&D FTP server (MikroTik 2.9.39) ready
User (192.168.0.1:(none)): admin
331 Password required for admin
Password: ********
230 User admin logged in
ftp> ascii
200 Type set to A
ftp> put nice.rsc
200 PORT command successful
150 Opening ASCII mode data connection for '/nice.rsc'
226 ASCII transfer complete
ftp: 17523 bytes sent in 0.00Seconds 17523000.00Kbytes/sec.
ftp> bye
221 Closing

C:\>

Setelah file diupload, import-lah file tersebut.

[admin@MikroTik] > import nice.rsc
Opening script file nice.rsc
Script file loaded and executed successfully

Pastikan bahwa proses import telah berlangsung dengan sukses, dengan mengecek Address-List pada Menu IP - Firewall
address list nice

Proses upload ini dapat juga dilakukan secara otomatis jika Anda memiliki pengetahuan scripting. Misalnya Anda membuat shell script pada Linux untuk melakukan download secara otomatis dan mengupload file secara otomatis setiap pk 06.00 pagi. Kemudian Anda tinggal membuat scheduler pada router untuk melakukan import file.

Pengaturan Mangle

Langkah selanjutnya adalah membuat mangle. Kita perlu membuat 1 buah connection mark dan 2 buah packet mark, masing-masing untuk trafik internasional dan lokal.

[admin@MikroTik] > /ip firewall mangle pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting in-interface=ether-local
dst-address-list=nice
action=mark-connection new-connection-mark=conn-iix
passthrough=yes

1 chain=prerouting connection-mark=conn-iix
action=mark-packet new-packet-mark=packet-iix
passthrough=no

2 chain=prerouting action=mark-packet
new-packet-mark=packet-intl passthrough=no

Untuk rule #0, pastikanlah bahwa Anda memilih interface yang mengarah ke client. Untuk chain, kita menggunakan prerouting, dan untuk kedua packet-mark, kita menggunakan passthrough=no.

Jika Anda menggunakan web-proxy internal dan melakukan redirecting trafic, maka Anda membuat 2 buah rule tambahan seperti contoh di bawah ini (rule tambahan yang tercetak tebal).

[admin@MikroTik] > /ip firewall mangle pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting in-interface=ether-local
dst-address-list=nice
action=mark-connection new-connection-mark=conn-iix
passthrough=yes

1 chain=prerouting connection-mark=conn-iix
action=mark-packet new-packet-mark=packet-iix
passthrough=no

2 chain=output connection-mark=conn-iix
action=mark-packet new-packet-mark=packet-iix
passthrough=no


3 chain=prerouting action=mark-packet
new-packet-mark=packet-intl passthrough=no

4 chain=output action=mark-packet
new-packet-mark=packet-intl passthrough=no

Pengaturan Simple Queue

Untuk setiap client, kita harus membuat 2 buah rule simple queue. Pada contoh berikut ini, kita akan melakukan limitasi untuk IP client 192.168.0.2/32, dan kita akan memberikan limitasi iix (up/down) sebesar 64k/256k, dan untuk internasional sebesar (up/down) 32k/128k.

[admin@MikroTik]> /queue simple pr
Flags: X - disabled, I - invalid, D - dynamic

0 name="client02-iix" target-addresses=192.168.0.2/32
dst-address=0.0.0.0/0 interface=all parent=none
packet-marks=packet-iix direction=both priority=8
queue=default-small/default-small limit-at=0/0
max-limit=64000/256000 total-queue=default-small

1 name="client02-intl" target-addresses=192.168.0.2/32
dst-address=0.0.0.0/0 interface=all parent=none
packet-marks=packet-intl direction=both priority=8
queue=default-small/default-small limit-at=0/0
max-limit=32000/128000 total-queue=default-small

simple queue

Pengecekan Akhir

Setelah selesai, lakukanlah pengecekan dengan melakukan akses ke situs lokal maupun ke situs internasional, dan perhatikanlah counter baik pada firewall mangle maupun pada simple queue.

Anda juga dapat mengembangkan queue type menggunakan pcq sehingga trafik pada setiap client dapat tersebar secara merata.

NAT

Network Address Translation (NAT)

Dalam FreeBSD, mekanisme Network Address Translation (NAT) dijalankan oleh program Natd yang bekerja sebagai daemon. Network Address Translation Daemon (Natd) menyediakan solusi untuk permasalahan penghematan ini dengan cara menyembunyikan IP address jaringan internal, dengan membuat paket yang di-generate di dalam terlihat seolah-olah dihasilkan dari mesin yang memiliki IP address legal. Natdaddress legal dalam jaringan internal. memberikan konektivitas ke dunia luar tanpa harus menggunakan IP

Natd menyediakan fasilitas Network Address Translation untuk digunakan dengan socket divert. Natdhost lain sedemikian sehingga source IP addressnya berasal dari mesin Natd. Untuk setiap paket yang diubah berdasarkan aturan ini, dibuat tabel translasi untuk mencatat transaksi ini. mengubah semua paket yang ditujukan ke

Dengan NAT, aturan bahwa untuk berkomunikasi harus menggunakan IP address legal, dilanggar.NAT bekerja dengan jalan mengkonversikan IP-IP address ke satu atau lebih IP address lain. IP address yang dikonversi adalah IP address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang IP). IP address yang menjadi hasil konversi terletak di luar jaringan internal tersebut dan merupakan IP address legal yang valid/routable.


Mekanisme NAT

Sebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah field di dalamnya, salah satu field yang penting di sini adalah MAC (Media Access Control) address asal dan tujuan, IP address asal dan tujuan, dan nomor port asal dan tujuan.

Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP address asal dan IP B sebagai IP address tujuan. Header ini juga berisi nomor port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan nomor port) dan nomor port tujuan yang spesifik, misalnya port 80 (untuk web).

Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi. Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan IP A adalah IP address tujuan. Kemudian B mengirim paket itu kembali ke A. Selama session terbuka, paket data hilir mudik menggunakan nomor port yang dipilih.

Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal & tujuan dalam header ketika me-route paket yang melewatinya. IP address, nomor port, dan nomor sequence asal & tujuan tidak disentuh sama sekali.

NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi internal untuk semua IP addressset tabel nomor port yang akan digunakan oleh IP address yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan keluar, Natd jaringan internal yang mengirim paket melewatinya. Lalu men- melakukan hal-hal sebagai berikut:

1. Mencatat IP address dan port asal dalam tabel translasi

2. Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid

3. Menetapkan nomor port khusus untuk paket yang dikirim keluar, memasukkannya dalam tabel translasi dan menggantikan nomor port asal tersebut dengan nomor port khusus ini.

Ketika paket balasan datang kembali, Natd mengecek nomor port tujuannya. Jika ini cocok dengan nomor port yang khusus telah ditetapkan sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor port dan IP address tujuan dengan IP address dan nomor port asal yang asli yang digunakan dulu untuk memulai koneksi. Lalu mengirim paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih terbuka.


Gambar Contoh Mekanisme Natd


Perbedaan dengan sistem Proxy

Hampir mirip dengan NAT, suatu jaringan kecil dengan proxy bisa menempatkan beberapa mesin untuk mengakses web dibelakang sebuah mesin yang memiliki IP address valid. Ini juga merupakan langkah penghematan biaya dibanding harus menyewa beberapa account dari ISP dan memasang modem & sambungan telepon pada tiap mesin.

Namun demikian, proxy server ini tidak sesuai untuk jaringan yang lebih besar. Bagaimanapun, menambah hard disk dan RAM pada server proxy supaya proxy berjalan efisien tidak selalu dapat dilakukan (karena constraint biaya). Lagi pula, persentase web page yang bisa dilayani oleh cache proxy akan makin menurun sejalan dengan semakin menipisnya ruang kosong di hard disk, sehingga penggunaan cache proxy menjadi tidak lebih baik dari pada sambungan langsung. Tambahan lagi, tiap koneksi bersamaan akan meng-generate proses tambahan dalam proxy. Tiap proses ini harus menggunakan disk I/O channel yang sama, dan saat disk I/O channel jenuh, maka terjadilah bottle neck.

NAT menawarkan solusi yang lebih fleksibel dan scalable. NAT menghilangkan keharusan mengkonfigurasi proxy/sock dalam tiap client. NAT lebih cepat dan mampu menangani trafik network untuk beribu-ribu user secara simultan.

Selain itu, translasi alamat yang diterapkan dalam NAT, membuat para cracker di Internet tidak mungkin menyerang langsung sistem-sistem di dalam jaringan internal. Intruder harus menyerang dan memperoleh akses ke mesin NAT dulu sebelum menyiapkan serangan ke mesin-mesin di jaringan internal. Penting di ketahui bahwa, sementara dengan NAT jaringan internal terproteksi, namun untuk masalah security, tetap saja diperlukan paket filtering dan metoda pengamanan lainnya dalam mesin NAT.


Contoh Kasus Installasi Natd


Sebuah perusahaan kecil memiliki sejumlah komputer dan sambungan ke Internet. Komputer-komputer itu saat ini telah membentuk suatu LAN. Sambungan Internet-nya diasumskan berupa dedicated T1 link


Langkah-langkah yang harus dilakukan

1. Installasi FreeBSD

Sediakan satu komputer untuk dijadikan Gateway. Penulis menyarankan penggunaan FreeBSD RELEASE 2.2.6 (Natd hanya jalan di FreeBSD 2.2.1 ke atas), karena selain gratis juga requirementhardware-nya tidak terlalu boros. PC 486 dengan 16 MB memory dan HD 850 MB juga sudah cukup mewah.

Untuk mengetahui proses installasi FreeBSD, silahkan baca kembali tulisan-tulisan di Infokomputer sebelumnya dan manual FreeBSD sendiri.

2. Installasi Gateway

Pasang 2 network interface agar mesin ini menjadi gateway. Network Card (misal NE2000 atau 3COM) satu dihubungkan ke jaringan internal dan satu lagi untuk koneksi ke ISP. Misalnya dua-duanya NE2000 Compatible. maka nick untuk card yang menghadap ke dalam adalah ed0 dan untuk card yang menghadap keluar adalah ed1.

Pastikan juga option gateway = ”YES” tertulis dengan benar dalam file rc.conf. Atau bisa juga dengan mengetik perintah: sysctl -w net.inet.ip.forwarding=1


  1. Installasi Firewall

Pasang IP firewall di mesin FreeBSD ini. Caranya adalah :

  1. Edit kernel source di /usr/src/sys/i386/conf

Tambahkan option-option berikut ini pada file kernel.


options IPFIREWALL

options IPFIREWALL_VERBOSE

options “IPFIREWALL_VERBOSE_LIMIT=100”

options IPDIVERT


  1. Compile kernel tersebut

  2. Aktifkan firewall di rc.conf dengan menambahkan


firewall="YES"

firewall_type="OPEN"


  1. Installasi Natd

Langkah-langkahnya adalah sbb:

  1. Download source nya di ftp://ftp.suutari.iki.fi/pub/natd

  2. Unzip dan untar archive tersebut dengan perintah

gzip -dc natd_1.12.tar.gz | tar -xvf -

  1. Lakukan make dan make install di direktori yang dihasilkan. Ketikkan perintah berikut:

cd natd_1.12

make

make install

  1. Edit startup file supaya Natd berjalan secara otomatis

Buat file natd.sh di /usr/local/etc/rc.d. Isi file tersebut adalah


#!/bin/sh

/sbin/ipfw -f flush

/sbin/ipfw add divert 13494 ip from any to any via ed0

/sbin/ipfw add pass all from 127.0.0.1 to 127.0.0.1

/sbin/ipfw add pass ip from any to any

/usr/local/sbin/natd -port 13494 -interface ed0


Arti dari file ini adalah:

  • Hapuskan semua rule firewall

  • Tambahkan feature divert di port 13494 (Anda bisa mengganti ini dengan port yang Anda inginkan) untuk mendiversi paket dari dan ke gateway lewat interface ed0

  • Bolehkan semua paket lewat di atas local host

  • Bolehkan semua paket IP lewat semua interface

  • Jalankan Natd dengan menjadi daemon yang menunggu di port 13494 via interface ed0.

  1. Reboot mesin FreeBSD-nya supaya setting bisa diaktifkan.


Konfigurasikan TCP/IP Client.

Jadikan nomor IP card ed0 di FreeBSD sebagai gateway dari tiap workstation, IP tiap-tiap work stationnetwork yang sama dengan card ed0 yang ada di mesin gateway. Misal ed0 di-beri nomor IP 192.168.1.1 dan ed1 167.205.19.5, maka workstation diberi nomor IP 192.168.1.2 s/d 192.168.1.14 jika digunakan mask 16 atau 255.255.255.240. ed1 adalah interface yang memiliki IP address valid harus berada dalam


Setelah semuanya langkah-langkah di atas dijalankan dengan baik maka, applikasi Internet di client siap dijalankan via NAT.

Untuk kasus lain misalnya sambungan ke Internet-nya menggunakan modem, maka mekanismenya sama saja, tinggal diganti interface di gateway yang menghadap keluar dengan interface modem (tun0) dan jalankan program ppp untuk men-dial ISP-nya. Khusus untuk dial-out, ppp sebenarnya memiliki mekanisme sendiri untuk kasus ini yaitu dengan option -alias. Jadi jika kita menjalankan ppp dengan option -alias maka kita tidak perlu menjalankan Natd, karena option ini menyediakan fasilitas yang sama dengan Natd khusus untuk dial-out.

Natd hanyalah salah satu cara untuk menghemat persediaan IP address yang semakin menipis. Dengan adanya fakta bahwa untuk bergabung ke Internet, host pencari informasi (Client) sebenarnya tidak perlu memiliki IP address legal, maka IP address legal tersebut bisa dicadangkan untuk host-host penyedia informasi (Server). Penelitian untuk terus memperbaiki performansi Internet ini masih terus dikembangkan. Sekarang ini juga sedang dikembangkan model IP versi baru yaitu IP versi 6 (IPv6), yang bisa menampung lebih banyak lagi komputer-komputer di Internet. Namun demikian untuk kondisi sekarang, Natd masih merupakan solusi ampuh sebelum IPv6 diterapkan.


Samba

Samba merupakan tool pembantu dalam berbagi pakai harddisk dan printer antara user M icrosoft Windows dan user Linux. Samba mendukung client Windows 2000 dan NT 4.0, serta dapat berfungsi sebagai Windows NT Primary Domain Controller.
Instalasi dan Konfigurasi Samba Server
dengan menggunakan vi editor Pengantar : Dokumentasi ini berisi tentang bagaimana cara menginstall dan
mengkonfigurasi samba server pada Linux Redhat 6.2 Server. Dokumen ini hanyalah dokumen teknis yg dibuat dengan
tujuan "minimal jalan", tanpa dilengkapi dengan security atau optimasi. So, jika ada yang salah CMIIW
Instalasi samba dilakukan dengan cara :
# rpm -Uvh samba-2.0.6-9.i386.rpm samba-client-2.0.6-9.i386.rpm samba-common-2.0.6-9.i386.rpm --force --nodeps
Mengeset samba server:
Editlah file smb.conf yang terletak di /etc/smb.conf
1. Untuk security level = share (tidak membutuhkan password dalam mengakses samba):
pastikan ada script ini:
security = share
domain master=yes
domain logons=yes
encrypt password=yes
security = share
lalu tentukan nama direktori yg dishare beserta pathnya (direktori yang ingin disharing) dengan option-optionnya.
contoh:
[my share]
comment = multimedia stuff
path = /home/master
public = yes
writeable = yes
2. Untuk security level = user (butuh password ketika mengakses samba):
sama dengan di atas, namun pada baris security isikan dengan kata user (security = user).
Lalu under command prompt (masuk ke shell) tambahkan beberapa user yang telah tercantum di /etc/passwd ke dalam
file /etc/smbpasswd dengan cara:
smbpasswd -a -n
contoh:
[root@ltsp etc]# smbpasswd -a -n hari
Kita dapat mengakses samba server dari komputer windows, dengan menggunakan login hari dan dengan mengisikan
password hari yang terdaftar di komputer linux.
Secara default user yg ditambahkan ke /etc/smbpasswd tidak memiliki password, kita bisa mengisinya dengan
mengetikkan:
# smbpasswd
contoh:
[root@ltsp etc]# smbpasswd hari
3. Mounting file-file yang dishare di windows dari komputer linux
a. Mounting file2 yg ada di windows (dalam satu workgroup):
mount -t smbfs -o username=..., password=... //nama-komputer-windows/direktori-yg-dishare /mnt/mount-pointnya
contoh:
[root@ltsp etc]# mount -t smbfs -o username=guest,password=nedcom //"Kang andi"/nedcom /mnt/net
b. Berbeda workgroup:
mount -t smbfs -o username=...,password=..., workgroup=... //nama-komputer-windows/direktori-yg-dishare /mnt/mountpointnya
contoh:
[root@ltsp etc]# mount -t smbfs -o username=hari,password=hehehe,workgroup=Lab-siskom //optik/master /mnt/net
4. Menggunakan smbclient
http://linux2.arinet.org - Linux@Arinet.org Powered by Mambo Generated: 20 October, 2004, 10:22
smbclient -L = untuk melihat direktori yang dishare di komputer windows
smbclient /// = masuk ke komputer windows pada direktori yang dishare dengan menggunakan format server ftp.
contoh:
[root@ltsp etc]# smbclient -L text
[root@ltsp etc]# smbclient //text/aborsi

Jika anda ingin sharing file melalui SAMBA dengan aman, gunakan mode user. Dengan mode ini, user yang mau akses harus punya account di si server Linux.

Dibanding mode share, kini ada dua syarat tambahan.:

  1. Si-user harus punya account normal di server Linux.
  2. Si user harus punya account samba.
Sisanya mirip. Jadi artikel ini copy-paste dari artikel lalu, tambah sedikit ;-).

BUAT DIREKTORI YANG MAU DI-SHARING
Buat direktori dan set modenya agar bisa diakses user.

# Direktori cuma bisa baca
root:# mkdir -p /home/ftp/pub
root:# chgrp users /home/ftp/pub
root:# chmod g+rx /home/ftp/pub

# Direktori bisa baca tulis
root:# mkdir -p /home/ftp/pub/incoming
root:# chgrp users /home/ftp/pub/incoming
root:# chmod g+wrx /home/ftp/pub/incoming

BUAT SMB.CONF
Di sini kita akan konfigurasi samba mode user, sehingga yang akan bisa akses hanya user yang terdaftar lokal di komputer server tersebut. Langsung saja edit seperti ini:

# Konfigurasi SAMBA
# /etc/samba/smb.conf
#======================= Global Settings =========================
[global]
# workgroup, semua server dan client harus ber-workgroup sama
workgroup = ENGINEERING
# Deskripsi komputer
# Identity samba selalu mengambil /etc/HOSTNAME
server string = Ini server-ku

# Batasi akses di network sendiri
hosts allow = 10.0.0.

# Security mode, sebenarnya pilihannya ada 4:
# share = seperti Windows 98, share level
# user = seperti NT workstation stand-alone
# server = validasi ke serve lain (PDC)
# domain = jadi PDC
security = user

# Pakai enkripsi password
encrypt passwords = yes

# Where to find the SSL certificates:
ssl CA certDir = /etc/ssl/certs

#------------------------------------------------------------------
# Ini dia definisi direktori yang dishare

# home direktori si user yang connect, otomatis map ke /home/user
[homes]
comment = Home Directories
browseable = no
writable = yes

# direktori bersama hanya bisa dibaca
[pub]
comment = Temporary file space
path = /home/ftp/pub
browseable = yes
public = yes
read inly= yes

# direktori bersama bisa baca tulis
[incoming]
comment = Public Stuff
path = /home/ftp/pub/incoming
browseable = yes
public = yes
writable = yes

HIDUPKAN SMB DAEMON
Buat agar samba jalan otomatis saat komputer reboot.

# Di Slackware/Vector
root:# chmod a+x /etc/rc.d/rc.samba

# ini buat start sekarang saja
root:# /etc/rc.d/rc.samba start

BUAT USER
Anda perlu account buat Linux, juga buat samba.

# Kalau belum ada, buat user linux
root:# adduser tux

# Lalu buat account samba
root:# smbpasswd -a tux
Selesai.

COBA DARI WINDOWS
Ada dua syarat supaya Windows bisa akses SAMBA.

  • Network Neigborhood sudah disetup betul, dengan workgroup/domain sama dengan si samba server.
  • User login dengan nama dan password sama dengan yang di samba server.
Kalau itu terpenuhi, dengan lancar anda akan bisa browsing si samba server. Ini contohnya pakai Windows explorer.

Lihat bahwa komputer papua punya sharing tux (home), pub dan incoming. Anda bisa baca/tulis di home dan incoming, tapi hanya baca di pub.

Copyleft : Kocil, 2003
License : GNU FDL
Posted to: www.benpinter.net, 30 Oct 2003.
Testbed : Vector Linux 4.0, Windows 98
Writepad : Vector Linux, Bluefish


[ Views:: 2,834 ]


SAMBA mode USER | 4 comments | Create New Account
The following comments are owned by whomever posted them. This site is not responsible for what they say.
SAMBA mode USER
Authored by: Asli on Friday, September 17 2004 @ 11:37 PM UTC
jangan lupa
dir yang dishare bebas tulis kalau bisa tambahin nih :
veto files = /folder.htt/desktop.ini/folder.vtt/*.cmd/*.bat/*.vbs/*.eml/*.nws/

tau kan gunanya untuk memblokir file-file aneh tersebut.


---
==================
Asli = Asalkan Linux :P
==================

Port Knocking dan SSH

PORT KNOCKING

Untuk mendapatkan suatu system yang seratus persen aman dari gangguan dari

luar ialah dengan memutuskan hubungan dengan system eksternal. Tapi dengan

menutup system tersebut dari system luar, maka system tersebut tidak akan ada lagi

gunanya sebab system tersebut tidak dapat lagi diakses dan dipergunakan bahkan

oleh yang berhak dan membutuhkan.

Sebuah system yang baik harus memiliki keseimbangan antara keamanan dan

fleksibilitas dari system tersebut. Salah satu cara mencapai system komputer seperti

demikian ialah dengan menggunakan firewall. Dengan menggunakan firewall, maka

kita dapat mendefinisikan user yang dapat dipercaya dan yang tidak dapat dipercaya

dengan menggunakan alamat IP sebagai kriteria filter.


Kelemahan dari firewall ialah bahwa firewall tidak mampu membedakan user

yang dapat dipercaya. Firewall hanya mampu membedakan alamat IP yang

diasumsikan digunakan oleh orang yang tidak dapat dipercaya.

Untuk mendapatkan keamanan yang diperlukan dan kemampuan untuk

mengizinkan user yang bisa dipercaya untuk mengakses server maka diperlukan

suatu metoda yang memenuhi kedua kriteria tersebut. Salah satu metoda baru yang

dianggap memiliki kemampuan untuk memenuhi kedua kriteria tersebut adalah port

knocking.

Port knocking adalah suatu metoda dimana komputer remote (client)

berkomunikasi dengan sebuah server melalui port yang tertutup. Komunikasi ini

sendiri berlangsung secara satu arah, yaitu dari client menuju server. Server tidak

memberikan respons apapun terhadap client.

Perlengkapan yang Dibutuhkan

Implementasi dari port knocking membutuhkan beberapa perlengkapan

tambahan, yaitu:

· Firewall yang mampu mencatat setiap koneksi ke dalam port tertutup,

memonitor logfile secara real time, dan mampu merubah aturannya secara

dinamis


Firewall berfungsi salah satunya untuk melindungi home network

· IPChains atau IPTables akan sangat membantu

· Program utama yang menjalankan algoritma port knocking

Cara Kerja Port Knocking

Untuk mengaplikasikan metoda port knocking ini, pertama-tama semua port

yang ada ditutup terlebih dahulu. Meskipun port ditutup, layanan yang disediakan

tetap berjalan. Hal ini akan menyebabkan tidak ada orang dari luar yang mampu

mengakses layanan tersebut.


Seluruh port ditutup sehingga tidak ada yang dapat mengakses

Setelah semua port ditutup, maka beberapa port dicatat segala aktivitas yang

terjadi pada port tersebut, termasuk percobaan yang dilakukan untuk mengakses

port-port tersebut.

Oleh karena ditutupnya seluruh port ini, metoda port knocking ini tidak cocok

untuk melindungi semua jenis layanan. Hal ini disebabkan karena koneksi yang

dibangun menuju layanan yang dilindungi membutuhkan semacam ‘password´untuk

mengaksesnya. Sementara itu, koneksi menuju layanan-layanan publik dapat datang

dari mana saja sehingga metoda ini kurang cocok untuk melindungi layanan bersifat

publik.


Apabila ada suatu saat ada seorang user yang ingin mengakses layanan tertentu,

misalnya SSH, user tersebut akan mengawali koneksi dengan melakukan percobaan

koneksi ke port-port tertentu yang dimonitor dengan urutan tertentu juga. Urutan

‘ketukan’ ini hanya diketahui oleh orang-orang tertentu yang dipercaya (menjadi

semacam password untuk menggunakan layanan tertentu). Dengan menggunakan

ketukan ini, maka alamat IP seseorang yang oleh firewall sebelumnya dianggap

sebagai user yang tidak dapat dipercaya akan berubah status menjadi user yang

dapat dipercaya, sehingga user akan diizinkan untuk mengakses atau melakukan

koneksi terhadap layanan yang disediakan.


Seorang user melakukan ketukan rahasia

Fase mengetuk ini dapat dianalogikan sebagai ketukan pada pintu yang tidak

terlihat. Fase ini disebut demikian karena user tidak dapat mengetahui port-port

mana yang sedang dimonitor dan dicatat, dan demikian juga dengan orang lain

(terutama yang tidak dipercaya).

Setelah firewall mendeteksi adanya ketukan dengan urutan ketukan yang benar

pada port yang benar pula, maka aturan (rule) dari firewall akan diubah sehingga

alamat IP yang sesuai dengan yang ada pada log dari firewall akan diizinkan untuk

melakukan koneksi dengan port tertentu. Seperti terlihat pada gambar 2.4.


Seorang user diizinkan melakukan koneksi

(Diambil dari http://www.portknocking.org/)

Meskipun sebuah port telah dibuka untuk melakukan koneksi dengan user

tertentu, alamat IP yang lain tetap diblok sehingga tidak dapat mengakses port

tersebut seperti terlihat pada gambar di atas. Setelah user selesai dalam melakukan

koneksi dan menyelesaikan sesinya, maka user tersebut melakukan lagi ketukan

pada port yang dimonitor untuk memberi tanda pada firewall untuk menutup port

yang sebelumnya dibuka.

Format Ketukan

Format ketukan yang digunakan dalam metoda port knocking ini bergantung

pada seberapa banyak informasi yang ingin disampaikan melalui ketukan kepada

server. Berikut ini adalah beberapa contoh ketukan yang dapat diaplikasikan

berdasarkan keperluan tertentu:

· Port tunggal dengan pemetaan tetap ( f ixed )


Apabila koneksi yang diperlukan (layanan yang disediakan) hanya

bersumber pada satu port saja (misalkan port 22 untuk SSH), maka format

ketukan yang diperlukan hanya melibatkan tiga port saja. Sebagai contoh, port

100, 101, dan 102 dimonitor. Ketukan yang dapat dipakai dan fungsinya adalah

sebagai berikut:

Port yang diketuk Aksi yang dilakukan

100,102,101 Membuka port 22 untuk alamat IP yang

bersangkutan

101,102,100 Menutup port 22 untuk alamat IP yang

bersangkutan

101,100,102 Menutup port 22 dan mengabaikan

ketukan berikutnya dari alamat IP yang

bersangkutan.

Ketukan untuk port tunggal dengan pemetaan tetap

Dari tabel di atas dapat dilihat contoh ketukan yang dipakai untuk membuka

dan menutup port 22. Sedangkan port ketiga dapat digunakan apabila seorang

user melakukan port knocking dari komputer yang bukan miliknya sendiri dan

tidak dipercaya. Ketukan ketiga ini berfungsi untuk penduplikasian port

knocking oleh administrator dari host tersebut. Hal ini dengan asumsi bahwa

ketukan tidak di-‘tangkap’ oleh orang lain dan diduplikasikan sebelum sesi

berakhir. Hanya saja, kelemahan dari ketukan ketiga ini ialah bahwa orang masih

mampu mengetuk dengan menggunakan alamat IP yang lain sehingga ketukan

ketiga tersebut akan menjadi tidak berguna.

Kelemahan dari ketukan ini ialah port yang digunakan sangat sedikit,

sehingga apabila ada orang yang telah mengetahui port yang dimonitor maka

akan mudah bagi orang tersebut untuk mencoba ketukan yang tepat.


· Multiple port dengan pemetaan dinamis

Apabila sebuah server menyediakan beberapa jenis layanan, maka ketukan

seperti pada point pertama sudah tidak dapat lagi digunakan. Salah satu bentuk

ketukan yang dapat diaplikasikan adalah sebagai berikut:

Header Payload Checksum Footer

format ketukan dapat ditulis menjadi:

510,503,507 50a, 50b, 50c, 50d 50{(a+b+c+d) mod 10} 510,501,509

Tabel 3

Bagian payload merupakan bagian yang menyatakan port mana yang diminta

untuk dibuka, yaitu port abcd. Bagian checksum akan memastikan port yang

diminta benar dan tidak ada kesalahan dalam pengetukan. Sebagai contoh,

seorang user ingin mengakses port 150, maka ketukan yang dilakukan adalah

sebagai berikut:

510,503,507 500,501,505,500 506 510,501,509

Ketika ketukan ini dideteksi untuk alamat IP tertentu maka port 150 akan

dibuka. Apabila port 150 sudah dibuka untuk alamat IP tersebut, maka dengan

adanya ketukan ini akan menutup port tersebut untuk alamat IP tersebut.


Beberapa informasi dapat ditambahkan pada ketukan, seperti panjang sesi yang

diperkirakan, alamat IP yang diinginkan untuk memiliki akses, dan sebagainya.

Salah satu cara untuk mempersulit peniruan ketukan ini, dapat digunakan

beberapa range port secara bersamaan, sebagai contoh port 401-405,506-510.

Dengan range port ini dapat diselipkan beberapa port (yang tidak dimonitor)

pada ketukan sehingga orang yang berusaha meniru ketukan akan tertipu.

Sebagai contoh, pada kasus di atas ialah:

510,403,407 400,501,401,505,405,500,400 406,506 510,401,409

Dapat dilihat pada contoh di atas bahwa jumlah ketukan menjadi bertambah

namun informasi yang disampaikan tetap sama. Hal tersebut terjadi karena portport

diluar range yang telah ditentukan tidak dimonitor dan tidak dianggap

sebagai suatu ketukan. Meskipun demikian ada sedikit perubahan pada aturan

pengetukan, dimana digit 1 sampai 5 menggunakan port 400-405, sedang digit 6

sampai 10 menggunakan port 506 sampai 510. Tentu saja user yang dapat

dipercaya harus mengetahui port mana saja yang dimonitor.

· Pemetaan dengan menggunakan enkrips i

Untuk menambah keamanan dari port knocking maka dapat digunakan

enkripsi pada bagian informasinya. Dengan enkripsi, maka ketukan yang

dilakukan akan semakin sulit untuk ditebak.

Misalkan akan dikirim 10 nomor (k1, k2, ..., k10) dengan menggunakan port

knocking. Asumsikan server menyediakan port 400-655 untuk dimonitor.

Pertama, nomor tersebut akan dienkripsikan dengan menggunakan algoritma

tertentu (misalkan RSA atau Blowfish), lalu dilakukan byte encoding. Kemudian

hasilnya dipetakan untuk menghasilkan ketukan yang sebenarnya. Server lalu

membalik langkah yang telah dilakukan oleh user.

hanyalah beberapa ide yang

tertuang, mengenai aplikasinya sendiri dalam jaringan akan sangat tergantung dari

desain administrator masing-masing jaringan dan kebutuhan dari jaringan tersebut.

Keunggulan dan Kelemahan Port Knocking

Setiap sistem keamanan yang didesain oleh manusia tidak ada yang sempurna.

Setiap sistem pasti memiliki kelebihan dan kelemahan masing-masing, demikian

juga dengan port knocking. Berikut ini akan dibahas beberapa mengenai keunggulan

dan kelemahannya.

Keunggulan Port Knocking

Ada beberapa hal yang membuat port knocking lebih unggul daripada sistem

keamanan yang biasa, yaitu:

· Port knocking merupakan metoda yang terselubung untuk melakukan otentifikasi

dan perpindahan informasi menuju sebuah sistem yang terhubung dengan

jaringan, namun tidak memiliki port yang terbuka. Akan sulit bagi siapapun

untuk mengetahui apakah port dimonitor atau tidak. Selain itu, percobaan yang

dilakukan untuk menebak urutan ketukan yang dilakukan secara ‘kasar’ akan

terdeteksi dan alamat IP yang melakukannya dapat diblok.

· Informasi mengalir dalam bentuk percobaan koneksi dan bukannya paket data.

Tanpa mengetahui keberadaan sistem ini dan metoda yang digunakan, maka

akan sulit mendeteksi penggunaan otentifikasi dengan memonitor traffic.

· Karena otentifikasi dibangun ke dalam urutan ketukan, aplikasi yang ada tidak

lagi perlu dirubah.


Kelemahan Port Knocking

Ada beberapa hal yang menjadi kelemahan dalam pengaplikasian metoda port

knocking ini:

· Untuk menggunakan metoda ini diperlukan program tersendiri untuk melakukan

ketukan.

· Dalam penggunaan metoda ini dibutuhkan sejumlah port yang perlu dialokasikan

secara khusus untuk digunakan oleh sistem sehingga port tersebut tidak dapat

digunakan untuk keperluan lain

· Metoda ini memodifikasi rule dari firewall secara otomatis. Hal tersebut

memerlukan penanganan yang hati-hati. Bila terjadi kegagalan dimana sistem

tidak mampu mengenali atau mendengar ketukan yang telah dilakukan, maka

tidak ada yang mampu melakukan koneksi dari luar.