Anda di halaman 1dari 57

Topologi yang akan digunakan seperti berikut :

1. Konfigurasi Debian
1. Setting IP Address
Pada debian setting ip address terletak pada file interfaces yang berada di direktori
/etc/network. kita mendapat alokasi alamat IP 172.16.6.2/26 yang akan kita gunakan pada server. Ok
langsung saja kita setting.

#nano /etc/network/interfaces
Edit konfigurasinya hingga seperti dibawah ini :

# This file describes the network interfaces available on your system


# and how to activate them. For more information, see interfaces(5).

# The loopback network interface


auto lo
iface lo inet loopback

#The primary network interface


auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0

auto eth0:0
iface eth0:0 inet static
address 192.168.1.2
netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
address 192.168.1.3
netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
address 192.168.1.4
netmask 255.255.255.0

auto eth0:3
iface eth0:3 inet static
address 192.168.1.5
netmask 255.255.255.0

auto eth0:4
iface eth0:4 inet static
address 192.168.1.6
netmask 255.255.255.0

Jangan lupa untuk merestart servicenya dengan cara :

#service networking restart


2. DHCP Server

DHCP server digunakan agar client bisa mendapatkan IP address secara otomatis tanpa perlu
menyeting client satu per-satu. Perlu diketahui sebelumnya, paket dhcp-server terdapat pada DVD ke-2.
Jadi anda harus sudah menambahkan DVD 2 ke repository linuxnya. Untuk cara instalasinya sebagai berikut.

#apt-get install isc-dhcp-server


Lalu edit file konfigurasinya yang berada di /etc/dhcp/dhcpd.conf , cari baris “A slightly different
configuration for an internal subnet.” seperti di bawah ini.

# A slightly different configuration for an internal subnet.


#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}

Ubah konfigurasi tadi menjadi seperti dibawah ini :

# A slightly different configuration for an internal subnet.


subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option domain-name-servers 192.168.1.1, 8.8.8.8;
option domain-name "misbahul.ac.id";
option routers 192.168.1.1;
option broadcast-address 192.168.1.254;
default-lease-time 600;
max-lease-time 7200;
} .
.
Setelah itu pilih interface mana yang akan dijadikan dhcp server, dengan cara berikut ini.

#nano/etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).


#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).


#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.


# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID
instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP


requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

tambahkan eth0 di INTERFACES=”” jika interface eth0 yang akan dijadikan DHCP server.

Lalu restart servicenya 2x untuk pertama kali saat konfigurasi :


#service isc-dhcp-server restart
[fail] Stopping ISC DHCP server: dhcpd failed!
[ok] Starting ISC DHCP server: dhcpd.
#service isc-dhcp-server restart
[ok] Stopping ISC DHCP server: dhcpd.
[ok] Starting ISC DHCP server: dhcpd.
3. BIND (DNS Server)

Untuk pembuatan DNS Server kita akan memakai sebuah packet / software bernama bind, kita akan
menggunakan bind versi terbaru yakni versi 9. Bind9 terletak pada DVD 1, Ok langsung saja kita praktekkan.

#apt-get install bind9


File konfigurasi bind9 terletak di /etc/bind agar lebih mudah dalam pengeditan file konfigurasi sebaiknya
kita masuk ke direktori tersebut terlebih dahulu.

#cd /etc/bind
File konfigurasi bind9 terpecah menjadi 3 bagian pokok, yaitu :

 named.conf = yang berisi konfigurasi global dari bind.


 named.conf.option = yang berisi konfigurasi akses list (siapa saja yang dapat mengakses),
listen IPv6, dsb.
 named.conf.local = yang berisi konfigurasi deklarasi zone-zone pada bind.

Saat ini kita hanya akan mengkonfigurasi named.conf.local saja.


#nano named.conf.local
Lalu edit file konfigurasi hingga seperti dibawah ini :

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "misbahul.ac.id" {
type master;
file "/etc/bind/db.misbahul";
};

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

PENJELASAN :
 Zone “misbahul.ac.id” = konfigurasi yang digunakan untuk memforward hostname ke IP
address.
 Zone “1.168.192.in-addr.arpa” = konfigurasi yang digunakan untuk me-reverse IP address ke
hostname.
 Type master = berfungsi untuk mendelegasikan bahwa DNS ini adalah sebagai
master bukan slave.
 File “/etc/bind/db.misbahul” = dimana tempat konfigurasi forward/reverse di letakkan.
Lalu kita buat file konfigurasi untuk zona forward dan reverse.

#cp db.local db.misbahul


#cp db.127 db.1
Lalu kita ubah konfigurasi untuk zona forward, dengan cara :

#nano db.misbahul

;
; BIND data file for misbahul.ac.id
;
$TTL 604800
@ IN SOA misbahul.ac.id. root.misbahul.ac.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS misbahul.ac.id.
@ IN A 192.168.1.1
@ IN MX 10 misbahul.ac.id.
www IN A 192.168.1.2
mail IN A 192.168.1.3
ftp IN A 192.168.1.4
ntp IN A 192.168.1.5
database IN A 192.168.1.6

Selanjutnya kita ubah konfigurasi zona reversenya.


#nano db.2

;
; BIND reverse data file for misbahul.ac.id
;
$TTL 604800
@ IN SOA misbahul.ac.id. root.misbahul.ac.id. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS misbahul.ac.id.
1 IN PTR misbahul.ac.id.
2 IN PTR www.misbahul.ac.id.
3 IN PTR mail.misbahul.ac.id.
4 IN PTR ftp.misbahul.ac.id.
5 IN PTR ntp.misbahul.ac.id.
6 IN PTR database.misbahul.ac.id.
Setelah itu, restart bind9 :

#sevice bind9 restart


Selanjutnya kita harus menambah nameserver kita ke file /etc/resolv.conf agar server kita dapat meresolv
dns lokal kita. Untuk cara konfigurasinya dengan cara dibawah ini :
#nano /etc/resolv.conf

search misbahul.ac.id
nameserver 192.168.1.1

Lalu kita restart service networking :

#service networking restart


Selanjutnya kita test DNS dengan perintah nslookup dan dig :

#nslookup 172.16.6.1
Hasilnya akan seperti dibawah ini, jika tidak berarti ada yang salah konfigurasinya. Jangan lupa untuk
mengecek ip yang lain.

#nslookup misbahul.ac.id
Hasilnya akan seperti dibawah ini, jika tidak berarti ada yang salah konfigurasinya. Jangan lupa untuk
mengecek dns yang lain seperti mail.misbahul.ac.id, dbase.misbahul.ac.id, dll.

Cara lain untuk mengecek DNS kita adalah menggunakan dig yaitu DNS Lookup Utility. Caranya seperti
berikut ini.

#dig -x 192.168.1.1
Hasilnya akan seperti dibawah ini, jika tidak berarti ada yang salah konfigurasinya. Jangan lupa untuk
mengecek ip lainnya jika anda menggunakan lebih dari 1 IP (ip alias).
#dig misbahul.ac.id
Hasilnya akan seperti dibawah ini, jika tidak berarti ada yang salah konfigurasinya. Jangan lupa untuk
mengecek dns yang lain seperti mail.misbahul.ac.id, dbase.misbahul.ac.id, dll.
4. Apache (Web Server)

Web Server digunakan sebagai tempat kita meletakkan file-file web (html, php, dll) agar dapat
diakses menggunakan web browser. Untuk menginstal apache di debian, caranya adalah sebagai berikut.

#apt-get install apache2


Setelah menginstall apache2, selanjutnya kita akan membuat virtualhost untuk domain kita. Pertama
masuk dahulu ke direktori konfigurasinya.

#cd /etc/apache2/sites-available
Lalu kita copy default konfigurasinya agar kita tidak usah repot-repot mengetik konfigurasinya. Serta kita
sesuaikan konfigurasinya.

#cp default misbahul.ac.id

<VirtualHost *:80>
ServerAdmin webmaster@misbahul.ac.id
ServerName misbahul.ac.id
ServerAlias www.misbahul.ac.id

DocumentRoot /var/www/misbahul
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/misbahul>
.
.
.
</VirtualHost>

Untuk ServerName sesuaikan dengan domain anda, lalu untuk DocumentRoot adalah tempat dimana file
web anda berada (sesuaikan juga).

#nano misbahul.ac.id
Selanjutnya aktifkan VirtualHost tadi dengan cara.
#a2ensite misbahul.ac.id
Setelah kita membuat Virtual host dan juga mengaktifkannya, selanjutnya kita buat direktori dan file di
direktori /var/www (sesuai DocumentRoot).

#cd /var/www
#mkdir misbahul
#cp index.html misbahul/
#cd misbahul
Lalu kita edit file index.html agar tampilannya sesuai keinginan kita.

<html>
<body>
<center>
<h1> MISBAHUL ARDANI </h1>
</center>

<p>Selamat datang di websiteku.</p>


<p>Silahkan mencoba fitur kami :</p>

<ol>
<li><a href="http://mail.misbahul.ac.id"> E-mail </a>
<li><a href="ftp://ftp.misbahul.ac.id"> FTP </a>
<li><a href="http://database.misbahul.ac.id"> Database </a>
</ol>

</body>
</html>
#nano index.html
Setelah selesai, jangan lupa untuk merestart apache2.

#service apache2 restart


Lalu coba kita buka domain kita, kita bisa menggunakan www-browser yaitu browser CLI yang sudah
terinstall di debian.

#www-browser misbahul.ac.id
5. Samba

Samba adalah program yang bersifat opensource yang menyediakan layanan berbagi berkas (file
service) dan berbagi printer (printer service). Terlebih dahulu kita install samba, dengan cara di bawah ini.

#apt-get install samba


Setelah paket selesai di install, kita sebaiknya membuat folder yang akan kita share untuk digunakan samba
nanti, serta jangan lupa untuk merubah file permission pada foldernya.

#cd /home
#mkdir samba
#mkdir samba/dokumen samba/foto samba/musik samba/video
#chmod 777 samba/ -R
Setelah folder untuk sharing sudah kita buat selanjutnya kita edit file konfigurasi dari samba yang terletak
di /etc/samba.

#nano /etc/samba/smb.conf
1. Tambahkan baris security = share di bawah # security user.

####### Authentication #######

# "security = user" is always a good idea. This will require a Unix


account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
# security = user
security = share

2. Tambahkan konfigurasi ini di baris terakhir.

; preexec = /bin/mount /cdrom


; postexec = /bin/umount /cdrom

[shareq]
path = /home/samba
browseable = yes
read only = no
guest ok = yes

Setelah itu save, lalu restart service dari samba, dengan cara.

#service samba restart


Setelah merestart service dari samba kita seharusnya mengecek hasil konfigurasinya sudah benar atau
tidak dengan cara :
#testparm

Jika hasil yang keluar tidak terdapat Ignoring unknown parameter berarti konfigurasi anda benar.
Sedangkan contoh dibawah adalah jika anda salah dalam konfigurasinya.
6. FTP (File Transfer Protocol)

FTP digunakan untuk men-transfer data antar komputer lewat Internet, atau network. Disini kita akan
menggunakan proftpd sebagai FTP server, untuk cara instalasinya seperti berikut.

#apt-get install proftpd-basic


pilih mode stand alone
Lalu edit konfigurasinya yang berada di /etc/proftpd/proftpd.conf :

#nano /etc/proftpd/proftpd.conf
Cari baris berikut ini dan ubahlah :

1. ServerName "Debian"
menjadi :
ServerName "misbahul.ac.id"

2. Cari “# A basic anonymous configuration, no upload directories.” dan ubah baris di


bawahnya. Seperti berikut.

#<Anonymous ~ftp>
# User ftp
# Group nogroup
.
.
# UserAlias anonymous ftp
.
.
# RequireValidShell off
.
.
# </Anonymous>

Menjadi :

<Anonymous /home/ftp>
User ftp
Group nogroup
.
.
UserAlias anonymous ftp
.
.
RequireValidShell off
.
.
</Anonymous>
Setelah melakukan konfigurasi, jangan lupa untuk membuat direktori yang akan dibuat share ftp.
Seperti penulis memakai direktori /home/ftp, serta jangan lupa ubah file permissionnya. Lalu restart service
proftpd.

#service proftpd restart

7. Mail Server
Server yang memungkinkan pengguna (user) untuk dapat mengirim dan menerima surat
elektronik atau e-mail satu sama lain dalam satu jaringan atau dengan internet.
Pertama install paket softwarenya :
#apt-get install postfix courier-pop courier-imap

1. Klik ok jika ada pertanyaan atau tekan enter.


2. General type of mail configuration : Internet Site -> OK
3. System mail name : misbahul.ac.id -> OK (isi sesuai nama domain anda)
4. Create directory for web-based administration : NO

Lalu buatlah direktori Maildir :


#maildirmake /etc/skel/Maildir

Lalu tambahkan home_mailbox = Maildir/ di baris terakhir pada file konfigurasi main.cf yang terletak di
/etc/postfix/main.cf

#nano /etc/postfix/main.cf
Setelah itu setting ulang paket postfix dengan cara :

#dpkg-reconfigure postfix
1. Klik ok jika ada pertanyaan atau tekan enter.
2. General type of mail configuration : Internet Site -> OK
3. System mail name : misbahul.ac.id -> OK (isi sesuai nama domain
anda)
4. Root and postmaster mail recipient : (kosongi) -> OK
5. Other destinations to accept mail for (blank for none) : (jangan
diubah) -> OK
6. Force syncronous updates on mail queue : NO
7. Local networks : tambahkan 172.16.6.0/26 -> OK (isi sesuai jaringan
local/yang digunakan client kalian)
8. Use procmail for local delivery : NO
9. Mailbox size limit (bytes) : (tetap) -> OK
10. Local address extension character : (tetap) -> OK
11. Internet protocol to use : ipv4 -> OK

8. Web Mail Server

Web mail server adalah sarana yang memungkinkan user dapat mengakses e-mail melalui web,
dalam kata lain e-mail yang berada di dalam web sehingga jika membuka e-mail tersebut kita harus
membuka web terlebih dahulu dengan koneksi internet.

Pertama install paket softwarenya :


#apt-get install squirrelmail
Setelah itu kita konfigurasi squirrelmail :
#squirrelmail-configure

Selanjutnya :

1. Ketik `2` lalu ENTER

2. Ketik `1` lalu ENTER


3. Isikan nama domain anda, lalu ENTER
4. Ketik `A` lalu ENTER
5. Ketik `4` lalu ENTER
6. Isikan nama domain anda, lalu ENTER

7. Ketik `8` lalu ENTER, isikan `courier` lalu ENTER


8. Ketik `B` lalu ENTER, ketik `4` lalu ENTER, isikan nama domain anda lalu ENTER

9. Ketik `S` lalu ENTER 2x


10. Ketik `Q` lalu ENTER

Selanjutnya kita ubah file konfigurasi apache.conf baik yang berada di direktori apache maupun di
squirrelmail.

#nano /etc/apache2/apache2.conf

Arahkan kebaris paling bawah dan tambahkan script seperti berikut ini :

# Include the virtual host configurations:


Include sites-enabled
Include /etc/squirrelmail/apache.conf

#nano /etc/squirrelmail/apache.conf

Cari script “user will prefer a simple URL...”, hilangkan `#` lalu ubah script dibawahnya seperti berikut :

# users will prefer a simple URL like http://webmail.example.com


<VirtualHost *:80>
DocumentRoot /usr/share/squirrelmail
ServerName mail.misbahul.ac.id
</VirtualHost>

Setelah itu buat dua user untuk mencoba mail servernya, menggunakan perintah adduser :

#adduser vienny

Selanjutnya restart service apache :

#service apache restart


9. NTP

adalah protocol untuk meng-sinkron-kan sistem waktu (clock) pada komputer terhadap sumber
yang akurat, melalui jaringan intranet atau internet. Cara menginstall NTP server sebagai berikut :

#apt-get install ntp

Setelah paket terinsall, kita ubah konfigurasinya seperti berikut.


#nano /etc/ntp.conf

# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server


will
# pick a different set every time it starts up. Please consider
joining the
# pool: <http://www.pool.ntp.org/join.html>
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
server 127.127.1.0 iburst
fudge 127.127.1.0 stratum 1
.
.
# Clients from this (example!) subnet have unlimited access, but only
if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Setelah itu kita restart servicenya, dengan cara :


#service ntp restart

PENJELASAN :

server 127.127.1.0 iburst


fudge 127.127.1.0 stratum 1

Digunakan untuk membuat server lokal kita, dijadikan sebagai server ntp lokal (tidak mengambil dari
internet).

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Digunakan untuk menentukan subnet mana yang diperbolehkan mengakses ntp.


10. MySQL Server
Database server adalah sebuah perangkat lunak komputer yang digunakan untuk menyediakan jenis
layanan database untuk sistem lain, yang dilakukan dengan model klien-server. Pertama install paketnya :

#apt-get install mysql-server

1. New password for the MySQL “root” user: 1 -> OK (ketik password terserah anda)
2. Repeat password for MySQL “root” user: 1 -> OK (ketik ulang password)

Untuk memudahkan kita dalam administrasi database kita akan menggunakan PHPMyAdmin, untuk itu kita
install dahulu paketnya :

#apt-get install phpmyadmin

1. Web server to reconfigure automatically:


[*] apache2
[ ] lighttpd

(pilih apache2 lalu -> OK)

2. Configure database for phpmyadmin with dbconfig-common?


NO -> OK

Selanjutnya kita tambahkan virtualhost baru, agar phpmyadmin dapat diakses sebagai subdomain dari
domain anda:

#nano /etc/apache2/sites-available/misbahul.ac.id

Tambahkan script berikut ini pada baris paling akhir :

<VirtualHost *:80>
DocumentRoot /usr/share/phpmyadmin
ServerName database.misbahul.ac.id
</VirtualHost>

11. SSH Server


SSH adalah protokol jaringan yang memungkinkan pertukaran data melalui saluran aman antara
dua perangkat jaringan. SSH dirancang sebagai pengganti Telnet dan shell remote tak aman lainnya, yang
mengirim informasi, terutama Kata sandi, dalam bentuk teks sederhana yang membuatnya mudah untuk
dicegat. Kita cukup menginstallnya saja tanpa perlu di konfigurasi, karena ssh-server langsung dapat
digunakan.

Pertama install paketnya terlebih dahulu :

#apt-get install openssh-server


12. OpenVPN
Pertama install terlebih dahulu paketnya :

#apt-get install openvpn

Setelah terinstall, kita copy file-file yang digunakan untuk pembuatan sertifikat.

#cp –R /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn

Setelah itu masuk ke direktori openvpn dan lakukan perintah-perintah berikut untuk pembuatan sertifikat

#cd /etc/openvpn/2.0

#source ./vars

#./clean-all

#./build-dh

[PEMBUATAN SERTIFIKAT CA]

#./build-ca

Country Name : ID

State or Province name : Jawa Timur

Locality Name : Surabaya

Organization Name : misbahul.ac.id

Organizational Unit Name : misbahul.ac.id

Common Name : misbahul.ac.id

Name : misbahul

Email address : misbahulard@live.com

[PEMBUATAN SERTIFIKAT UNTUK SERVER]

#./build-key-server misbahul.ac.id

Country Name : ID

State or Province name : Jawa Timur

Locality Name : Surabaya

Organization Name : misbahul.ac.id


Organizational Unit Name : misbahul.ac.id

Common Name : misbahul.ac.id

Name : misbahul

Email address : misbahulard@live.com

A challenge password : 1234

An optional company name : misbahul.ac.id

Sign the certificate ? y

1 out of 1 certificate request certified, commit? Y

[PEMBUATAN SERTIFIKAT UNTUK CLIENT]

#./build-key client

Country Name : ID

State or Province name : Jawa Timur

Locality Name : Surabaya

Organization Name : misbahul.ac.id

Organizational Unit Name : misbahul.ac.id

Common Name : client

Name : client

Email address : client@misbahul.ac.id

A challenge password : 1234

An optional company name : misbahul.ac.id

Sign the certificate ? y

1 out of 1 certificate request certified, commit? Y

PENJELASAN :
Dalam permbuatan sertifikat baik untuk CA, Server, maupun client pada bagian “Country Name,
State or Province name, Locality Name, Organization Name, Organizational
Unit name” HARUS SAMA ! tetapi untuk “A challenge password dan An optional
company name” karena bersifat opsional maka jika anda isi, isinya harus sama untuk sertifikat server
dan client.
Setelah pembuatan sertifikat, kita copy sertifikatnya ke direktori OpenVPN.

#cd /etc/openvpn/2.0/keys

#cp ca.crt misbahul.ac.id.crt misbahul.ac.id.key dh1024.pem


/etc/openvpn

selanjutnya kita ekstrak file contoh konfigurasi server OpenVPN, lalu kita copy ke direktori OpenVPN dan
kita ubah konfigurasinya.

#gunzip /usr/share/doc/openvpn/examples/sample-config-
files/server.conf.gz

#cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf
/etc/openvpn

#cd /etc/openvpn

#nano server.conf

Cari baris “ca ca.crt” lalu ubah baris selanjutnya seperti berikut ini.

ca ca.crt
cert server.crt
key server.key # This file should be kept secret

Ubah cert dan key sesuai nama sertifikat yang anda gunakan pada pembuatan sertifikat untuk server.

ca ca.crt
cert misbahul.ac.id.crt
key misbahul.ac.id.key # This file should be kept secret

Setelah itu restart service dari OpenVPN.

#service openvpn restart


13. NAT
NAT dibutuhkan untuk mentranslasi IP address lokal ke IP address publik, jadi komputer yang memakai
IP lokal (client) mendapatkan akses internet. Pertama ubah eth1 (LAN yang terkoneksi ke Internet) menjadi
client dhcp, caranya seperti berikut :

#nano /etc/network/interfaces

# This file describes the network interfaces available on your system


# and how to activate them. For more information, see interfaces(5).

# The loopback network interface


auto lo
iface lo inet loopback

#The primary network interface


auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0

auto eth0:0
iface eth0:0 inet static
address 192.168.1.2
netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
address 192.168.1.3
netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
address 192.168.1.4
netmask 255.255.255.0

auto eth0:3
iface eth0:3 inet static
address 192.168.1.5
netmask 255.255.255.0

auto eth0:4
iface eth0:4 inet static
address 192.168.1.6
netmask 255.255.255.0

auto eth1
iface eth1 inet dhcp

Setelah itu restart servicenya.

#service networking restart


Setelah mendapat IP, coba lakukan test ping apakah sudah mendapat koneksi internet.

#ping bing.com

Setelah itu ubah konfigurasi dari sysct.conf agar mengijinkan melanjutkan paket (packet forwarding)
Ipv4. Cari baris “net.ipv4.ip_forward=1” lalu ubah tanda ‘#’ didepannya.

#nano /etc/sysctl.conf

# Uncomment the next line to enable packet forwarding for Ipv4


net.ipv4.ip_forward=1

Setelah itu save, dan restart sysctl dengan cara :

#sysctl –p

Lalu tambahkan aturan firewall untuk eth1 agar melakukan MASQUERADE :

#iptables –t nat –A POSTROUTING –o eth1 –j MASQUERADE

Untuk menyimpan aturan firewall gunakanlah perintah iptables-save di ikuti direktori dimana file
akan disimpan.

#iptables-save > /root/firewallku

Agar tidak repot-repot untuk merestore konfigurasi firewall pada setiap kali booting, tambahkan sintaks
berikut di rc.local

#nano /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

iptables-restore < /root/firewallku

exit 0
13. Squid
Squid adalah salah satu software/aplikasi proxy untuk linux, Fungsi Proxy adalah sebagai Firewall yaitu
membatasi dan mencegah terjadinya akses-akses yang tidak diinginkan terhadap sumber daya yang ada di
internet maupun intranet baik oleh pihak client maupun oleh pihak luar yang tidak diketahui. Serta sebagai
Content Filtering, fitur ini berupa aturan yang akan menyaring setiap informasi/konten yang diminta oleh
client agar tidak terlalu bebas dan dapat merusak/meminimalisir sisi negatif dari konten tersebut.

Pertama install paket squid :

#apt-get install squid3

Lalu masuk ke direktori squid dan ubah konfigurasinya

#cd /etc/squid3

#nano squid.conf

Cari script “http_port 3128” lalu tambahkan “transparent” setelah script tersebut.

# Squid normally listens to port 3128


http_port 3128 transparent

Cari script “cache_mgr webmaster” lalu tambahkan “cache_mgr email_anda@domain.com”


di bawahnya.

# cache_mgr webmaster
Cache_mgr misbahulard@live.com

Cari script “visible_hostname localhost” lalu tambahkan “visible_hostname


nama_domain_anda” di bawahnya.

# visible_hostname localhost
Visible_hostname misbahul.ac.id

Cari script “acl CONNECT method CONNECT” lalu tambahkan script seperti berikut :

acl CONNECT method CONNECT

acl bloksitus dstdomain “/etc/squid3/situs.txt”


acl blokkata url_regex –i “/etc/squid3/kata.txt”

http_access deny bloksitus


http_access deny blokkata
Cari script “INSERT YOUR OWN” lalu tambahkan script dan tambahkan # seperti berikut ini :

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

acl client src 192.168.1.0/24

# Example rule allowing access from your local networks.


# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
http_access allow client

# And finally deny all other access to this proxy


#http_access deny all
http_access deny bloksitus
http_access deny blokkata

PENJELASAN :
 Bloksitus atau blokkata adalah nama suatu acl (access list), jadi terserah anda menamainya
dengan apa.
 dstdomain adalah memblok situs menggunakan nama domain.
 url_regex –i adalah memblok situs yang berisi regex yang di deklarasikan dengan tidak
menghiraukan besar kecilnya huruf.
 http_access deny yaitu tidak mengizinkan akses (merujuk ke accesslist yang sudah dibuat)

Selanjutnya buat file situs.txt dan kata.txt yang berisi daftar situs / kata yang diblok. Ingat ! letak file harus
sama dengan apa yang di tuliskan pada “squid.conf”, contoh saya meletakkannya di “/etc/squid3”

#nano situs.txt

1cak.com
detik.com
kompas.com

#nano kata.txt

bajakan
jahat
bekas

Setelah selesai membuat keua file tersebut, selanjutnya restart service dari squid.

#service squid restart


Agar proxy kita berjalan sebagai transparent proxy / proxy transparan kita harus mendambahkan rule
firewall berikut ini yang “mendeklarasikan semua paket yang akan masuk ke eth0
dengan port tujuan 80(http) akan di alihkan ke port 3128(squid) terlebih
dahulu”.

#iptables –t nat –A PREROUTING –i eth0 –p tcp -–dport 80 –j REDIRECT –


-to-port 3128

Janganlupa untuk menyimpan aturan firewallnya menggunakan “iptables-save”

#iptables-save > /root/firewallku


14. Firewall (IPTABLES)

1. Materi
IPTABLES adalah program administratif untuk Filter Paket dan NAT (Network Address Translation).
Untuk menjalankan fungsinya, iptables dilengkapi dengan tabel mangle, nat, dan filter.

A. Mata Rantai (Chain) dan table pada IPTABLES:


1. Terdapat 5 Chain yaitu INPUT, OUTPUT, FORWARD, PREROUTING dan POSTROUTING.
a. Chain PREROUTING ada 2 tabel (mangle, nat)
b. Chain INPUT ada 2 tabel (mangle, filter)
c. Chain FORWARD ada 2 tabel (mangle, filter)
d. Chain OUTPUT ada 3 tabel (mangle, nat, filter)
e. Chain POSTROUTING ada 2 tabel (mangle, nat)
2. Terdapat 3 tabel, yaitu NAT, MANGLE, dan FILTER.
3. Sebagian Targets antara lain : ACCEPT, DROP, REJECT, DNAT, SNAT, MASQUERADE, REDIRECT, dll.

B. Keterangan Chain :
1. INPUT, untuk menangani paket data yang masuk ke local process
2. FORWARD, hanya melewatkan paket data.
3. OUTPUT, menghasilkan paket data yang akan diteruskan.
4. PREROUTING, untuk keperluan perlakuan sebelum packet masuk route. Biasanya dipakai untuk
proses NAT.
5. POSTROUTING, untuk keperluan perlakuan sesudah packet masuk route. Biasanya dipakai untuk
proses NAT

C. Keterangan Tabel :
1. MANGLE, tabel ini berfungsi sebagai penghalus proses pengaturan paket
2. NAT, tabel ini digunakan untuk fungsi NAT, redirect, redirect port.
3. FILTER, pemfilteran paket yang sesungguhnya.. Di sini bisa ditentukan apakah paket akan di DROP,
LOG, ACCEPT atau REJECT.

D. Keterangan Targets :
1. Targets adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match
2. ACCEPT, Menerima paket data yang datang.
3. DROP, mengesampingkan paket data yang datang dan tidak memberikan reply. Sehingga paket
yang datang langsung dibuang begitu saja tanpa memberikan balasan report kepada pengirim
paket.
4. REJECT, menolak paket data yang datang. Berbeda dengan DROP, REJECT mengembalikan kembali
paket yang telah dikirimkan tanpa flag / report.
5. DENY, menolak paket data yang datang dengan memberikan informasi. Berbeda dengan REJECT,
DENY akan memberikan flag / informasi kepada pengirim paket bahwa paket yang dikirimkan telah
ditolak.
6. DNAT, Rantai paket di “destination nat” kan ke address lain
7. SNAT, Rantai paket di arahkan ke source nat tertentu
8. MASQUERADE, Bekerja seperti SNAT tapi tidak memerlukan source
9. REDIRECT, Rantai paket di redirect ke suatu addres dan port tertentu

E. Beberapa command IPTABLES dan keterangannya :


1. -A atau –append Melakukan penambahan rule
2. -D atau –delete Melakukan penghapusan rule
3. -R atau –replace Melakukan replacing rule
4. -L atau –list Menampilkan ke display, daftar iptables
5. -F atau –flush Menghapus daftar iptables/pengosongan
6. -I atau –insert Melakukan penyisipan rule
7. -N atau –new-chain Melakukan penambahan chain baru
8. -X atau –delete-chain Melakukan penghapusan chain
9. -P atau –policy Memberikan rule standard
10. -E atau –rename Memberikan penggantian nama
11. -h atau –help Menampilkan fasilitas help

F. Parameter IPTABLES dan keterangannya :


Parameter iptables digunakan sebagai pelengkap yang diperlukan untuk tujuan spesifikasi rule tersebut
1. -p, –protocol (proto) Parameter ini untuk menentukan perlakuan terhadap protokol
2. -s, –source (address) –-src Parameter untuk menentukan asal paket
3. -d, –destination (address) –-dst Parameter untuk menentukan tujuan paket
4. -j, –jump (target)
5. -g, –goto (chain)
6. -i, –in-interface Masuk melalui interface (eth0, eth1 dst).
7. -o, –out-interface
8. --sport, --source-port Menentukan port asal.
9. --dport, --destination-port Menentukan port tujuan.

Gambaran IPTABLES :
2. Latihan

Studi Kasus IPTABLES :


a. Memblokir semua akses ke server FTP, SSH, mail(IMAP,SMTP,POP) kecuali IP 192.168.1.48
b. Mengijinkan semua koneksi ke port 80 (http) kecuali komputer dengan IP 192.168.1.48
c. Mengijinkan semua resolve DNS kecuali komputer dengan IP 192.168.1.48

Solusi :
a. Memblokir FTP

#iptables –A INPUT –p tcp –-dport 21 –s 192.168.1.48 –j ACCEPT

#iptables –A OUTPUT –p tcp –-dport 21 –s 192.168.1.48 –j ACCEPT

#iptables –A INPUT –p tcp –-dport 21 –j DROP

#iptables –A OUTPUT –p tcp –-dport 21 –j DROP

b. Memblokir SSH

#iptables –A INPUT –p tcp –-dport 22 –s 192.168.1.48 –j ACCEPT

#iptables –A OUTPUT –p tcp –-dport 22 –s 192.168.1.48 –j ACCEPT

#iptables –A INPUT –p tcp –-dport 22 –j DROP

#iptables –A OUTPUT –p tcp –-dport 22 –j DROP

c. Memblokir IMAP

#iptables –A INPUT –p tcp –-dport 25 –s 192.168.1.48 –j ACCEPT

#iptables –A OUTPUT –p tcp –-dport 25 –s 192.168.1.48 –j ACCEPT

#iptables –A INPUT –p tcp –-dport 25 –j DROP

#iptables –A OUTPUT –p tcp –-dport 25 –j DROP

d. Memblokir SMTP

#iptables –A INPUT –p tcp –-dport 143 –s 192.168.1.48 –j ACCEPT

#iptables –A OUTPUT –p tcp –-dport 143 –s 192.168.1.48 –j ACCEPT

#iptables –A INPUT –p tcp –-dport 143 –j DROP

#iptables –A OUTPUT –p tcp –-dport 143 –j DROP


e. Memblokir POP

#iptables –A INPUT –p tcp –-dport 110 –s 192.168.1.48 –j ACCEPT

#iptables –A OUTPUT –p tcp –-dport 110 –s 192.168.1.48 –j ACCEPT

#iptables –A INPUT –p tcp –-dport 110 –j DROP

#iptables –A OUTPUT –p tcp –-dport 110 –j DROP


2. Uji Coba Client

1. DHCP, DNS, Web Server


Buka ‘RUN’ lalu ketikkan perintah ‘ncpa.cpl’.

Setelah menu “Network Connection” terbuka, selanjutnya pilih interface yang akan digunakan sebagai dhcp
client. klik kanan -> Properties.
Selanjutnya pilih “Internet Protocol (TCP/IP)”, lalu klik “Properties”. Pastikan yang dipilih Obtain an IP
address automatically dan Obtain DNS server address automatically lalu klik OK.

Jika anda belum mendapat ip dari server silahkan jalankan perintah berikut ini di command prompt :

ipconfig /release -> Digunakan untuk membuang IP address

ipconfig /renew -> Digunakan untuk meminta IP address

setelah itu cek dengan perintah ipconfig untuk melihat IP address anda.
Setelah itu untuk menguji DNS, silahkan anda gunakan nslookup :

Setelah itu buka browser dan coba buka domain local kita, seperti berikut :
2. SAMBA

Untuk membuka samba, gunakanlah RUN (Win+r) lalu ketikkan “\\namadomain” atau “\\IPaddress”
lalu ENTER. Seperti berikut :

Setelah itu akan muncul jendela seperti berikut :


3. FTP

Bukalah browser lalu masukkan ftp://namadomain atau ftp://ipaddress pada address bar :

Cara yang kedua gunakan command prompt untuk membuka ftp dengan cara ketikkan perintah “ftp
namadomain” atau “ftp IPaddress” lalu ENTER. Selanjutnya ketikkan user “anonymous” lalu isi
password terserah anda, seperti berikut :
4. Mail / Web Mail Server

Buka browser dan masukkan alamat dari web mail anda, seperti mail.misbahul.ac.id pada address
bar, seperti berikut :

Untuk menguji mengirim e-mail gunakan user dan password anda sebagai login. Setelah login, selanjutnya
klik link compose.
Setelah itu isi tujuan, subyek, dan isi dari email. Tentu saja tujuannya adalah user yang satunya lagi. Setelah
di kirim lalu Sign Out.

Setelah itu Login kembali dengan user ghaida (user yang dikirimi email). Dan email tersebut sudah
terdapat di Inbox, jika anda belum percaya silahkan buka isi dari email tersebut.
Jika anda belum puas dengan mengujinya menggunakan grafis (web mail), anda bisa mengujinya
menggunakan command line menggunakan telnet. Caranya sebagai berikut :

1. Buka command prompt


2. Untuk mengirim email :

> telnet mail.misbahul.ac.id 25


(digunakan untuk melakukan remote telnet menggunakan port SMTP)
> mail from:ghaida
(digunakan untuk menentukan pengirim email)
> rcpt to:dhike
(digunakan untuk menentukan penerima email)
> data
(digunakan untuk menginputkan isi dari email)
> ketikkan isi email
(ketikkan isi email setelah menjalankan perintah ini)
> .
(untuk mengakhiri isi email dan mengirimnya)
> quit
(untuk keluar dari telnet)
Untuk contoh gambarnya seperti berikut :

13. Untuk membaca email :

> telnet mail.misbahul.ac.id 110


(digunakan untuk melakukan remote telnet melalui port POP)
> user dhike
(user yang akan digunakan untuk login)
> pass 1
(password user)
> retr 2
(‘retr’ untuk membaca pesan sedangkan 2 adalah nomor urut pesan)
> quit
(untuk keluar dari telnet)

Untuk contoh gambarnya seperti berikut :


5. NTP

Klik 2x pada tanggal pada taskbar ( ) sehingga nanti akan muncul window “Date and Time
Properties”.

Setelah itu klik pada “Internet Time”, lalu isikan server dengan ntp server anda. Lalu klik “Update now”.
6. SSH

Untuk mencoba ssh di windows kita harus menggunakan aplikasi pihak ketiga yaitu “PuTTY” anda bisa
mendownloadnya di www.chiark.greenend.org.uk/~sgtatham/putty/download.html Setelah anda install
lalu buka aplikasinya.

Isi “Host Name (or IP address)” dengan nama hostname / IP address server ssh, lalu klik “Open”.

Jika muncul “PuTTY Security Alert” klik saja “Yes”.


Setelah itu login dengan user linux anda.
7. OpenVPN

Untuk mengetes OpenVPN kita menggunakan aplikasi pihak ketiga yaitu “OpenVPN GUI” anda bisa
download di openvpn.se/download.html .Setelah itu anda install seperti biasa, untuk mengambil sertifikat
di client anda bisa menggunakan ftp melalui filezilla, WinSCP, dll. Disini saya akan menggunakan WinSCP.

Sertifikat yang kita buat terletak di /etc/openvpn/2.0/keys.

Setelah anda copy ke client, anda copy atau cut sertifikat tadi ke direktori konfigurasi OpenVPN
yang terletak di “C:\Program Files\OpenVPN\config” dan copy juga contoh konfigurasi
OpenVPN yaitu “client.ovpn” yang berada di “C:\Program Files\OpenVPN\sample-
config”. Hingga menjadi seperti ini :
Setelah itu ubah konfigurasi nya (client.ovpn) menggunakan text editor.

Ubah “my-server-1” pada “remote my-server-1 1194” menjadi IP address server anda atau
nama domain anda, simpan lalu tutup text editornya. Contohnya seperti berikut ini :
Lalu buka aplikasi OpenVPN GUI, sehingga muncul di notification area

Lalu klik 2x icon tersebut maka akan muncul jendela yang menampilkan proses koneksi VPN dari client ke
server.
Jika tidak ada yang salah dalam konfigurasinya maka bisa tersambung (konek), dan icon pada notification
area berubah menjadi warna hijau kebiruan.
8. Squid
Pastikan client sudah mendapat akses internet, jika sudah coba buka website yang tidak anda blok.
Jika tidak terblok oleh squid berarti anda berhasil.

Selanjutnya buka website yang anda blok.


3. MikroTik

1. Basic
a. Merubah nama hostname router
Untuk merubah nama hostname gunakan perintah berikut :

system identity set name=gatewayq

GUI

Lalu ubah namanya

b. Merubah nama interface


Untuk merubah nama interface gunakan perintah berikut :

interface set ether1 name=internet

GUI
c. Mematikan / merestart mikrotik
Untuk mematikan / merestart mikrotik gunakan perintah berikut :

system shutdown -> Untuk mematikan

system reboot -> Untuk merestart

GUI

2. IP Address
Untuk mengubah atau menambah IP address masuk ke menu “ip address”, seperti berikut :

ip address add address=192.168.100.1/24 interface=client

#NB : Nama interface “ether1” sudah saya ubah menjadi “internet” dan “ether2” menjadi
“client”

GUI
3. DHCP-Client
Maksud fitur dhcp-client disini adalah menjadikan salah satu/lebih interface mikrotik sebagai client dari
suatu dhcp-server, berbeda dengan fitur dhcp-server yaitu menjadikan salah satu/lebih interface mikrotik
sebagai server dhcp. Jadikan interface pertama “internet” sebagai client :

ip dhcp-client add interface=internet

akan muncul tulisan bound jika sudah mendapat IP address, untuk melihatnya gunakan perintah print.
Seperti berikut :

GUI

4. DHCP-Server
Untuk membuat dhcp-server kita membutuhkan interface yang akan dibuat sebagai gatewaynya. Kita
gunakan interface ether2 (client) sebagai gatewaynya. Terdapat dua langkah untuk membuat dhcp server,
pertama kita buat dulu pool-nya (address range / jarak IP address) :

ip pool add name=pool-client ranges=192.168.100.10-192.168.100.50

GUI
Selanjutnya buat dhcp-server dan tentukan segala kebutuhannya (gateway, dns, dll) seerrti berikut :

Ip dhcp-server add name=dhcp-untuk-client address-pool=pool-client


interface=client disable=no

ip dhcp-server network add gateway=192.168.100.1


address=192.168.100.0/24 dns-server=202.134.1.10,202.134.0.155

GUI

1. DHCP

2. Networks
UNDER CONSTRUCTION

Anda mungkin juga menyukai