Setup Debian sebagai gateway dengan shorewall

Tulisan saya kali ini membuat gateway manual dengan Debian 7 ditambah implementasi Shoreline Firewall (ShoreWall) yang katanya membuat seting iptables menjadi tidak rumit.

gareth-davies-logo3

Kalau butuh yang instan-instan untuk keperluan internet sharing, saya rekomendasikan menggunakan distro-distro Router yang sangat mudah di konfigurasikan, misalnya seperti Zentyal, Clearos, IPCop, Smoothwall, Mikrotik dll.

Lanjut ke ShoreWall; untuk itu perhatikan diagram network yang akan dijadikan praktek:

debian router2
Dari MODEM, semua port sudah di forward ke Debian, TCP, UDP dll.

Modem FO akan memberikan IP LAN kelas C, 192.168.30.2~254 secara default DHCP ke interface (eth) 1 pada mesin Debian. Saya set manual, sehingga mesin Debian ber-ip kan 192.168.30.20/24. DNS #1 menggunakan DNS ISP sisanya menggunakan Google Public DNS. Interface #2 diperuntukan ke LAN melalui hub-switch yang akan melayani kebutuhan internet sharing. Interface #3 akan dipergunakan sebagai DMZ; dimana seluruh mesin di area DMZ akan bisa diakses oleh public internet/LAN.

Unduh dulu Shorewallnya dari  http://www.shorewall.net/download.htm; atau gunakan fungsi “apt-get install shorewall”. Dan karena saya lebih suka CLI, saya gunakan text-editor yang saya sukai.

Config utama ShoreWall ada di /etc/default/shorewall. Konfigurasi tambahannnya ada di /etc/shorewall

Untuk mengaktivkan shorewall edit

# nano  /etc/default/shorewall

lalu rubah

startup=0

menjadi

startup=1

Artinya Shorewall akan aktif ketika boot awal system.

Agar dari eth1 bisa mengakses ke eth2 (local to dmz), edit file:

# nano /etc/shorewall/shorewall.conf

cari IP_FORWARDING set ke On

...
IP_FORWARDING=On
...

Karena yang akan saya buat menggunakan 3 interface, dengan area zone LAN dan DMZ. Editlah file zone nya:

# nano /etc/shorewall/zones

tinggal menambahkan ini aja; saya belum coba penamaan zone nya bisa bebas atau tidak 😀

fw firewall
net ipv4
dmz ipv4
loc ipv4

Nah lanjutnya seting area untuk interface; assign eth1 untuk LAN (loc), eth2 untuk DMZ dan eth0 sebagai net (akses internet utama).

nano /etc/shorewall/interfaces

Sesuaikan dengan interface dengan diagaram diawal artikel ini.

net eth0 detect dhcp,routefilter,tcpflags
loc eth1 detect dhcp
dmz eth2 detect dhcp

Woke, assign zone sudah. selanjutnya seting policy. tergantung kebutuhan, jadinya beda-beda.

nano  /etc/shorewall/policy

Tidak Menganut konsep policy untuk OpenBSD — incoming di reject/drop.

loc all REJECT
net all DROP
dmz all
read more

Merubah jenis hurup di Console Debian

Bagi yang berhadapan langsung dengan mesin Debian dan sering menggunakan CLI murni tanpa Desktop Environment pasti pernah terlintas, koq hurup console tty-nya Debian (ubuntu juga) rada beda dengan hurup standar…?

debian 7 console fonts setup 01debian 7 console fonts setup 02Saya sih tidak suka dengan jenis font model gini… 😀

untuk itu saya mau rubah ke font default, caranya cukup simple —  hanya rubah file console-setup yang terletak di /etc/default/console-setup

# nano /etc/default/console-setup

GNU nano 2.2.6 File: /etc/default/console-setup

# CONFIGURATION FILE FOR SETUPCON
# Consult the console-setup(5) manual page.

ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="Lat15"
FONTFACE="Fixed"
FONTSIZE="8x16"

VIDEOMODE=

#
read more

Setup tambah harddisk & ethernet baru di Debian dengan CLI

Ada kalanya dibutuhkan penambahan hardware; yang paling sering dilakukan di mesin-mesin server Debian, seperti harddisk dan ethernet. Karena Debian saya tidak menggunakan Desktop Environment jadi proses konfigurasi dilakukan di console.

hdd jadulether 4 ports

Penambahan Harddisk

Shutdown dulu mesin Debian  dengan benar, menggunakan perintah ‘init 0’ atau ‘shutdown’. lalu buka casing server/pc dan pasang harddisk ke slot yang masih kosong. Baik SAS/Scsi/Sata/Ide tidak masalah, yang penting controllernya terdeteksi di Debian. Dilanjutkan pemasangan Ethernet tambahan pada slot pci/pcie.

Lantas ketika sudah masuk ke prompt root ketikan

root@debian7:~# dmesg | grep disk
[ 2.849077] sd 0:0:1:0: [sdb] Attached SCSI disk
[ 2.865557] sd 0:0:0:0: [sda] Attached SCSI disk
[ 3.209401] PM: Starting manual resume from disk
root@debian7:~#

Nah perhatikan output diatas, harddisk yang terpasang lebih awal — tetapi kalau pemasangan jalur kabelnya sembarangan, ya belum tentu boot drive adalah sda 😀 — sdX artinya harddisk  bertipe SCSI (lain dengan iSCSI). Jika harddisk IDE/Sata biasanya hdX, jadi sesuaikan dengan kondisi hardware anda.

Kembali ke hasil output dmesg. Harddisk ‘baru’ saya terdeteksi oleh sistem dan dikasih ‘link’ bernama ‘sdb’. Kalau tidak yakin, yang mana harddisk sistem (boot) anda, coba ketikkan ini ‘cat /etc/fstab’. Akan muncul nama harddisk boot anda disitu. Misalnya /dev/sda1 atau /dev/sda2.

Nah kalau bingung koq ada nomor di belakan sda? Itu maksudnya partisi. /dev/sda1 artinya harddisk scsi pertama dengan urutan partisi 1. sengaja saya tidak dump output dari peritah cat nya, karena akan lain-lain hasil outputnya.

Selanjutnya — karena harddisk baru belum di belum bisa diakses. Karena biasanya masih bersifat Raw file system. alias kosong — bawaan pabrik. Untuk itu kita perlu membuat partisi agar bisa di format dengan file system, dengan tujuan agar bisa di isi file. Debian 7 secara default; sudah mengikutsertakan paket partisi cfdisk. Kalau cfdisk tidak ada, terpaksa menggunakan perintah fdisk yang menakutkan 😀

clint eastwood 1_2

#
read more

Installasi Slackware Linux sebagai proxy server

Entah kenapa saya ingin menginstall SQUID pada OS Slackware linux, yah namanya juga kategori IT Iseng heheheh:

Pertama-tama unduh ISO Slackware terbaru, terakhir download saya memakai versi 14 untuk 32 bit, karena mesin yang di install cuma ram 1/4 gb, harddisk 20 gb IDE. Oh ya.. Slackware sangat ringan loh, lebih ringan dari Debian dan setiap versi di rilis sampai benar-benar siap. Tidak seperti Ubuntu non LTS yang dirilis berdasarkan waktu.

Donlot iso bisa langsung dari url ini: http://mirrors.slackware.com/slackware-iso/ Cukup download yang disc 1 saja, kalau ada versi DVD nya boleh juga. tapi agak besar. Saya hanya download 1 file iso ini slackware-14.0-install-d1.iso. Karena cuma butuh paket squid yang langsung di install dari internet — nanti.

Kalau sudah punya iso Slackware 14, burning ke CD di desktop Windows anda dengan ISo recorder atau tools-tools lainnya. Saya belum sukses menggunakan boot dari USB untuk Slackware 14. Kalau distro lainnya bisa gunakan YUMI (support banyak OS, dalam 1 flashdisk).

Set bios motherboard anda agar booting dari CD-drive. masukan CD Slackware #1 ke cd-drive. Akan muncul  tulisan “boot”. anda tingal tekan enter saja.

slackware install 0001

Lalu akan menanyakan jenis keyboard, di tekan enter lagi saja.

Begitu menanyakan ‘slackware login’ isikan dengan root langsung masuk ke mode root #

Ketikkan ‘cfdisk’

slackware install 0002jpg

Tekan N (New). Jika ada partisi lainnya dalam harddisk, silakan hapus dengan menekan D (Delete). Lalu dilanjutkan dengan New lagi. Pilih primary, lalu masukkan Ukurannya dalam Megabytes. Kita buat dulu partisi Swapnya (temporary). masukkan 512 MB, sudah cukup untuk squid dan ram < 1gb. lalu pilih END. biar patisi swap ada di belakang.

Seharusnya terliat seperti ini: slackware install 0003

name baris pertama kosong, karena belum di ISI, dan baris kedua sda1 Primary Linux. Pindahkan kursor ke primary linux baris kedua. Pilih type, lalu ketikan 82. Sehingga label Linux berubah menjadi Linux swap.slackware install 0004Tekan tombol panah atas pada keyboard ke Freespace. Lalu pilih NEW-Primary. Untuk sizenya tinggal Enter saja, karena menggunakan sisa Freespace untuk di install system.  FS type sda2 Akan berubah menjadi Linux. Lalu tekan tombol [Bootable]. yang artinya partisi akan di Boot dari sda2. Sampai ada tulisan Boot di kolom Flags.

slackware install 0005Dan diakhiri dengan memilih [Write] lalu ketik yes. Setelah itu akan kembali ke prompt #

Ketikkan setup. Akan muncul Windows  sbb:

slackware install 0006Pilih Add swap. Otomatis akan milih /dev/sda1 yang kita set tadi di cfdisk. tekan OK saja

Lalu pilih No untuk mengecek bad-sector, kalau memang kondisi harddisk masih oke. tekan OK lagi, ada pengumuman bahwa /dev/sda1 sudah dijadikan partisi swap. Lalu muncul Window akan membuat partisi root (/). pilih (select) pada /dev/sda2.

slackware install 0007

lalu pilih Format Quick format with no bad block checking. pilih reiserfs. mengapa reiserfs? karena kita mau membuat proxy server squid. Dengar-dengar reiserfs walaupun sudah tidak dikembangkan lagi, sangat ampuh untuk dijadikan partisi cache squid. entahlah, saya cuma pernah baca. terserah anda, tapi rekomendasi selain reiserfs adalah ext3 & 4.

slackware install 0008slackware install 0009Thats its. Semua harddisk sudah di partisi dan diformat sesuai kebutuhan. Tekan Enter saja. Muncul Windows:

slackware install 0010..

Pilih nomor 1, lalu pilih auto pada Windows selanjutnya. Tekan OK aja.. lalu installasi akan dimulai, kalau ada full pilih full saja. takutnya kalau custom ada yg dibutuhkan pada saat kompilasi software.

slackware install 0012.slackware install 0013Nah tunggu beberapa menit, bisa 5 menit ataupun 1 jam. tergantung spek mesin anda.

Akan muncul prompt untuk memasukan disc 2, pilih quit saja. Lalu tekan yes. pada pilihan Configure system. Lalu pilih skip dalam pilihan Make USB. Pilih simple selanjutnya pada pilihan Install LILO. lalu OK. Pilih pada Configure LILO ot use …. pilih standard, lalu OK lagi. Tekan oke pada Optional Lilo append….

Lalu tekan NO pada USE UTF-8 text-console…

Enter pada MBR di Windows Select LILO destination . Pada pilihan MOUSE, pilih sesuai mouse anda, PS2 atau USB. Saya pilih ps2 saja. karena mouse saya masih PS2. Lalu yes untuk konfirmasi.

Pada configure network tekan yes.. masukan nama hostname mesin slackware. isikan dengan misalnya ‘slackproxy’. lalu Pada windows Enter domain name. isikan dengan local.

Muncul Configuration type for Slackproxy.local. Pilih static IP. Lalu isikan ip mesin tsb. saya menggunakan network 192.169.30.x, jadi saya isikan 192.168.30.200. Begitu juga netmask, defaultnya sudah terisi 255.255.255.0. Enter saja.

Nah gateway di isikan dengan IP gateway anda, saya mengisikan 192.168.30.1 karena routerboard saya ip LAN nya itu. Lalu pilih Yes pada Use a name servers. saya isikan 8.8.8.8 (google public dns). atau bisa isikan dns ISP, modem, atau routerboard anda yang sudah di konfigurasi dnsmasq nya.

slackware install 0015Pilih accept untu melanjutkan. Selanjutnya pilih service yang akan dijalankan pada saat OS booting. Saya tekan OK saja. karena yang paling penting rc.sshd sudah secara default ter pilih.

slackware install 0016

Selanjutnya pilih NO pada Console font.. ga penting-penting banget. Lalu pilih Clock Settings, pilih YES. arahkan ke gmt+7 atau lokasi anda. Saya pilih Asia/Jakarta.

Pilih YES pada NO ROOT PASSWORD warning. Isikan 2x password root anda.

dan akhirnya, selesai installasi slackware linux ini.

slackware install 0017

tekan ctrl+alt+del, lalu installer akan mereboot mesin anda. kalau cd tidak keluar dengan sendirinya, tekan deh tombol ejectnya. biar boot dari harddisk, atau masuk ke BIOS lagi setting harddisk sebagai pilihan boot pertama.

Tampilan BOOT SPLASH SlackWare LINUX 14. 60 detik :D
Tampilan BOOT SPLASH SlackWare LINUX 14. 60 detik 😀

Teken enter saja… biar cepet. Sampai muncul tulisan login. Ketikkan ROOT dan password yang tadi pas installasi di input.

lalu test ping, apakah sukses ngeping keluar apa tidak.

# ping yahoo.com

slackware install 0019..Kalau sukses ada tulisan icmp_reg dan …. ms.

Nah sampai sini, si slackproxy sudah konek ke internet. ketik logout saja. kita remote langsung pada mesin Windows dengan menggunakan putty.exe yang bisa anda download dari gugel.

Pada putty, pilih 192.168.30.200 (ini ip slack saya). lalu pilih SSH, pastikan port nya berubah menjadi 22.

slackware install 0020..

Kalau sudah login via ssh+putty, langsung saja unduh squidnya.

#wget http://repository.slacky.eu/slackware-13.37/network/squid/3.1.14/squid-3.1.14-i486-1sl.txz

#upgradepkg --install-new squid-3.1.14-i486-1sl.txz

slackware install 0022..

#cd /et/squid/
# group add proxy
# user add proxy
#
read more