Anda di halaman 1dari 63

PERSAMAANPERFEKTIF

Agardisinikitatidaksalahmengasumsikanantarapenulisdenganpembaca,makasebelumnyakitasamakandahuluterutamauntuk
diagramjaringannya,diagramnyasebagaiberikut:

192.168.1.1
INTERNET====MODEMADSL=======UBUNTUSERVER======SWITCHHUB======CLIENT
bridgemodeeth0eth1|(192.168.0.101192.168.0.xxx)
192.168.1.2192.168.0.1Comp.Administrator/Billing
192.168.0.100

UntukMODEMADSLdijadikanbridgeyangnantinyaakandidialupolehubuntu.

DisinispeksifikasiminimumyangdipakaiadalahProcessoryangsupport64bitseperti:
minimumPentium4630/631/632series(3GHz,FSB800MHz,L22MB)
atauPentiumD(2.43GHz,FSB533800MHz,L24MB)
danatauDualCore,Core2Duo,Core2Quad,etc
Hardwarelainnya:RAMDDR1/21GB,2EthernetCard,danHarddisk120GBSATA(UsahakanSATAagarresponsif).
TutorialinidiperuntukkanuntukWarnetdanRT/RWNet.

TAHAPI
INSTALLUBUNTUSERVER
MasukkanCDInstallUbuntu10.04ServerLTS64bitdanbootingcomputerkecdrom
Tampilawaldanpilih...

PilihBahasa

PilihzonalokasipilihOtherkemudianAsiadanCariIndoneisa

Pilihlayout/jeniskeyboard,pilihajaNo

UbuntuInstallerakanmelakukanpengecekkanterhadapCDygdigunakan

UbuntuInstallermenjalankankomponensebagaipendukung

InstalasiNetwork,untuksementaradiabaikanajakarenanantinyaakandisettingsecaramanualaja.

Masukannamahostname/computersesuaikeinginan,misal:router

PengaturanHarddisk,pilihManualkarenaakandipersiapkansecaramaksimal.

Dariharddisk160Gbdibagisebagaiberikut:

/ 25GB XFS Boot Flag /


swap 1GB swap Swap
/home/proxy1 20GB XFS Chache proxy #1
/home/proxy2 20GB XFS Chache proxy #2
/home/proxy3 20GB XFS Chache proxy #3
/home/share (sisanya) NTFS Share Documents
Ubuntuinstallerselanjutnyaakanmenginstallsystemdasaryangdibutuhkan,tentunyasetelahmemformatharddisk.

Membuataccountuserdanmemberpassword,misalaccountOpikdesigndanuseropikdesign

UbuntuInstallerakanmempertanyakanapakahconnectionkeinternetpakeproxy,tapiklotanpaproxybisapilihcontinue

KonfigurasiAPT

Memilihpaketpilihaja:DNSServer,LAMPServer,OpenSSHServerdanSambaFileServer

Memulaiinstalasiditengah2instalasi,akanditanyakanpassworduntukMySQL,bisadikosongkanatobolehdiisi

InstalasiGRUBBootloader

Instalasiberakhir,keluarkanCDnya.PilihContinueuntukrestartdanbootdariharddisk.

TAHAPII
LOGIN
Lakukanlogin.
Kemudianmasukkeroot,kemudianmasukanpassword:

[user]@[host]:~$ sudo su

cirinyaklosudahmasukrootmakapromptberubahmenjadi

root@[host]:/home/[user]#

sepertiini:

TAHAPIII
SETINGETHERNETCARD

Editfile/etc/network/interfaces,bisamenggunakanbantuanviataupicodanlainnya,tetapidisinipenulismengunakanpico
karenasudahfamiliar.

# pico /etc/network/interfaces

SebelumnyatentukandahuluIPv4untukkartujaringaneth1,misalIP192.168.0.1dannetmask255.255.255.0.
Danperludiingat,kartujaringaneth0terhubungdenganmodemADSLdanIPv4mengikutiDHCPdarimodemjadikitatidakperluseting
langikarenasudahdisetingsaatpenginstallantersebutdiatas.

Isifile/etc/network/interfacesrubahmenjadiberikut:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

kemudiandisave.

Lakukanrestart/startpadanetwork:

# / et c/ i ni t . d/ net wor ki ng r est ar t

Lihathasilsetingkartujaringanpadaeth0daneth1:

# ifconfig

seharusnyahasilnya:

TAHAPIII
MEMBUATSETTINGDIALUPUNTUKMODEMADSL
Installdahulurepositorypppoe:
# apt-get install pppoe
Jalankanpppoeconf

# pppoeconf

tampilannyaakansepertiini:

PilihYeskemudiandiaakanmendeteksisendiriberadadimanamodemADSLtersebut.

Pilihyes,dimintausernamedanpasswordADSL

PilihjanganmenggunakanDNSPeerskarenanantikitaakanmembuatDNSServerlocal,jadipilih"No"...

UntukMTUpilih"Yes"untukdefault1452byte

Donedanlangsungmelakukankoneksi...

Klosudah,checkdifile/etc/network/interfacesakanadatambahannyasepertiini:

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

makaisikeseluruhanfile(tulisanwarnamerah):


auto lo
iface lo inet loopback

auto eth0
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

Checkinterfacesdialupdengan ifconfig,dialupakanmunculinterfacesppp0

# ifconfig ppp0

hasilnya:

Ataucarangechecklain,lakukanpingkeinet.

TAHAPIV
UPDATEDANUPGRADESYSTEM,
SEKALIGUSINSTALLBEBERAPAREPOSITORY
YANGAKANSERINGDIPAKAI

UpdatedanUpgrade:

# apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y

Installbeberaparepositorypentingyangakanseringterpakai

# apt-get install iptraf iftop whois sysstat snmp snmpd rrdtool dbconfig-common libphp-adodb php5-cli php5-gd
php-pear php5-snmp php5-adodb phpmyadmin make rpm alien subversion nmap libnet-netmask-perl curl chkconfig

Lakukanrestart.

# reboot

TAHAPV
INSTALLDANSETING
DHCPSERVER

Untukserver,mungkinperluDHCPServeragarcomputerclientygterhubunglangsungmendapatIPtanpasetingsecaramanual.

InstalldahuluDHCPServer
o Installdhcp3servernya,

# apt-get install dhcp3-server

seharusnyahasilnya:

Setelahdiinstall,lakukansetingpadaDHCP3Server,misalnyadgnasumsijaringanpadaeth1padarangeIP 192.168.0.100-
192.168.0.200danNetmask 255.255.255.0.EditfileconfpadaDHCP3yaitufile/etc/dhcp3/dhcpd.conf,

# pico /etc/dhcp3/dhcpd.conf

Rubahmenjadi:

ddns-update-style none;

subnet 192.168.0.0 netmask 255.255.255.0 {
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;
option domain-name "local.domain"; #sesuaikan keinginan
option routers 192.168.0.1;
option netbios-name-servers 192.168.0.1;

default-lease-time 600;
max-lease-time 604800;

log-facility local7;

range 192.168.0.100 192.168.0.200;
}

Catatan,
untukoption domain-name-serversnantibisadigantidgnDNSISPygbersangkutanklotidakmenginstallDNSServerdan
seandainyaDNSlebihdarisatutinggaldiberitandakoma,.
begitujugaoption netbios-name-serversbisadihilangkanklonantitidakmembuatWINSServer,.

Setelahitueditfile/etc/default/dhcp3-server dandisinilahsettinganDHCPdefaultinterfaces.

# pico /etc/default/dhcp3-server

RubahatauisiINTERFACESnyasepertidibawahini

INTERFACES="eth1"

LakukanrestartDHCP3serverdengan:

# /etc/init.d/dhcpd3-server restart

Akanmunculdilayar:

* Starting DHCP server dhcpd3 [ OK ]

DHCPbisadibuatsepertihalnyaMACFilter,dalampengertiansebagaiberikut:
KitasebelumnyasudahmencatatMACADDRESSdariseluruhhardwareEthernetmaupunwificlientyangkemudiandiberikanIP
sesuaiketentuanMACADDRESS;contohcomputerAdenganMAC00:AA:BB:CC:DD:11akanselalumendapatIP192.168.0.123.

Rubah/etc/dhcp3/dhcpd.conf,contohkonfigurasidenganMACFiltering:

ddns-update-style none;

subnet 192.168.0.0 netmask 255.255.255.0 {
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;
option domain-name "local.domain"; #sesuaikan keinginan
option routers 192.168.0.1;
option netbios-name-servers 192.168.0.1;

default-lease-time 600;
max-lease-time 604800;

log-facility local7;

host opikdesign {
hardware ethernet 00:22:15:3C:14:A1;
fixed-address 192.168.0.100;
}

host dhani {
hardware ethernet 00:11:5B:78:D3:E8;
fixed-address 192.168.0.101;
}

host farah {
hardware ethernet 00:16:EC:1E:2F:9E;
fixed-address 192.168.0.102;
}

host siti {
hardware ethernet 00:13:D4:CB:69:0F;
fixed-address 192.168.0.103;
}
}

Jadidisinibisadipahamiseharusnya,cobalihatketeranganbertulistebal

host [disini letak nama computer] {


hardware ethernet [disini diisi MAC-ADDRESS dari client yang bersangkutan];
fixed-address [IP yang akan diberikan];
}

SelanjutnyaMACADDRESSbisadisesuaikandenganclient,tersebutdiatashanyacontoh

TAHAPVI
SETINGOpenSSHSERVER
DANMENGGUNAKANPuTTY&WinSCP
UNTUKREMOTEKESERVER
Sebuahportyangcarakomunikasinyadiencryptiondanartinyaparapembajak/penyadapjaringantidakbisamengartikannya,dengan
demikiankomunikasisangataman.SSHinibiasanyadigunakauntukremoteserversebagaipenggantitelnet,rshdanrlogin.Aplikasiserver
yangseringdigunakandanakankitagunakandisiniadalahPuTTYuntukremoteselayaknyakitadudukdidepanmonitordankeyboarserver
danWinSCPberfungsiuntuktransferfilesepertihalnyasftp.
PadaumumnyaportOpenSSHdefaultdiport22dansebaliknyadirubahdenganalasanuntukkeamanan,dirubahkeportyangmasih
kosongatuyangbelumdigunakanuntukfungsilainmisal,222ato2222atoberapaaja.
Editfile/etc/ssh/sshd_config :

# pico /etc/ssh/sshd_config

cariPort 22 dangantidenganportyangdikehendakisemisal Port 221


Kemudianrestartopenssh:

# service ssh restart



hasiltampilannya:

Kemudianmemberipasswordpadauserrootagartiapkaliloginuntukmengeditfilebisalangsungeditdanbisalangsungmeng
copyatopastefiledisemuafolderlinux.Padadasarnyausernamerootsudahadahanyabelumadapasswordnyaakhirnyaseakan
tidakaktif.Userrootiniadauseryangmemilikihakaksesdansebaiknyajangandiberikankeoranglain.

Caramengganti/memberipassword:

# passwd root

masukanpasswordyangdikehendakidanketikulang.

DownloadprogramPuTTYdanWinSCPdaricomputerclientyangberOSwindows.

DownloadPuTTY>>>http://putty.cbn.net.id/download.html
pilihyangversiinstallerkarenalebihstabilataulangsungkelinkini>>>
http://tartarus.org/~simon/puttysnapshots/x86/puttyinstaller.exe

DownloadWinSCP>>>http://mirror.its.ac.id/pub/winscp/
pilihyangversiinstallerjugaataulangsungkelinkini>>>http://mirror.its.ac.id/pub/winscp/winscp407setupintl.exe
KemudianinstallPuTTYdanWinSCP,disinitidakperlusayabicarakanbagaimanacaranyakarenahalyangmudah.
CaramenggunakanPuTTY,masukkanipatonamahostserverkemudianmasukkanportyangsudahdirubah.

ClickOpenklosudahmengisiHostName/IPservermaupunportnya.
Makatampilanakanmenjadi

Nahtampilansepertiapa?!Samapersissaatloginpertamakhan?!Apabedanyadengandudukdepanserverlangsung?!TentuAja
jawabannyasama.MakadariituUbuntuServersudahtidakmemerlukanMonitormaupunKeyboardlagikarenaakandiremotedi
computerlainatasalasaneffisiensi.
CaramenggunakanWinSCP.

Masukkanhostnameatoipserverdanportnya,masukkanpulausernamedanpasswordnya,disinisayasarankanmenggunakan
usernamedanpasswordrootdenganalasanagarkitabisamendapatfullakseskesemuafoldermaupunfilebertujuankitabisa
mengeditfile2configuration.KemudianclickLogin.

Tampilannyaakansepertiini

SisikiriadalahMy Documentdansisikananadalahfolder/root diubuntuserver.


Disinikitabisamemindahkanfileataufolderdarikiridankekananmaupunsebaliknya.
Bisamasukkesemuafolderdiubuntuservermaupunbisamerubahfile2configurationtermasukmembuatfileconfiguration
lainnya.

TAHAPVII
MEMBUATNAT/ROUTER
Agarclientbisaterkoneksidenganinternetmakakitaharusmengaktifkanipforward.

MembuatroutermakaaktifkanIPForwarding,darippp0keeth1,editfile/etc/sysctl.conf :

cariteks

# net.ipv4.ip_forward=1

Aktifkandenganmenghilangkantanda#,menjadi:

# net.ipv4.ip_forward=1

untukmeningkatanpengamansebaiknyaantispoofingattackdankernelmapprotectdiaktifkan,cariteks2dibawahini

# net.ipv4.conf.default.rp_filter=1
# net.ipv4.conf.all.rp_filter=1

Aktifkandenganmenghilangkantanda#,menjadi:

net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1

kemudiansave.Danlakukanperintahuntukmengaktifkankonfigurasitersebut
# sysct l - p

MembuatNATdengancommandiptables
# i pt abl es - t nat - A POSTROUTI NG - o ppp0 - j MASQUERADE
Lakukantestdiclient,bisalangsungbrowsingataumelakukanpingkeinet.

TAHAPVIII
INSTALLDANSETINGPADADNSSERVERMENGGUNAKANBIND9
PadasaatinstalasiUbuntutadisudahmemilihuntukdiinstallkanDNSServer,sebenernyarepositoryyangberfungsisebagaiDNSServer
bernamaBind9.AkhirnyakitatinggalmembuatsettinganBind9ini.

FungsiDNSServeriniadalahmemresolvednamadomainyangdimintaclientuntukdimemberitahukanserverdaridomainyang
ditanyakanclientberadadiIPmana.
Sebelumnya,adabaiknyakitamengenalmacamtypeDNSRecord;

AddressRecords;MerekamsebuahpemetaanIPAddresskedalamsebuahnamahost.Carasepertiiniyangpalingumum
digunakan.

www IN A 111.222.333.444

AliasRecords;MembuatsebuahaliasterhadapCNAMEkarenatidakdapatmembuatCNAMEpointingdidalamCNAMERecord.

mail IN CNAME www
www IN A 111.222.333.444

MailExchangeRecords;Menunjukkanemailharusdikirimkemana,harusmenujukkankeARecord(AddressRecord)bukan
CNAME(AliasRecord)Record.

@ IN MX mail.domain.com
mail IN A 111.222.333.444
NameServerRecord;Menentukanserveryangakandigunakanuntukmelayanilayananhosting,harusmenujukkankeARecord
(AddressRecord)bukanCNAME(AliasRecord)Record.

@ IN NS ns.domain.com
ns IN A 111.222.333.444

SelanjutnyakitamemulaikonfigurasiBind9,sebelumnyakitatentukannamadomainnyasemisalnyadns.persegi.netdankemudian
dapatdigantisesuaikeinginan.
Bukafile/etc/bind/named.conf.options;filetersebutberisiDNSforwardditujukankemana,makaitukarenakitamemakai
telkomspeedymakadiarahkanIPDNSTelkomdanditambahOpenDNS.Rubahisinyamenjadi:
options {
directory "/var/cache/bind";

forwarders {
202.134.0.155;
202.134.0.61;
//202.134.0.5; - down
//202.134.2.5; - down
202.134.1.5;
202.134.1.10;
203.130.193.74;
203.130.196.6;
203.130.196.155;
203.130.196.5;
203.130.208.18;
203.130.206.250;
222.124.204.34;
//DNS Public froom openDNS
//208.67.222.222;
//208.67.220.220;
//DNS Public froom google
8.8.8.8;
8.8.4.4;
};

auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Bukafile/etc/bind/named.conf.local;fileyangberisidimanaletakfilezonayangberisiDNSRecordlocal.

tambahataueditisinyamenjadi:

include "/etc/bind/zones.rfc1918";

zone "local.domain" {
type master;
file "/etc/bind/db.local.domain";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

include "/etc/bind/rndc.key";

Kemudianduplicatefiledblocalsesuainamafileyangdisebutkan/etc/bind/named.conf.local.
# cp /etc/bind/db.local /etc/bind/db.local.domain
# cp /etc/bind/db.local /etc/bind/db.192
Editfile/etc/bind/db.local.domain
editisinyamenjadi:

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.local.domain. mail.local.domain. (
2010072605 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
localhost IN A 127.0.0.1
@ IN NS ns.local.domain.
ns IN A 192.168.0.1
www IN CNAME ns
proxy IN CNAME ns

sebuahtips:Banyakorangmenggunakantanggalterakhireditedsebagaiseridarizona,seperti2009022605yangyyyymmddss(di
manaangkaserial),setiapeditfileconfigurasitersebutagarmenggantiserialtersbutdengantanggalterbarubertujuanagarbind9
segeramengupdateperubahaannya.
Editfile/etc/bind/db.192

editisinyamenjadi:

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.local.domain. mail.local.domain. (
2010072603 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
@ IN NS ns.
www IN CNAME ns
proxy IN CNAME ns

sebuahtips:
Banyakorangmenggunakantanggalterakhireditedsebagaiseridarizona,seperti2010072605yangyyyymmddss(dimanaangka
serial),setiapeditfileconfigurasitersebutagarmenggantiserialtersbutdengantanggalterbarubertujuanagarbind9segera
mengupdateperubahaannya.
Editfile/etc/hostsdantambahkanlocal.domaindomaininidiaktifkansebagaihostpula.

editisinyamenjadi:

127.0.0.1 localhost
192.168.0.1 router router.local.domain www.local.domain proxy.local.domain

Editfile/etc/resolv.conf

editisinyamenjadi:

search local.domain
nameserver 127.0.0.1

Restartjaringandanbind9

# service bind9 restart
Untukmengujibind9,kitaperlumenginstallrepositorydnsutils,installrepositorytersebut

# apt-get install dnsutils



checkzonauntukmengetestsettingankitadidalamfile/etc/bind/db.dns.persegi.net dan/etc/bind/db.192

# named-checkzone local.domain /etc/bind/db.local.domain

kalausettingantidakadamasalahhasilnyakuranglebihakanmunculserialyangbuat.

# named-checkzone local.domain /etc/bind/db.192



hasilnya

kemudianbarumengujidengancommanddigkitamencobauntuklocalnyadulu

# dig localhost

hasilnya

kemudiancobamengujiuntukmencaridomaindiinetmisalnyagoogle.comatauyahoo.com

# dig google.com

hasilnya

ataubisajugamengujidenganperintahnslookup
# nslookup
> set type=any
> local.domain

setelahitulakukanpulatestpadalocalhost
> localhost

danhasilnyaakansepertiinikalausudahbenar

TAHAPIX
INSTALLNTPSERVER
ApafungsidariNTPServer?!,fungsinyaagarsemuaPCClientmempunyaiwaktuyangsamadenganServer.Namunpengaktifan
fungsiinitidakterlalupenting.Carainstalldanmenjalankan:
# apt-get install ntp
# service ntp restart
Untukmerubahwaktupadasystemlinux:
# date DDMMhhmmYYYY
Keterangan:
DD: date
MM: month
YYYY: year
hh: hour(24hour)
mm: minute

contohnya:dirubahmenjadi14June200911:51PM
# date 061423512009
Sun Jun 14 23:51:00 WIT 2009

TAHAPX
INSTALLOpenSSLDANMEMBUATSSLCertificate
UNTUKMENGAKTIFKANHTTPSDIAPACHE2
SSLuntukHTTPSaksesdiapache2milikUbuntumemangbermasalah,kitaaktifkantetapgakmaujalan,permasalahannyakrntidakadafile
Certificateuntukapache2danbelumadaOpenSSL.
installOpenSSLdanSSLCertificate

# apt-get install openssl ssl-cert

Membuatcertificate:

# mkdir /etc/apache2/ssl
# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
AktifkanmodulSSL

# a2enmod ssl

Menempelkanfilecertificatedivirtualhost

# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

editfile/etc/apache2/sites-available/ssl,tambahkanscriptpadabaristerakhirsebelum</VirtualHost>:

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem

danportdefault80jadikan443,caribaris

<VirtualHost *:80>

dangantidgn

<VirtualHost *:443>
editfile/etc/apache2/sites-available/default,tambahkanscriptpadabaristerakhirsebelum</VirtualHost>:

SSLCertificateFile /etc/apache2/ssl/apache.pem

AktifkanmodulHTTPS:

# a2ensite ssl
Terakhirrestartkembaliapache2:

# service apache2 restart


TAHAPXI
MEMBUATWINSSERVERDENGANSAMBA
MEMBANTUPENYEBARANNETBIOS
AdanyaWINSServerinimembantuagarNetBIOS(NamaKomputerClient)tidakhilangdijaringan,berfungsiuntukmemreplyNetBIOSyang
dilewatkanmelaluiTCP/IPsebagaialternativebroadcast.Disinisayahanyamembericontohbeberapaclientsebagainamacomputerantara
lainbillingdan client01-10yangkemudianbisadisesuaikandengankondisiyangada.
Sebelumnyainstalldahulurepositoryyangdibutuhkan

# apt-get install samba samba-common samba-doc libcupsys2 winbind smbclient smbfs
Editfile/etc/samba/smb.confdanrubahmenjadi

[global]
log file = /var/log/samba/log.%m
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully*.
obey pam restrictions = yes
map to guest = bad user
encrypt passwords = true
public = yes
passdb backend = tdbsam
passwd program = /usr/bin/passwd %u
wins support = yes
max wins ttl = 18748800
min wins ttl = 60
netbios name = persegi
server string = %h server (Samba, Ubuntu)
path = /var/tmp
preferred master = yes
domain master = yes
local master = yes
workgroup = WORKGROUP
syslog = 0
panic action = /usr/share/samba/panic-action %d
usershare allow guests = yes
max log size = 1000
pam password change = yes
name resolve order = wins bcast hosts lmhosts
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 65
announce as = WfW
guest ok = Yes
usershare allow guests = Yes
name cache timeout = 0
nt status support = yes
nt pipe support = yes
winbind cache time = 60
idmap uid = 50-9999999999
idmap gid = 50-9999999999
idmap cache time = 120
lm announce = yes
lm interval = 10
enhanced browsing = Yes
browse list = yes

Editfile/etc/hostskemudianmasukkannamahostcomputerclientdanipnyauntukpencariandenganmetodehostsfile,contoh
sebagaiberikut:

127.0.0.1 localhost
192.168.0.1 router router.local.domain www.local.domain proxy.local.domain
192.168.0.100 billing billing.local.domain
192.168.0.101 client01 client01.local.domain
192.168.0.102 client02 client02.local.domain
192.168.0.103 client03 client03.local.domain
192.168.0.104 client04 client04.local.domain
192.168.0.105 client05 client05.local.domain
192.168.0.106 client06 client06.local.domain
192.168.0.107 client07 client07.local.domain
192.168.0.108 client08 client08.local.domain
192.168.0.109 client09 client09.local.domain
192.168.0.110 client10 client10.local.domain

Buatfile/etc/samba/lmhostsdanmasukkannamahostcomputerclientdanipsepertidiatasuntukpencariandenganmetode
lmhostsfile,contohsebagaiberikut:

192.168.0.1 router
192.168.0.100 billing
192.168.0.101 client01
192.168.0.102 client02
192.168.0.103 client03
192.168.0.104 client04
192.168.0.105 client05
192.168.0.106 client06
192.168.0.107 client07
192.168.0.108 client08
192.168.0.109 client09
192.168.0.110 client10

Bukadaneditfile/etc/nsswitch.conf caribaris

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

rubahmenjadi

hosts: files dns wins winbind mdns4_minimal [NOTFOUND=return] mdns4

Lakukanrestartjaringandanwinbindsajakarenasambasudahotomatisberubah
# /etc/init.d/networking restart
# service winbind restart

BiladiperlukanuntukresolvedNetBIOS/ComputerName,bisadimasukkankedalamDNSServer(Bind9),sebagaiDNSPOISONING
LCOAL.

Caranya,editkembalimisalnyafile/etc/bind/db.local.domaindantambahkanbaristerakhirdenganmemasukkannama
komputerclientbersertaipnya,contohnya

router IN A 192.168.0.1
billing IN A 192.168.0.100
client01 IN A 192.168.0.101
client02 IN A 192.168.0.102
client03 IN A 192.168.0.103
client04 IN A 192.168.0.104
client05 IN A 192.168.0.105
client06 IN A 192.168.0.106
client07 IN A 192.168.0.107
client08 IN A 192.168.0.108
client09 IN A 192.168.0.109
client10 IN A 192.168.0.110

Makafile/etc/bind/db.local.domain tersebutmenjadi(tulisanwarnamerah)
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.local.domain. mail.local.domain. (
2010072610 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
localhost IN A 127.0.0.1
@ IN NS ns.local.domain.
ns IN A 192.168.0.1
www IN CNAME ns
proxy IN CNAME ns
router IN A 192.168.0.1
billing IN A 192.168.0.100
client01 IN A 192.168.0.101
client02 IN A 192.168.0.102
client03 IN A 192.168.0.103
client04 IN A 192.168.0.104
client05 IN A 192.168.0.105
client06 IN A 192.168.0.106
client07 IN A 192.168.0.107
client08 IN A 192.168.0.108
client09 IN A 192.168.0.109
client10 IN A 192.168.0.110

Editfile/etc/bind/db.192,dantambahkanbaristerakhirdenganmemasukkannamakomputerclientdiikutinnamadomain
sebagaiDNSSuffixnyabersertaipnya,contohnya

1 IN PTR router.local.domain.
100 IN PTR billing.local.domain.
101 IN PTR client01.local.domain.
102 IN PTR client02.local.domain.
103 IN PTR client03.local.domain.
104 IN PTR client04.local.domain.
105 IN PTR client05.local.domain.
106 IN PTR client06.local.domain.
107 IN PTR client07.local.domain.
108 IN PTR client08.local.domain.
109 IN PTR client09.local.domain.
110 IN PTR client10.local.domain.

Makafile/etc/bind/db.192 tersebutmenjadi(tulisanwarnamerah)
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.local.domain. mail.local.domain. (
2010072615 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
@ IN NS ns.
1 IN PTR ns.local.domain.
www IN CNAME ns
proxy IN CNAME ns
1 IN PTR router.local.domain.
100 IN PTR billing.local.domain.
101 IN PTR client01.local.domain.
102 IN PTR client02.local.domain.
103 IN PTR client03.local.domain.
104 IN PTR client04.local.domain.
105 IN PTR client05.local.domain.
106 IN PTR client06.local.domain.
107 IN PTR client07.local.domain.
108 IN PTR client08.local.domain.
109 IN PTR client09.local.domain.
110 IN PTR client10.local.domain.

KemudianBind9direstart
# service bind9 restart





TestingSamba
# smbclient -L localhost -U%

hasilnya
Domain=[PERSEGI] OS=[Unix] Server=[Samba 3.3.2]

Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (persegi server (Samba, Ubuntu))
Domain=[DNS.PERSEGI.NET] OS=[Unix] Server=[Samba 3.3.2]
Server Comment
--------- -------
BILLING
CLIENT01
CLIENT02
CLIENT03
CLIENT04
CLIENT05
CLIENT06
CLIENT07
CLIENT08
CLIENT09
CLIENT10
ROUTER router server (Samba, Ubuntu)


Workgroup Master
--------- -------
WORKGROUP ROUTER

BuatBashScriptagartiapinterval15menitakanmemrestartdaemonwinbindd,snmbdannmbd.
buatfile/sbin/winsdenganscriptsebagaiberikut

#!/bin/sh
# Script ini untuk memrestart Winbindd dan Samba (snmb & nmbd)
# agar semua NetBIOS komputer client dapat di refresh.

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

[ -r /etc/default/winbind ] && . /etc/default/winbind
[ -r /etc/default/samba ] && . /etc/default/samba

RUN_MODE="daemons"

DAEMON_WINBINDD=/usr/sbin/winbindd
PIDDIR_WINBINDD=/var/run/samba
WINBINDPID=$PIDDIR_WINBINDD/winbindd.pid

PIDDIR_SAMBA=/var/run/samba
NMBDPID=$PIDDIR_SAMBA/nmbd.pid
SMBDPID=$PIDDIR_SAMBA/smbd.pid

INTERVAL=900

unset TMPDIR

test -x $DAEMON_WINBINDD || exit 0
test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0

. /lib/lsb/init-functions


while : ; do
#
# winbind stop
#
log_daemon_msg "Stopping the Winbind daemon" "winbind"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON_WINBINDD
log_end_msg $?
sleep 2

#
# samba stop
#
log_daemon_msg "Stopping Samba daemons"
log_progress_msg "nmbd"

start-stop-daemon --stop --quiet --pidfile $NMBDPID

sleep 1
if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null
then
rm -f $NMBDPID
fi

if [ "$RUN_MODE" != "inetd" ]; then
log_progress_msg "smbd"
start-stop-daemon --stop --quiet --pidfile $SMBDPID

sleep 1
if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null
then
rm -f $SMBDPID
fi
fi

log_end_msg 0
sleep 2

#
# samba start
#
log_daemon_msg "Starting Samba daemons"
install -o root -g root -m 755 -d $PIDDIR_SAMBA

NMBD_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`
if [ "$NMBD_DISABLED" != 'Yes' ]; then
log_progress_msg "nmbd"
if ! start-stop-daemon --start --quiet --oknodo --exec
/usr/sbin/nmbd -- -D
then
log_end_msg 1
exit 1
fi
fi

if [ "$RUN_MODE" != "inetd" ]; then
log_progress_msg "smbd"
if ! start-stop-daemon --start --quiet --oknodo --exec
/usr/sbin/smbd -- -D; then
log_end_msg 1
exit 1
fi
fi

log_end_msg 0
sleep 2

#
# winbind start
#
log_daemon_msg "Starting the Winbind daemon" "winbind"
mkdir -p /var/run/samba/winbindd_privileged || return 1
chgrp winbindd_priv $PIDDIR_WINBINDD/winbindd_privileged/ || return 1
chmod 0750 $PIDDIR_WINBINDD/winbindd_privileged/ || return 1
start-stop-daemon --start --quiet --oknodo --exec $DAEMON_WINBINDD --
$WINBINDD_OPTS
log_end_msg $?

#
# Repeat
#
sleep $INTERVAL

done

kemudianberiattributeagarbisadijalankan,
kemudianjalankandenganmengirimSignalHUPagarberjalanterusmenurussetiapnilaiintervalyangditentukan.
# chmod +x /sbin/wins
# nohup /sbin/wins &

Terakhiragarscriptiniberjalansaatserverpertamakalirestart/booting,masukkankedalam/etc/rc.local,editfile
/etc/rc.localkemudiantambahkan

nohup /sbin/wins &

SettingDNSSuffixditiapclientklotadisudahmembuatDNSServeruntukclient,caranya:

ControlPanel>>System

Pilih/clickComputerName,bolehisiComputerDescipptionsemisalclient01

ClickChangedanisiComputernamesesuaiyangdidaftarkansemisalclient01

ClickMoreisiPrimaryDNSSuffixcomputertersebutsemisalnyalocal.domaindanberitandacentangpadaChangeprimary
DNSsuffixwhendomainmembershipchanges

ClickOKdanOKlagi

ClickOKdanOKlagi.Kemudiancomputerdirestart

Terakhir,settingtiapclientagarNetBIOSselaludilewatkanTCP/IP,caranya:
ControlPanel>>NetworkConnection>>ClickKananLocalAreaConnection>>PilihProperties

CariInternetProtocol(TCP/IP)danpilihkemudianclickProperties.

PilihAdvanced.

PilihTabWINSdanNetBIOSsettingpilihkeEnableNetBIOSoverTCP/IP.ClickOK3x..

UntukmelakukanscaningNetBIOSdalamjaringan,installrepositorynbtscan
# apt-get install nbtscan

Caramenggunakannya,kitascandijaringan192.168.0.0/24
# nbtscan 192.168.0.0/24

TAHAPXII
MEMBUATFOLDERSHARING
UNTUKWINDOWSOSDENGANSAMBA
SaatinstallUbuntu,sudahditentukansisaharddiskuntukfolder/home/sharesekitar33Gbyte,makabuatfolderlagidanberi
permissionsepenuhnya

# mkdi r / home/ shar e/ doc


# chmood 0777 - R / home/ shar e/ doc

Bukadaneditkebalifileconfigurationsamba,/etc/samba/smb.confdantambahkanpadabaristerakhirsebagaiberikut:

[Share]
comment = File Server Share
path = /home/share/doc
read only = No
create mask = 0777
directory mask = 0777

UntuksisiclientbisadilakukanMapNetworkDrivedandijadikansebagaiMyDocumentagarparaclientbisalangsungmelakukan
savedocumentdiMyDocument(Defaultnya),caracaranysebagaiberikut

BukaWindowsExplorerTombolcepatbisatekanLogoWindows+E

KemudianClickTanda+,MyNetworkPlaces>>MicrosoftWindowsNetwork>>Workgroup>>(NamaServer)

ClickkananSharedanpilihMapNetworkDrive

AkanmunculWindowsDialog,danpastikanmemberitandacentangpadaReconnectatlogonagartiapkalicomputerclient
selalumenghubungkandiridenganShareDocumentdiserver

TerbentuklahdrivebarudenganinitialZ:\

KembalilagipadaWindowsExplorersebelumnyaataumenujuMyComputer
TerlihatadadrivebertypeNetworkDrives

AgarmenjadiMyDocument,ClickKananMyDocumentsisikiridanpilih

RubahtargetnyamenujuZ:\dimanaNetworkDriveberada.

Terakhirakanmunculsepertidibawahini,danpilihNoagardatadatayangberadadiMyDocumentsebelumtidakberpindah.

Nah,sekarangMyDocumentdicomputerclientsudahberpindahmenujukeShareDocumentdiServer,jadimerekaakan
melakukansavesecaradefaultdiserver.

Diatasmerupakansalahsatucontohataucaramembuakfoldersamba,untuklebihbagusnyaagarlebihmudahmengatur
managementsebaiktiapsatudibuatsatufoldersharingsendiridandimapsesuaifoldersharing,jadiMyDocumentClienttidak
samatiapunitclientnya.

TAHAPXIII
CLAMAV
ANTIVIRUSUNTUKFILESAMBADAN
BUATSCHEDULECRONTABUNTUK
SCANINGMAUPUNUPDATE

PadadasarnyaOSyangberbasisLinux/Unixsaatinitidakadavirus.NamundenganadanyaFolderSharingyangdibuatdenganSamba,
tidakmenutupkemungkinandidalamFoldertersebutterjangkitvirusdariOSWindows,perludiingatbahwavirusinitidakbakalan
menyerangservertetapiakanmengganggukinerjajaringankitabiladibiarkan.

InstallClamav

# apt-get install clamav clamav-daemon clamav-docs clamav-testfiles clamav-freshclam clamav-base

Agardatabasevirusnyaupdateterbaru

# freshclam

Kemudianbuatjadwalagartiaphariselaluupdatedanmelakukanscanning

# crontab -e

Baristerakhirtambahkan


* * */1 * * /usr/bin/freshclam
@daily /usr/bin/clamscan -r --remove --quiet /home/share/doc

keluardansave.

TAHAPXIV
INSTALLSAMPAISETTING
SQUIDPROXYDANHAVP
SEBAGAIANTIVIRUSWEBBROWSING
BAIKUNTUKPORTHTTPMAUPUNPROXY

Dariinternetbanyakbibitpenyakitsemacamvirus,trojanmaupunlainnya.Kitainginkanbagaimanacaranyagatewaykitabisa
memfilterbibitbibitpenyakitini.JadisemuapaketdatadariinternetkhususnyadariportHTTP(80)akandiscanhabisoleh
programtersebut,namaprogramtersebutadalahHAVPyangmerupakanrepositorydarihttp://www.serverside.de/.

HAVPinitidakbekerjasendiri,diahanyamemeriksadatamasukajadanantivirusnyasebagaiacuhanbisaClamAVatauAVG,disini
sayamenggunkanClamAVdanLibClamAV.DandisinisayasengajamemadukandgnSquidagaryangdicachebener2bersihdari
penyakit.

HAVPberkerjamenggunakanPort8080yangkemudianakanditeruskankeportPROXY(3128),kuranglebihsepertitopology
sebagaiberikut

Port 80 <===> HAVP (8080) <===> Squid (3128) <===> Client


||
CLAMAV+LIBCLAMAV

Proxy,bisaberfungsisebagaifirewall/siteblock,webcachebahkanbisasedikitmengaturbandwidth.Fungsiiniadayang
memandangtidakperlu,tetapibagipenulisSquidmemegangperananpentingkarenabisadiunggulkansemisalmemblockpacket
yangtidakdiinginkandanmembantumengaturbandwidthkarenaadanyawebcacheyangbisadiandalkanpadasaatkoneksidari
ISPbermasalahmaupunbisamembatasifileyangdidownloadolehclient.

InstallHAVPdanSQUID

# apt-get install havp squid squid-common squid-cgi squidclient



Kuranglebihhasilnyasepertiini

Kemudianeditfileconfigurasisquidproxydi/etc/squid/squid.conf

#==================================$
# Proxy Server Versi 2.7.Stable3
#==================================$

#################################################################
# Port
#################################################################
http_port 3128 transparent
icp_port 3130
prefer_direct off

#################################################################
# Cache & Object
#################################################################
cache_mem 8 MB
cache_swap_low 98
cache_swap_high 99
max_filedesc 8192
maximum_object_size 1024 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 4 bytes
ipcache_size 4096
ipcache_low 98
ipcache_high 99
fqdncache_size 4096

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

#################################################################
# cache_dir <type> <Directory-Name> <Space in Mbytes> <Level1> <Level2> <options>
# Maksimum Level1=((Space in byte/13)/Level2/Level2)*2

cache_dir aufs /home/proxy1 15000 32 256
cache_dir aufs /home/proxy2 15000 32 256
cache_dir aufs /home/proxy3 15000 32 256

#################################################################

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none
pid_filename /var/run/squid.pid
cache_swap_log /var/log/squid/swap.state

dns_nameservers 127.0.0.1

emulate_httpd_log off
hosts_file /etc/hosts
half_closed_clients off
negative_ttl 1 minutes


#################################################################
# Rules: Safe Port
#################################################################

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563 873 # https snews rsync
acl Safe_ports port 80 # http
acl Safe_ports port 20 21 # ftp
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 631 # cups
acl Safe_ports port 10000 # webmin
acl Safe_ports port 901 # SWAT
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 873 # rsync
acl Safe_ports port 110 # POP3
acl Safe_ports port 25 # SMTP
acl Safe_ports port 2095 2096 # webmail from cpanel
acl Safe_ports port 2082 2083 # cpanel

acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports !SSL_ports
http_access deny CONNECT !SSL_ports !Safe_ports


#################################################################
# Refresh Pattern
#################################################################

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 10080 90% 43200 override-expire ignore-no-cache ignore-private
refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|mpg|swf|flv|x-flv)$ 43200 90% 432000 override-expire ignore-no-
cache ignore-private
refresh_pattern -i \.(deb|rpm|exe|ram|bin|pdf|ppt|doc|tiff)$ 10080 90% 43200 override-expire ignore-no-cache
ignore-private
refresh_pattern -i \.(zip|gz|arj|lha|lzh|tar|tgz|cab|rar)$ 10080 95% 43200 override-expire ignore-no-cache
ignore-private
refresh_pattern -i \.(html|htm|css|js|php|asp|aspx|cgi) 1440 40% 40320

refresh_pattern . 0 20% 4320


#################################################################
# HAVP + Clamav
#################################################################

cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default


#################################################################
# HIERARCHY (BYPASS CGI)
#################################################################

#hierarchy_stoplist cgi-bin ? .js .jsp
#acl QUERY urlpath_regex cgi-bin \? .js .jsp
#no_cache deny QUERY


#################################################################
# Pembatasan B/W Download dgn mendeteksi extention file.
# dan pembatasan access domain
#
#################################################################

acl client src 192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.104 192.168.0.105 192.168.0.106
192.168.0.107 192.168.0.108 192.168.0.109 192.168.0.110
acl billing src 192.168.0.200
acl server src 192.168.0.1

acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$ \.7z$ \.avi$
\.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$ \.m3u$ \.asx$
\.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$ \.ac3$ \.cda$
\.vro$ \.deb$ \.pdf$ \.com$ \.nrg$ \.vcd$ \.flv$ \.swf$ \.3gp$

delay_pools 2

delay_class 1 1
delay_parameters 1 40000/10000000 15000/40000000 10000/70000000
delay_access 1 allow download client
delay_access 1 deny all

delay_class 2 1
delay_parameters 2 -1/-1
delay_access 2 allow download billing
delay_access 2 allow download server
delay_access 2 deny all


#################################################################
# SNMP
#################################################################

snmp_port 3401
acl snmpsquid snmp_community public
snmp_access allow snmpsquid localhost
snmp_access deny all


#################################################################
# ALLOWED ACCESS
#################################################################

acl modem url_regex 192.168.1. 192.168.2.

http_access allow !modem client
http_access allow billing
http_access allow localhost
http_access deny all

http_reply_access allow all
icp_access allow dl
icp_access allow localhost
icp_access deny all
always_direct deny all


#################################################################
# Cache CGI & Administrative
#################################################################

cache_mgr th@opikdesign.com
cachemgr_passwd 123 all
visible_hostname local.domain
cache_effective_user proxy
cache_effective_group proxy
coredump_dir /var/spool/squid
shutdown_lifetime 10 seconds
logfile_rotate 14

Matikansquid

# service squid stop

Memberikanpermissionpadafoldercache
# chown -R proxy.proxy /home/proxy1
# chown -R proxy.proxy /home/proxy2
# chown -R proxy.proxy /home/proxy3

Membuatfolderfolderswap/cachedidalamfoldercacheyangtelahditentukan

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

Startsquid.

# service squid start

BuatruleiptablesagarportHTTP(80)dariclientdibelokkankeportProxy(3128).

# iptables -t nat -I PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
# iptables -t nat -I PREROUTING -i eth0 -p udp -m udp --dport 80 -j REDIRECT --to-ports 3128

UntukmengujiPROXYdanHAVP,diclientdownload/bukaIEatoMozillabukaURL.
http://www.eicar.org/download/eicarcom2.zip, klomemangsudahjalannormal,akanmuncul"Accesstothepagehasbeen
deniedbecausethefollowingviruswasdetected.ClamAV:EicarTestSignature"denganbackgroundmerah.

TAHAPXV
INSTALLSARGDANCALAMARIS
UNTUKMEMONITORSQUIDPROXY
SELAINMENGGUNAKANSQUIDCGI

FungsiCALAMARISdisquidadalahmempermudahkitauntukmelihatstatistickinerjasquidproxy.

FungsiSARGadalahmempermudahkitauntukmelihatclientmengakseskemanasaja,yangsebenarnyasudahdicatatdilog
/var/log/squid/access.lognamunsulitdibacakarenakurangmanusiawi,denganSARGtampilanWebGUImembuatmudah
dibaca.

InstallSARGdanCALAMARIS

# apt-get install sarg calamaris libgd-graph-perl libnetaddr-ip-perl ttf-dustin

hasil

SettingCALAMARIS
# squid -k rotate
# mkdir /var/www/calamaris
# calamaris -a -F html /var/log/squid/access.log > /var/www/calamaris/index.html

SettingSARG

editfile/etc/sarg/sarg-reports.conf;rubahsepertidibawahini(tekswarnamerah)...

SARG=/usr/bin/sarg
CONFIG=/etc/sarg/sarg.conf
HTMLOUT=/var/www/squid-reports
PAGETITLE="Access Reports on $(hostname)"
LOGOIMG=/sarg/images/sarg.png
LOGOLINK="http://$(hostname)/"
DAILY=Daily
WEEKLY=Weekly
MONTHLY=Monthly
EXCLUDELOG1="SARG: No records found"
EXCLUDELOG2="SARG: End"

daneditfile/etc/sarg/sarg.conf;caribaris...

output_dir /var/lib/sarg

dirubahmenjadi...

output_dir /var/www/squid-reports

agarIPdirubahmenjadinamahostmakacaribaris

/etc/sarg/usertab

dirubahmenjadi...

usertab /etc/hosts

Kemudianbuatfolderdanbuatreport

# mkdir /var/www/squid-reports

# sarg-reports today
# sarg-reports daily
# sarg-reports weekly
# sarg-reports monthly

MemasukkanpadaCrontab,padadasarnyaSARGsudahadapenjadwalannamunsayamasukkanlagiagarlebihseringrefresh.
Jalankancrontab

# crontab -e

Kemudiantambahandibaristerakhir

* */6 * * * /usr/sbin/sarg-reports today


* */12 * * * calamaris -a -F html /var/log/squid/access.log > /var/www/calamaris/index.html

CaramelihatreportdariCALAMARISbrowsingkeURLhttp://[ipserver]/calamaris.

CaramelihatreportdariSARG
browsingkeURLhttp://[ipserver]/squidreports.

TAHAPXVI
MEMBUATFIREWALLDAN
MAC&IPFILTERING

Membuatfirewallbersertalogyangsederhanadannantinyadapatdikembangkansesuaikebutuhan.

UntuksementaradibukaportHTTP(80),HTTPS(443)danSSH(221)dikeduainterfaces,namununtukportSSHdarisisiinterfaces
local(eth1)hanyabisadiaksesolehcomputeradministratorsemisalberIP192.168.0.100danselainituakanditutupyang
bertujuandemikeamanan.

Dankhususyangdaridalam(eth1)selainportHTTP(80)danHTTPS/HTTPSSL(443)dibukajugaportportsebagaiberikut:
1.PortFTP(20,21)danFTPSSL(115,989,990)
2.EmailPOP3(110)/SMTP(25)danPOP3SSL(995)/SMTPSSL(465)
3.Samba(135,137,138,139,445)danCUPS(631).
4.DNS(53)
5.Proxy(3128,3130)danHAVP(8080)
6.Dsb.

Sekaligusdibuatagarservertidakbisadipingdenganlasankeamanan

RequestdariportHTTPakanlangsungdibelokkankeportProxy(3128).

IniuntukpengamananjaringanlocalterutamauntukRT/RWNettetapibisadigunakanuntuksemuakeperluanagarclienttidak
isengmerubahIPnyaakhirnyakitasebagaiadministratorsulituntukmemantau.IPyangdidapatkanclientharustetap(static)bisa
dilakukanmemasukanIPsecaramanualataumenggunakanDHCPdenganmenentukanIPberdasarkanMACADDRESSnya,lihat
langkahinstalldansettingDHCPServerdiatas.UntukMACFilteringmasihbisadiboboldengancloningMACtetapikloIPsama
dalamsatujaringanpastiakanterjadiIPConflic,makaitukitamengkunciMACADDRESSdanIPClient,kloIPmaupunMACyang
tidakmasukdalamdaftarakantidakdapatterkoneksidenganserver.
Buatfilebashscriptdi/etc/network/filter

#!/bin/bash
# Bash script Firewall with IP Address and MAC Address Filtering
# (C) 2009-2010 by th@opikdesign.com

###### VARIABLE

files1=/etc/network/lists.filter #IP & MAC Client list file, sesuaikan
files2=/etc/network/administrator.filter #IP & MAC Administrator/Billing list file, sesuaikan

ip_subnet=192.168.0.0/24 #default local ip, sesuaikan
ip_modem=192.168.1.1 #default modem ip

device_modem=eth0 #default modem interfaces, sesuaikan
device=eth1 #default local interfaces, sesuaikan
device_inet=ppp+ #default inet interfaces, sesuaikan

ssh=221 #port SSH, sesuaikan
webmin=10000
samba_cups=135,137,138,139,445,631
http=80
http_SSL=443
smtp=25
smtp_SSL=465
pop3=110
pop3_SSL=995
DNS=53
ftp=20,21
ftp_SSL=115,989,990
proxy=3128
havp=8080
icp=3130
time=13,123

games=29000,27000,1873,11031,9110
dota=6112:6118
PB_TCP=39100,39110,39220,49100,39190
PB_UDP=40000:40009

range_port=1025:65535


####### SCRIPT

echo FIREWALL STATUS: All Firewall Drop & Reset
/sbin/iptables -t mangle -F
/sbin/iptables -t nat -F
/sbin/iptables -t filter -F
/sbin/iptables -X
/sbin/iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

echo FIREWALL STATUS: MTU Setting
/sbin/iptables -t mangle -A FORWARD -o $device -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536
-j TCPMSS --clamp-mss-to-pmtu
/sbin/iptables -t mangle -A FORWARD -o $device_inet -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss
1400:1536 -j TCPMSS --clamp-mss-to-pmtu

echo "FIREWALL STATUS: Mangle created for Proxy Port at number 4"
/sbin/iptables -t mangle -A OUTPUT -m tos --tos Maximize-Reliability -j MARK --set-mark 0x04
/sbin/iptables -t mangle -A OUTPUT -m tos --tos 0x04 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A FORWARD -m tos --tos 0x04 -j MARK --set-mark 0x04
/sbin/iptables -t mangle -A POSTROUTING -m tos --tos 0x04 -j MARK --set-mark 0x04

echo FIREWALL STATUS: Drop all FORWARD on $device
/sbin/iptables -t filter -I FORWARD -i $device -j DROP

echo FIREWALL STATUS: IP & MAC Filtering on device $device
echo FIREWALL STATUS: Allow access for IP-ADDRESS and MAC-ADDRESS:

cat $files1 | while read ip_address mac_address client; do

/sbin/iptables -t nat -I FORWARD -i $device -s $ip_address -d $ip_modem -p tcp -m multiport --dport
$http,$http_SSL -j DROP
/sbin/iptables -t nat -I FORWARD -i $device -s $ip_address -d $ip_modem -p udp -m multiport --dport
$http,$http_SSL -j DROP

/sbin/iptables -t nat -I PREROUTING -i $device -s $ip_address -p tcp -m tcp --dport $http -j REDIRECT -
-to-ports $proxy
/sbin/iptables -t nat -I PREROUTING -i $device -s $ip_address -p udp -m udp --dport $http -j REDIRECT -
-to-ports $proxy

/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -
m multiport --dports $samba_cups -j ACCEPT
/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -
m multiport --dports $samba_cups -j ACCEPT
/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -
m multiport --dports $http,$http_SSL,$smtp,$smtp_SSL,$pop3,$pop3_SSL,$DNS,$ftp,$ftp_SSL -j ACCEPT
/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -
m multiport --dports $http,$http_SSL,$pop3,$pop3_SSL,$DNS,$ftp,$ftp_SSL -j ACCEPT
/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -
m multiport --dports $proxy,$havp,$icp,$time -j ACCEPT
/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -
m multiport --dports $proxy,$havp,$icp,$time -j ACCEPT

/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -m
multiport --dports $samba_cups -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -m
multiport --dports $samba_cups -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -m
multiport --dports $http,$http_SSL,$smtp,$smtp_SSL,$pop3,$pop3_SSL,$DNS,$ftp,$ftp_SSL -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -m
multiport --dports $http,$http_SSL,$pop3,$pop3_SSL,$DNS,$ftp,$ftp_SSL -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -m
multiport --dports $proxy,$havp,$icp,$time -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -m
multiport --dports $proxy,$havp,$icp,$time -j ACCEPT

/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -
m multiport --dports $range_port -j ACCEPT
/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -
m multiport --dports $range_port -j ACCEPT

/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p tcp -m
multiport --dports $range_port -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -p udp -m
multiport --dports $range_port -j ACCEPT

/sbin/iptables -t nat -A POSTROUTING -s $ip_address -o $device_inet -j MASQUERADE

echo $ip_address [$mac_address] => $client

done

cat $files2 | while read ip_address mac_address client; do

/sbin/iptables -t nat -I PREROUTING -i $device -s $ip_address -p tcp -m tcp --dport $http -j REDIRECT -
-to-ports $proxy
/sbin/iptables -t nat -I PREROUTING -i $device -s $ip_address -p udp -m udp --dport $http -j REDIRECT -
-to-ports $proxy

/sbin/iptables -t filter -I FORWARD -i $device -s $ip_address -m mac --mac-source $mac_address -j
ACCEPT

/sbin/iptables -t filter -A INPUT -i $device -s $ip_address -m mac --mac-source $mac_address -j ACCEPT

/sbin/iptables -t nat -A POSTROUTING -s $ip_address -o $device_inet -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s $ip_address -o $device_modem -j MASQUERADE

echo $ip_address [$mac_address] => $client this Administrator Host

done

echo FIREWALL STATUS: ICMP Allowed on $device
/sbin/iptables -t filter -I FORWARD -i $device -p icmp --icmp-type echo-request -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device -p icmp --icmp-type echo-request -j ACCEPT

echo FIREWALL STATUS: Drop all INPUT on $device
/sbin/iptables -t filter -A INPUT -i $device -j DROP

echo FIREWALL STATUS: Port Filtering on $device_inet
/sbin/iptables -t filter -A INPUT -i $device_inet -p tcp -m multiport --dports $games -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device_inet -p udp -m multiport --dports $games -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device_inet -p tcp -m tcp --dport $dota -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device_inet -p udp -m udp --dport $dota -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device_inet -p tcp -m multiport --dports $PB_TCP -j ACCEPT
/sbin/iptables -t filter -A INPUT -i $device_inet -p udp -m udp --dport $PB_UDP -j ACCEPT

/sbin/iptables -t filter -A INPUT -i $device_inet -p tcp -m multiport --dports $http,$http_SSL,$ssh,$webmin -j
ACCEPT
/sbin/iptables -t filter -A INPUT -i $device_inet -p udp -m multiport --dports $http,$http_SSL,$ssh,$webmin -j
ACCEPT
/sbin/iptables -t filter -A INPUT ! -s $ip_subnet -i $device_inet -p tcp -m multiport --dports $smtp,$smtp_SSL
-j DROP
/sbin/iptables -t filter -A INPUT -i $device_inet -p tcp -j REJECT --reject-with tcp-reset
/sbin/iptables -t filter -A INPUT -i $device_inet -p udp -j REJECT --reject-with icmp-port-unreachable
/sbin/iptables -t filter -A INPUT -i $device_inet -p icmp -m icmp --icmp-type 8 -j DROP
/sbin/iptables -t filter -A FORWARD -i $device_inet -p icmp -m length --length 92 -j DROP
/sbin/iptables -t filter -A INPUT -i $device_inet -p icmp --icmp-type echo-request -j DROP

echo FIREWALL STATUS: Drop all INPUT on $device_inet
/sbin/iptables -t filter -A INPUT -i $device_inet -j DROP

echo FIREWALL STATUS: Log created
/sbin/iptables -t filter -A INPUT -p tcp -m limit --limit 5/min -j LOG --log-prefix "Iptables: Denied TCP Port:
" --log-level 7
/sbin/iptables -t filter -A INPUT -p udp -m limit --limit 5/min -j LOG --log-prefix "Iptables: Denied UDP Port:
" --log-level 7
/sbin/iptables -t filter -A INPUT -p icmp -m limit --limit 5/min -j LOG --log-prefix " Iptables: Denied IMCP
Port: " --log-level 7
/sbin/iptables -t filter -A INPUT -p tcp -m state --state NEW -m multiport --dport $http,$http_SSL -j LOG --
log-prefix "HTTP_CONN: TCP Port: "
/sbin/iptables -t filter -A INPUT -p tcp -m state --state NEW -m multiport --dport $proxy,$havp -j LOG --log-
prefix "PROXY_CONN: TCP Port: "
/sbin/iptables -t filter -A INPUT -p udp -m state --state NEW -m multiport --dport $http,$http_SSL -j LOG --
log-prefix "HTTPS_CONN: UDP Port: "
/sbin/iptables -t filter -A INPUT -p udp -m state --state NEW -m multiport --dport $proxy,$havp -j LOG --log-
prefix "PROXY_CONN: UDP Port: "
/sbin/iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport $ssh -j LOG --log-prefix
"SSH_CONN: TCP Port: "
/sbin/iptables -t filter -A INPUT -p udp -m state --state NEW -m udp --dport $ssh -j LOG --log-prefix
"SSH_CONN: UDP Port: "

Kemudianfile/etc/network/filterdiberichmodagarbisajalankan

# chmod +x /etc/network/filter
Kemudianbuatfile/etc/network/administrator.filterygberisilistIPdanMACdaricomputeradministrator/billing,
contoh

192.168.0.200 00:11:D8:CF:A5:21 billing.local.domain

Danbuatjugafile/etc/network/lists.filterygberisilistIPdanMACdaricomputerparaclient,
contoh

192.168.0.101 00:11:5B:78:D3:E8 client01.local.domain
192.168.0.102 00:16:EC:1E:2F:9E client02.local.domain
192.168.0.103 00:13:D4:CB:69:0F client03.local.domain
192.168.0.104 00:0E:2E:33:DF:BE client04.local.domain
192.168.0.105 00:11:5B:78:D3:E8 client05.local.domain
192.168.0.106 00:16:EC:1E:2F:9E client06.local.domain
192.168.0.107 00:13:D4:CB:69:0F client07.local.domain
192.168.0.108 00:0E:2E:33:DF:BE client08.local.domain
192.168.0.109 00:11:5B:78:D3:E8 client09.local.domain
192.168.0.110 00:16:EC:1E:2F:9E client10.local.domain

Tiapkalicomputerserverbooting/startpertamakaliatausaatjaringandirestartagarmenjalankanbashscripttersebutmakaedit
kembalifile/etc/network/interfaceskemudianpadagroupeth1tambahkan

pre-up /etc/network/filter

jadiisifilekeseluruhannyamenjadisebagaiberikut(tulisanwarnamerah)

auto lo
iface lo inet loopback

auto eth0
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
pre-up /etc/network/filter

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

Terakhirlakukanrestartpadajaringan

# /etc/init.d/networking restart

TAHAPXVII1
INSTALLDANSETTINGWEBHTB
SEBAGAIBANDWIDTHMANAGEMENT
DILENGKAPIPEMISAHBANDWIDTHIIXDANINTL.
WebHTBadalahsebuahtoolsuntukmengaturBandwidthlangsungpadaTC,WebHTBsebenarnyapengembangandariHTBTools
sedangkanyangsekaranginilebihuserfriendlykarenadidukungWebGUI.SaatsayatulisversiterbarunyaadalahVersi2.9.

Masukdirectory/vardandownloadkemudianextract
# cd /var
# wget -c http://www.opikdesign.com/kios/webhtb/webhtb_V2.9.25.tar.bz2
# tar -xjvf webhtb_V2.9.25.tar.bz2
# rm webhtb_V2.9.25.tar.bz2
Kemudianfolder/var/webhtbdiberipermissionagarbisadiaksesolehapache

# chown -R www-data.www-data /var/webhtb

Editfile/etc/apache2/sites-available/ssl kemudiantambahkansepertidibawahinisebelum</VirtualHost>


Alias /webhtb /var/webhtb
<Directory "/var/webhtb">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>


RestartApache

# service apache2 restart

JikadefaultdariportSSHdirubahkalautidakdirubahtetapdiport22makaabaikanlangkahini,
editfile/ var / webht b/ Net / SSH1. php,
Cariteks

function Net_SSH1($host, $port = 22, $timeout = 10, $cipher = NET_SSH1_CIPHER_3DES)

Angka22dirubahdenganportdefaultpadaportSSHyangkitapakai,misalnyaportSSHsudahdirubahdefaultnyamenjadi221
makarubahmenjadi

function Net_SSH1($host, $port = 221, $timeout = 10, $cipher = NET_SSH1_CIPHER_3DES)

Begitujugapadafile/ var / webht b/ Net / SSH2. php,


Cariteks

function Net_SSH2($host, $port = 22, $timeout = 10)

Angka22dirubahdenganportdefaultpadaportSSHyangkitapakai,misalnyaportSSHsudahdirubahdefaultnyamenjadi221
makarubahmenjadi

function Net_SSH2($host, $port = 221, $timeout = 10)

Buatpasswordroot:

# passwd root

masukanpasswordyangdikehendakidanketikulang.

Bukaht t ps: / / [ i p- ser ver ] / webht b/ set upwebbrowsingdaricomputeradministrator

Isiygbertulismerah
UntukMySQLUserdiisirootdanuntukpassworddiisisaatinstallUbuntuServer/LAMPpertamakali.
SedangkanDefaultLANInterfacedanDefaultWANInterfacepilihdansesuaikankondisi.

ClickSubmit,kalausuksesakanmunculdanclickOK

Setelahituakanmuncultampilanuntukloginsepertidibawahini,danmasukanpasswordrootygsudahdibuat.

Sebelumlogin,updateIPGames,editfile/var/webhtb/games/nice.rsc danisinyabisadiganti(janganditambahkan)denganlink
http://opensource.telkomspeedy.com/forum/viewtopic.php?pid=66635#p66635

UpdateIPIIX,jalankanperintahtersebut

# sh /var/webhtb/iix/update/generate.update

MembuatWebHTBmenjadidaemonagartiapkaliserverbootingakanmenjalankanWebHTB,ikuticommanddibawahini

# cp /var/webhtb/docs/webhtb /etc/init.d/webhtb
# chmod +X /etc/init.d/webhtb

daneditfile/etc/rc.local dantambahkanbarissebagaiberikut


Service webhtb start

Setelahlogintampilanakansepertiini

TAHAPXVII2
MENGATURBANDWIDTH
YANGDIPERLUKANOLEHSYSTEM
(SSH,SAMBA,CUPS,SQUIDPROXY)

SekarangmemberibandwidthpadaportSSHagartidakterlimit.
MousearahkanAddClientdanclick

PilihClassSYSTEM_LOCAL
Namaclient:SSH(nantinyasecaraotomatisnamanyaakanberubahsesuaiclassesdaninterfaces)
Bandwidth:10240
Limit:102400
Priority:0(Semakinkecilsemakindiutamakan)
SRCIPS:192.168.0.1(IPServer,Sesuaikan)
SRCPORTS:221(ContohPortSSHygsudahdirubah,Sesuaikan)

KemudianclickSAVEdanClose.

JikatidakmenginstallSAMBAmakalangkahtersebutbisadiabaikan.
AgartidakmembatasiSAMBAdanCUPS

MousearahkanAddClientdanclick

ClickClickherefornewsrc,dstsebanyak5kali.

PilihClassSYSTEM_LOCAL
Namaclient:SAMBA_CUPS
Bandwidth:10240
Limit:102400
Priority:1
SRCIPS:192.168.0.1(SesuaikandenganIPServer)
SRCPORTS:135,137,138,139,445(PortSAMBA),631(PortCUPS)

JikatidakmenginstallSQUIDPROXYmakalangkahtersebutbisadiabaikan.
Agarhalamanwebyangsudahdicacheolehsquidproxytidakterlimit.

Editkembalifile/ et c/ squi d/ squi d. conf danpadabaristerakhirtambahkan


#################################################################
# Marking ZPH for b/w management
#################################################################

zph_mode tos
zph_local 0x04
#zph_parent 0
#zph_option 136

kemudiansquiddirestart
# squid -k reconfigure

Kemudianjalankanrulestersebutdiatas
# iptables -t mangle -A OUTPUT -m tos --tos Maximize-Reliability -j MARK --set-mark 0x4
# iptables -t mangle -A OUTPUT -m tos --tos 0x4 -j MARK --set-mark 0x4
# iptables -t mangle -A FORWARD -m tos --tos 0x4 -j MARK --set-mark 0x4
# iptables -t mangle -A POSTROUTING -m tos --tos 0x4 -j MARK --set-mark 0x4

TerakhirtambahclientPROXY_HITdiclassesSYSTEMpadaWebHTB.
MousearahkanAddClientdanclick

PilihClassSYSTEM_LOCAL
Namaclient:PROXY_HIT
Bandwidth:1024
Limit:10240
Priority:2
Mark:4

TAHAPXVII3
MENGATURBANDWIDTHDOWNLOADCLIENT
DANMEMISAHKANBANDWIDTH
UNTUKGAMESONLINE
DANLOCAL(IIX)DENGANINTERNATIONAL(INTL)

Mengaturbandwidthtiapunitclientsebenarnyagampanggampangsusah.Padadasarnyapembagianbandwidthperclient
berdasarkandarirumus,tiapunitclientmendapatkanbandwidthterendahsebesarbandwidthrataratayangdidapatdariISP
dibagijumlahunitclientsedangkanuntukbatasbandwidthtertinggidaritiapclientbisadiambildaribandwidthterendahdaritiap
clientbisadikalikanduaatauekstrimnyabatasatasbandwidthdariISP,namununtukamannyamaksimalsetengahdaribandwidth
ISP.

Dapatdirumuskansebagaiberikut

BandwidthClient=<BandwidthdownloaddariISP>/<JumlahClient>

LimitClient=<BandwidthClient>x2

atauekstrimnya

LimitClient=<BandwidthdownloaddariISP>/2

BandwidthUpload=<LimitClient>/4

atau

BandwidthUpload=<BandwidthuploaddariISP>/<JumlahClient>

KarenabeberapaISPadaygmemberikanbandwidthIXtidaksamaataulebihkecilketimbangbandwidthIIX,karenaituuntuk
memanagebandwidthuntukclientperluadapemisahanmanabandwidthdariINTLdanIIX.Terutamapemakaianpadaspeedy.

Sebelummembuatclassespemisahbandwidthdanmembatasinbandwidthtiapclient,adabaiknyamengcheckdahuluseberapa
besarnyabandwidthIIXdanIXyangdidapatdariISP,checkdihttp://www.speedtest.net.

UntukmelihatspeedIIXarahkeserveryangberadadidalamnegeri,contohhasilnya

UntukmelihatspeedINTLarahkankeserverdiluarnegeri,usahakandibenuayangterjauhsemisalAmerika,contohhasilnya

Karenabandwidthinitidakselalustabilataukatalainakanberubahrubah,cobapantauterusbeberapaharidenganwaktuyang
randommisalnyapagi,siang,sore,malam,dantengahmalamagarmendapatkanangkajamjamtersibukdanterkosong,kemudian
ambilrataratanyahasilnyaakandijadikanpatokanbandwidthyangdidapatdariISPlangsung.

EditclassGAMES_DOWNLOAD,IIX_DOWNLOADdanINTL_DOWNLOAD,sesuaikanbandwidthdenganhasilpengukuranlewat
http://www.speedtest.net

Perludiketahuai,untukGAMES_DOWNLOADbesaransamasepertiIIX_DOWNLOAD,karenaIPyangterdaftardidatabase
hanyadiperuntukanGameOnlinediIndonesia.

ArahkanmousekeClasses+kemudianpilihEditclassesdanclick

Pilihclassyangakandieditkemudianclicktandacentanghijau.

EditClassesGAMES_DOWNLOAD,

MasukkanBandwidthdanLimityangdidapatdariISPuntukkoneksiIIX,dilihathasiltestdiatas.
Namunperludiingat,bandwidthgamesdanIIXjadisatumakaituuntukbandwidthdibagiduadgnIIX_DOWNLOAD,selainitu
BandwidthdanLimitharuskelipatan8.
Kemudianclicktandacentanghijau.

EditClassesIIX_DOWNLOAD,

MasukkanBandwidthdanLimityangdidapatdariISPuntukkoneksiIIX,dilihathasiltestdiatas.
Namunperludiingat,bandwidthgamesdanIIXjadisatumakaituuntukbandwidthdibagiduadgnGAMES_DOWNLOAD,selain
ituBandwidthdanLimitharuskelipatan8.
Kemudianclicktandacentanghijau.

EditClassesINTL_DOWNLOAD,

MasukkanBandwidthdanLimityangdidapatdariISPuntukkoneksiINTL,dilihathasiltestdiatas.

Sebelumnyamenentukanbandwidthtiapclientsebaiknyamenghitungsesuaipenjelasandiatas.
BuattiapclientditiapclassesIIXdanIX,contohnya
Setelahdihitung,inicontohmenggunakanSpeedyPaketGamedanbandwidthrataratayangdidapatdariISP,
IIX:900/210kbps(download/upload)danIX:560/170kbpskemudianmissaldibagi10unitclientditambah1unit
administrator/billingmakasetinganWebHTBsebagaiberikut

BagiwarnetyangmengkhususkanclientuntukGamesOnline,besaranbandwidthdanlimitsamasajadenganbesaranIIX
hanyasajadisinisecaraotomatisuntukclassGAMES_DOWNLOADdiprioritaskandaripadaclassesuntukbrowsingbiasa,
dengantujuanagarsaatmaingamestidakngelag.

BuatClientuntukkhususGamesOnline,masukanpadaclassesGAMES_DOWNLOAD

PilihClassGAMES_DOWNLOAD
Client:games01(SesuaikanmisalbisadigantiClient01,nantinyasecaraotomatisnamanyaakanberubahsesuaiclassesdan
interfacesagarpengaturandidatabasetidaksalingbertindih,DILARANGMERUBAHMELALUIEDITCLIENTDENGAN
MEMBUANGIMBUHANCLASSESDANINTERFACES)
Bandwidth:80(darirumusdan/ataukondisidanharuskelipatan8)
Limit:160(darirumusdan/ataukondisidanharuskelipatan8)
MAC:0011D8CFA521(MACADDRESSClient,sesuaikan)
DSTIPS:192.168.0.100(IPADDRESSClient,sesuaikan)
PERHATIAN:
UNTUKIDENTITASCLIENTBISAMENGGUNAKANMACADDRESSAJAATAUIPADDRESSAJAATAUDIISIKEDUANYA,
DIANJURKANTERUTAMAUNTUKWIFIAGARMEMAKAIKEDUANYA.UNTUKCLASSGAMES_DOWNLOAD,JANGANSAMPAI
MENGISIPORTSDANSRC.DILARANGMENGISIMARK,JIKAAKANMENGGUNAKANMARKLEBIHBAIKMEMBUATCLASSES
TERSENDIRI.

BuatclientuntukkoneksiIIX,masukkanpadaclassesIIX_DOWNLOAD

PilihClassIIX_DOWNLOAD
Client:browsing01(SesuaikanmisalbisadigantiClient01,nantinyasecaraotomatisnamanyaakanberubahsesuaiclassesdan
interfacesagarpengaturandidatabasetidaksalingbertindih,DILARANGMERUBAHMELALUIEDITCLIENTDENGAN
MEMBUANGIMBUHANCLASSESDANINTERFACES)
Bandwidth:80(darirumusdan/ataukondisidanharuskelipatan8)
Limit:160(darirumusdan/ataukondisidanharuskelipatan8)
MAC:000C46A7229A(MACADDRESSClient,sesuaikan)
DSTIPS:192.168.0.110(IPADDRESSClient,sesuaikan)
PERHATIAN:
UNTUKIDENTITASCLIENTBISAMENGGUNAKANMACADDRESSAJAATAUIPADDRESSAJAATAUDIISIKEDUANYA,
DIANJURKANTERUTAMAUNTUKWIFIAGARMEMAKAIKEDUANYA.UNTUKCLASSIIX_DOWNLOAD,JANGANSAMPAIMENGISI
PORTSDANSRC.DILARANGMENGISIMARK,JIKAAKANMENGGUNAKANMARKLEBIHBAIKMEMBUATCLASSESTERSENDIRI.

SetelahmembuatclientdiclassINTL_DOWNLOAD

Client:browsing01(SesuaikanmisalbisadigantiClient01,nantinyasecaraotomatisnamanyaakanberubahsesuaiclassesdan
interfacesagarpengaturandidatabasetidaksalingbertindih,DILARANGMERUBAHMELALUIEDITCLIENTDENGAN
MEMBUANGIMBUHANCLASSESDANINTERFACES)

Bandwidth:48(darirumusdan/ataukondisidanharuskelipatan8)
Limit:104(darirumusdan/ataukondisidanharuskelipatan8)
MAC:000C46A7229A(MACADDRESSClient,sesuaikan)
DSTIPS:192.168.0.110(IPADDRESSClient,sesuaikan)
PERHATIAN:
UNTUKIDENTITASCLIENTBISAMENGGUNAKANMACADDRESSAJAATAUIPADDRESSAJAATAUDIISIKEDUANYA,
DIANJURKANTERUTAMAUNTUKWIFIAGARMEMAKAIKEDUANYA.UNTUKCLASSINTL_DOWNLOAD,JANGANSAMPAI
MENGISIPORTSDANSRC.DILARANGMENGISIMARK,JIKAAKANMENGGUNAKANMARKLEBIHBAIKMEMBUATCLASSES
TERSENDIRI.

Janganlupabuatkanuntuksemuaclient.

TerakhirjalankanWebHTB

ArahkanmousekeChangeQOSStatuskemudianpilihStart/RestartQOSdanclick

KarenaadatambahanfasilitaspemisahIIXdanINTLmakaprosesinilebihlamadaripadaWebHTByangtanpaIIXdanINTL.
Kalausudahsuccessakansepertiini

UntukmelihatTrafficnya,
ArahkanmousemenujukeShowkemudianpilihShowtrafficdanclick

Contohtraffic

Adabaiknyasetelahmengentrysemuaclient,lebihbaiklakukanrestartpadaserver,terkadangjalannyaQOSpadaTCtidaknormal.

TAHAPXVIII
INSTALL&SETTINGCACTI

CACTI,sebuahprogramyangberbasiswebberfungsiuntukmemantauaktifitasserver,CACTImelaporkandalambentukgrafik.Jadi
semuaaktifitasserverakanterpantaumulaitransferratedatasampaikinerjaprocessormaupunRAM.

CACTIjugamembutuhkanrepositorylainnya,antaranyaSNMPdanRRDTOOLS,berhubungkitasudahmenginstallreprosistory
tersebut.SettingSNMPnyabukafile/ et c/ snmp/ snmpd. conf danrubahmenjadisepertiini


# sec.name source community
com2sec readonly 192.168.0.1 root # ini ip-nya server cacti, sesuaikan
com2sec readonly localhost root
com2sec readonly local.domain root # sesuaikan

# sec.model sec.name
group MyROGroup v1 readonly
group MyROGroup v2c readonly
group MyROGroup usm readonly
group MyRWGroup v1 readwrite
group MyRWGroup v2c readwrite
group MyRWGroup usm readwrite

# incl/excl subtree mask
view all included .1 80

# context sec.model sec.level match read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none

syslocation local.domain
syscontact th@opikdesign.com

KemudianrestartSNMPnya

# service snmpd restart

TestSNMPapakahsudahberjalandenganSNMPWALK

# snmpwalk -v 1 -c root localhost system

SNMPWALKakanmenunjukankalauSNMPberjalanhasilnyakuranglebihsepertidibawahini

CheckdahuluversiSNMPdanRRDToolsyangdipakaidgnperintahsebagaiberikut..

# rrdtool -V && snmpd -v

danhasilnya

dapatdilihat,RRDToolsver1.3.1danSNMPver5.4.1

KemudianInstallCACTI

# apt-get install cacti

akanmunculpertanyaantentangconfigurationdatabaseCACTI

masukkanpasswordMySQLpadauserroot@localhost

JikadiingindatabaseMySQLuntukCACTIdiberipasswordmakaisiini,disarankantidakperlumemberipassword

Memilihmesinwebserver,pilihApache2ataukalauinginmenggunakanSSLpilihApacheSSL

instalasitahappertamasukses

Installtahap2melaluicomputerclient/administratordenganmenggunakanwebbrowsing,bukahttp://[ipserver]/cacti/install...

ClickNext>>

ClickNext>>

PilihSNMPdanRRDToolyangdipakaikemudianclickFinish

Login,pertamaakanmuncultampilanloginsepertiini

masukanusernamedanpasswordadmin

masukkanpasswordbaruuntukadmindanulangilagi,kemudianclickSave

tampilannyaakanmenjadisepertiini

Setup/SettingDevicepadaCACTI

buatdevicebaru,clickmenusisikiridibawahmanagementclickpadadevice

ClickAddpadasisikananatas

kemudianisinyaikutinsebagaiberikut
FormDevices

UntukDescriptionbisadirubah

FormSNMPOptionsdanAvailability/ReachabilityOptionsnya

kemudianclickcreate

KalauberhasildanSNMPberjalannormaldiCACTI,makaakanmuncultulisandisisikiriatassepertiini

Scrollkebawahsampaimuncul

UntukformAssociatedDataQueries

Hapus1)UnixGetMountedPartitions,denganclicktandasilangmerah.
kemudianAddDataQuerypilihSNMPGetMountedPartitionsdenganReIndexMethodpilihVerifyAllFieldclickadd.
ulangi,AddDataQuerypilihSNMPGetProcessorInformationdenganReIndexMethodpilihVerifyAllFieldclickadd.
terakhir,AddDataQuerypilihSNMPInterfaceStatisticdenganReIndexMethodpilihVerifyAllFieldclickadd.

Tampilanakanmenjadisepertiini

LihatstatusstatuspadaformAssociatedDataQueriesseharusnyaSuccesskalauSNMPsudahberhasilmelakukanQuerypada
mesinLinux.

KemudianpadaformAssociatedGraphTemplatedtambahkanSNMPtemplate

AddGraphTemplatedpilihSNMPGenericOIDTemplateclickadd.

Tampilankeseluruhanakanmenjadisebagaiberikut

Kemudianclicksave

Tampilanakankembalisepertiini

Padadeviceyangtadikitabuat,sisikananberitandacentangdanpadaChooseanActionpilihPleaceonaTree(DefaultTree)
clickgo

Pilihyes

KemudiandevicebawaanCACTIyaitulocalhostdidelete
PilihLocalhostclicksisikanankemudianChooseanActionpilihDeleteclickgo

ClickyesTampilannyaakanmenjadisepertiini

Buatgrafik,ClickNewGraphspadaCreateMenusisikiri

sesuaikankebutuhan,misalnyapenggunaanRAMdanProcessor,b/wtraffictransferrate,sisapartisihdduntukproxy,dll.

beritandacentangyangdimaksuduntukdibuatgrafiknyaclickcreate.

Clickcreate

kalauberhasilakanmuncultulisancreatedgraph:blablabla

Terakhir,jadikangrafikyangsudahdibuatagarmenjadiDefaultTree,clickGraphManagement

beritandacentangdisisikananpadasemuagrafikyangkitabuattadidanpadaChooseanActionpilihPleaceonaTree(Default
Tree)clickgo

Settingterakhir,agarcactiselalumelakukanpollersetiap5menit

PadamenusisikiriclickSettingspadaConfiguration

PadatabGeneralScrollkebawahformSNMPDefaultsisisepertiinisetelahituclicksave

KemudianpergiketabPollerdanscrollkebawahformHostAvailabilitySettingsisisepertiiniclicksave

Terakhir,tambahkanpollerpadacrontabjalankanperintahdibawahini

# echo "*/5 * * * * /usr/share/cacti/site/poller.php > /dev/null 2>&1" >>


/var/spool/cron/crontabs/root

KemudianaktifkanguestaccountagarakanmemlihatgrafiknyatidakharusmasukkeaccountadminbertujuansettinganCACTI
dirubahrubahlagi.

PilihmenukiridiUtilitiesdanclickUserManagementtapilannyaakanmenjadiberikut..
.

PadaguestsisikananberitandacentangkemudianpadaChooseanactionpilihEnableclickgo

clickyes

Clickguestuntukmengeditaccounttersebut
kemudianpaaformUserManagement[edit:guest],PadaAccountOptionsmatikan/buangtandacentangpadaUserMust
ChangePasswordatNextLogindanAllowthisUsertoKeepCustomGraphSettingsuntukPasswordisiguest
janganlupaclicksave

Installsampaisettingsudahselesaimakalogout,tunggu5menitagarCACTImencatatsemuagrafiknyakemudianloginkembali
denganuserguest.

hasilnyagrafiknyakuranglebihakansepertiini.

DEMIKIANTUTORIALMEMBUATSERVERALLINONE:
ROUTER,SSH,DHCPSERVER,DNSSERVER,SAMBA&WINSSERVER,
WEBCACHEDENGANPROXY&ANTIVIRUSHAVP

YANGDILENGKAPI:
SARG&CALAMARISUNTUKMEMONITORPROXY,
FILTERFIREWALLDENGANIP&MACADDRESS,
BANDWIDTHMANAGEMENTDENGANMEMISAHKANIIXDANINTL,
DANCACTISEBAGAIPEMANTAUKINERJASERVER.

By:
Taufiq Hidayat

e-mail: th@opikdesign.com
mobile: 08123003336
YM: opik1979

Anda mungkin juga menyukai