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

Debian sebagai tukang pos

Debian sebagai tukang pos, gimana caranya? gampang saja. Installasi awal Linux Debian 7 sangatlah mudah, saya tidak menjelaskannya disini karena Nanti kepanjangan dan cenderung monoton. Jika anda tidak mengerti installasi Debian dari NOL bisa cari artikel di google cara installasinya — step by step.

Oke; saya jelaskan dulu kondisi lingkungan network saya. Debian dibelakang router, sudah mendapatkan akses internet. Router di set untuk memberikan NAT port-port smtp, pop3, imap ke IP private Debian. MX-record di domain-cpanel sudah diset  ke IP Public router.

So, saya tinggal installasi paket-paket mail server. Untuk itu silakan liat konfigurasi network saya /etc/network/interfaces

~# tail /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet static
address 192.168.30.9
netmask 255.255.255.0
network 192.168.30.0
broadcast 192.168.30.255
gateway 192.168.30.1
dns-nameservers
read more