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:
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:
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:
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,
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:
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
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
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
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
kalausettingantidakadamasalahhasilnyakuranglebihakanmunculserialyangbuat.
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
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:
[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
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
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
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
Proxy,bisaberfungsisebagaifirewall/siteblock,webcachebahkanbisasedikitmengaturbandwidth.Fungsiiniadayang
memandangtidakperlu,tetapibagipenulisSquidmemegangperananpentingkarenabisadiunggulkansemisalmemblockpacket
yangtidakdiinginkandanmembantumengaturbandwidthkarenaadanyawebcacheyangbisadiandalkanpadasaatkoneksidari
ISPbermasalahmaupunbisamembatasifileyangdidownloadolehclient.
InstallHAVPdanSQUID
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
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.
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
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
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
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
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
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)
Angka22dirubahdenganportdefaultpadaportSSHyangkitapakai,misalnyaportSSHsudahdirubahdefaultnyamenjadi221
makarubahmenjadi
function Net_SSH2($host, $port = 221, $timeout = 10)
Buatpasswordroot:
# passwd root
masukanpasswordyangdikehendakidanketikulang.
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.
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
TestSNMPapakahsudahberjalandenganSNMPWALK
SNMPWALKakanmenunjukankalauSNMPberjalanhasilnyakuranglebihsepertidibawahini
CheckdahuluversiSNMPdanRRDToolsyangdipakaidgnperintahsebagaiberikut..
danhasilnya
dapatdilihat,RRDToolsver1.3.1danSNMPver5.4.1
KemudianInstallCACTI
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
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