Feeds:
Pos
Komentar

Archive for the ‘ubuntu’ Category

saya punya 3 mesin ubuntu yang headless, alias tidak terpasang monitor dan bahkan papan ketik ataupun tetikus. ketiga mesin ini tersebar di tiga tempat yang berbeda, dan saya ingin agar jika mesin tersebut melakukan shutdown atau restart, saya diberitahukan melalui mail. untuk kepentingan mengirimkan mail, dulu saya menggunakan nullmailer dengan relay gmail, namun sejak gmail mewajibkan menggunakan TLS, nullmailer tidak bisa dipergunakan lagi.

agar bisa memanfaatkan gmail sebagai relay, maka saya akan menggunakan dovecot-postfix:

sudo aptitude -y install dovecot-postfix

setelah itu akan muncul layar setting:

Screen Shot 2012-12-10 at 11.59.54 AM

karena saya hanya ingin mengirim mail keluar dan bukan menerima mail, saya pilih Satellite system:

Screen Shot 2012-12-10 at 12.01.05 PM

berikutnya isikan nama FQDN (Fully Qualified Domain Name) dari mesin, sesuaikan dengan nama mesin dan di mana jaringan anda berada:

Screen Shot 2012-12-10 at 12.07.30 PM

isikan smtp.gmail.com:587 sebagai SMTP relay host:

Screen Shot 2012-12-10 at 12.09.56 PM

isikan alamat mail yang akan menerima mail untuk root dan postmaster:

Screen Shot 2012-12-10 at 12.12.57 PM

isikan nama mesin/domain yang akan diterima oleh mesin ini sebagai tujuan akhir:

Screen Shot 2012-12-10 at 12.14.32 PM

synchronous updates biarkan pada kondisi default:

Screen Shot 2012-12-10 at 12.17.10 PM

karena hanya akan digunakan untuk mengirimkan mail dari mesin itu sendiri, untuk isian network blocks biarkan dalam kondisi default, dengan demikian mesin tersebut tidak akan melakukan relay mail dari mesin lain:

Screen Shot 2012-12-10 at 12.18.33 PM

batas berkas mailbox saya biarkan dalam kondisi default alias no limit:

Screen Shot 2012-12-10 at 12.21.49 PM

local address extension biarkan dalam kondisi default:

Screen Shot 2012-12-10 at 12.23.09 PM

biarkan dalam kondisi default untuk protokol internet yang akan digunakan:

Screen Shot 2012-12-10 at 12.24.42 PM

selesai sudah proses dpkg-reconfigure. sekarang sunting berkas /etc/postfix/main.cf:

sudo nano /etc/postfix/main.cf

lalu tambahkan baris-baris berikut ini:

smtp_tls_loglevel=1
smtp_tls_security_level=encrypt
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

sekarang menambahkan informasi akun gmail yang akan digunakan untuk melakukan relay:

sudo nano /etc/postfix/sasl_passwd

formatnya adalah nama.server:port alamat@mail:password:

smtp.gmail.com:587 nama.akun@gmail.com:password

lakukan hashing terhadap berkas tadi:

sudo postmap /etc/postfix/sasl_passwd

lalu demi keamanan anda bisa menghapus berkas teks sasl_passwd tadi. sekarang cek /etc/aliases, apakah akun postmaster dan root sudah benar aliasnya. kalau belum, silakan sunting lalu perbaiki, lalu jalankan perintah:

sudo newaliases
sudo service postfix reload

sekarang tes apakah sudah bisa mengirimkan mail atau belum:

echo "ini tes kirim mail" | mail -s "testing" root

jika semua setting sudah benar, maka anda akan menerima mail pada akun mail yang sudah didefinisikan dalam /etc/aliases tadi.
sekarang membuat script untuk mengirimkan mail saat shutdown dan reboot:

sudo nano /etc/init.d/SystemEmail

isikan berkas tersebut dengan baris-baris berikut ini:

#!/bin/sh
### BEGIN INIT INFO
# Provides: SystemEmail
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Send email
# Description: Sends an email at system start and shutdown
### END INIT INFO
EMAIL="root"
RESTARTSUBJECT="["`hostname`" "`date`"] – System Startup"
SHUTDOWNSUBJECT="["`hostname`" "`date`"] – System Shutdown"
RESTARTBODY="This is an automated message to notify you that "`hostname`" started successfully. Start up Date and Time: "`date`
SHUTDOWNBODY="This is an automated message to notify you that "`hostname`" is shutting down. Shutdown Date and Time: "`date`
LOCKFILE=/var/lock/SystemEmail
RETVAL=0
# Source function library.
. /lib/lsb/init-functions
stop()
  {
  echo -n "Sending Shutdown Email: "
  echo "${SHUTDOWNBODY}" | mail -s "${SHUTDOWNSUBJECT}" ${EMAIL}
  sleep 4
  RETVAL=$?
  sleep 4
  if [ ${RETVAL} -eq 0 ]; then
    rm -f ${LOCKFILE}
    sleep 4
    log_success_msg
  else
    log_failure_msg
  fi
  echo
  return ${RETVAL}
  }
start()
  {
  echo -n "Sending Startup Email: "
  echo "${RESTARTBODY}" | mail -s "${RESTARTSUBJECT}" ${EMAIL}
  RETVAL=$?
  if [ ${RETVAL} -eq 0 ]; then
    touch ${LOCKFILE}
    log_success_msg
  else
    log_failure_msg
  fi
  echo
  return ${RETVAL}
  }
case "$1" in
  start)
    start
  ;;
  stop)
    stop
  ;;
  status)
    echo "Not applied to service"
  ;;
  restart)
    stop
    start
  ;;
  reload)
    echo "Not applied to service"
  ;;
  condrestart)
  #
    echo "Not applied to service"
  ;;
  probe)
  ;;
  *)
    echo "Usage: SystemEmail{start|stop|status|reload|restart[|probe]"
  exit 1
  ;;
esac
exit ${RETVAL}

simpan berkas tersebut, lalu pastikan berkas tersebut bisa dieksekusi:

sudo chmod u+x /etc/init.d/SystemEmail

daftarkan berkas tersebut agar dieksekusi saat restart maupun shutdown:

sudo update-rc.d SystemEmail start 98 2 3 4 5 . stop 02 0 1 6 .

sekarang uji coba apakah script tadi bisa berjalan baik atau tidak:

sudo service SystemEmail start

jika semuanya berjalan lancar, maka anda akan menerima mail pemberitahuan bahwa server anda baru menyala. sebenarnya semuanya sudah selesai sampai di sini, namun kadang saat melakukan shutdown server keburu mati sebelum sempat mengirimkan mail, maka tambahkan delay secukupnya pada /etc/init.d/postfix agar mail sempat terkirim (saya menambahkan baris sleep 12):

Screen Shot 2012-12-10 at 12.54.14 PM

referensi:

Read Full Post »

artikel tahun 2008 saya tentang triple boot di macbook ternyata tidak berlaku untuk macbook air 13″ (MBA) yang baru saya beli. problem utamanya adalah jika sudah ada partisi bootable selain Mac OS X pada media penyimpan internal, dalam hal ini SSD MBA, walaupun di layar rEFIt sudah memilih USB installer OS yang lain, MBA akan selalu boot ke partisi bootable internal tadi. ini menyebabkan jika saya sudah install Windows 7 misalnya ke MBA, maka saya tidak bisa install Linux; demikian juga sebaliknya, jika saya sudah install Linux, maka saya tidak bisa install Windows.

solusi yang saya temukan setelah googling juga kebanyakan menyarankan untuk menggunakan USB superdrive yang dijual Apple khusus untuk MBA, namun setelah 5 hari mengutak-utik, akhirnya saya menemukan ide untuk melakukan chainloading. awalnya saya mencoba chainloading dari instalasi ubuntu yang sudah ter-install ke USB installer windows, hasilnya adalah USB installer windows bisa berjalan, windows bisa terinstall, namun setelah itu tidak bisa boot baik ke windows maupun linux.

setelah prosesnya dibalik, install windows terlebih dahulu, pasang chainloading ke USB installer ubuntu dengan bantuan easyBCD, akhirnya saya bisa membuat MBA 2010 saya bisa triple boot tanpa perlu mempergunakan USB superdrive. langkah-langkah selengkapnya sudah saya tulis di blog yangcanggih.com.

Read Full Post »

menyambung tulisan sebelumnya untuk optimasi koneksi internet ke jaringan lokal di rumah, satu cara lagi adalah dengan membuat sebuah intercepting caching proxy dengan menggunakan squid. ini juga untuk menggantikan tulisan saya sebelumnya yang menjelaskan kombinasi squid dan firestarter, yang ternyata tidak bisa berfungsi. untuk instalasi squid di sistem operasi lucid:

# aptitude install squid

sunting berkas /etc/squid/squid.conf. yang penting untuk keperluan intercepting adalah baris http_port 192.168.0.1:3128 transparent, lalu saya menetapkan pool harddisk yang besar sekitar 20GB, cache_dir ufs /var/spool/squid 21000 16 256:

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl cipete src 192.168.0.0/16
acl SSL_ports port 443		# https
acl SSL_ports port 563		# snews
acl SSL_ports port 873		# rsync
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
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 631		# cups
acl Safe_ports port 873		# rsync
acl Safe_ports port 901		# SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow cipete
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow cipete
icp_access deny all
http_port 192.168.0.1:3128 transparent
hierarchy_stoplist cgi-bin ?
cache_dir ufs /var/spool/squid 21000 16 256
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern (Release|Package(.gz)*)$	0	20%	2880
refresh_pattern .		0	20%	4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
cache_mgr user@mail.com
visible_hostname dontshootthemessenger
hosts_file /etc/hosts
coredump_dir /var/spool/squid

jalankan squid:

# service squid start

ujicoba dengan menggunakan peramban yang dikonfigurasi menggunakan proxy di atas (port 3128). agar bisa melakukan intercepting proxy yang transparent, kita tidak bisa membatasi hak akses dengan user/password.

sekarang agar semua klien dalam jaringan tiap kali menggunakan peramban akan dialihkan ke squid, kita harus memaksa semua konekasi outgoing di port 80 untuk dibelokkan ke 192.168.0.1:3128, ini bisa dilakukan dengan memanfaatkan ipkungfu. sunting berkas /etc/ipkungfu/redirect.conf, lalu tambahkan baris ini:

tcp:80:3128:internal	# transparent squid proxy

jalankan ipkungfu kembali:

# ipkungfu

setelah ini, semua klien di jaringan yang mengakses port 80 akan dibelokkan terlebih dulu ke squid proxy yang telah dibangun di atas. dengan demikian, selesai sudah 3 tulisan saya yang berhubungan dengan pembagian koneksi internet ke jaringan lokal di rumah.

Read Full Post »

agar kita bisa menjelajahi internet, ada fungsi paling dasar yang pasti selalu terpakai: DNS, Domain Name Service. DNS ini yang bertugas menerjemahkan nama domain (misalnya ryosaeba.wordpress.com) ke dalam bentuk IP address, yang lebih dimengerti oleh lapisan jaringan. biasanya jika kita berlangganan ke sebuah ISP, Internet Service Provider, kita akan menggunakan fasilitas DNS yang disediakan oleh ISP tersebut. bisa juga kalau kita ingin membatasi akses internet untuk internet yang aman buat anak-anak misalnya, kita menggunakan OpenDNS atau DNS Nawala.

sebenarnya proses meminta terjemahan nama domain ke IP address ini dari komputer kita ke DNS server ISP tidak lama, rata-rata memakan waktu 500 milidetik, alias setengah detik. namun bayangkan jika DNS server ISP itu bisa kita pindahkan ke dalam jaringan lokal di rumah, maka proses penerjemahan nama domain tadi bisa disingkat sampai cuma tinggal 1 milidetik. jika seharian kita melakukan ratusan permintaan penerjemahan nama domain, banyak waktu yang bisa dihemat jika DNS server-nya ada di jaringan lokal.

untuk mengetahui berapa lama proses yang dibutuhkan untuk melakukan penerjemahan nama domain ini, di linux maupun mac bisa digunakan perintah dig. berikut jika saya meminta google DNS (8.8.8.8) menerjemahkan malesbanget.com:

$ dig @8.8.8.8 malesbanget.com

; <<>> DiG 9.7.0-P1 <<>> @8.8.8.8 malesbanget.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3619
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;malesbanget.com.		IN	A

;; ANSWER SECTION:
malesbanget.com.	4471	IN	A	65.98.16.186

;; Query time: 471 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Jun 12 07:40:01 2010
;; MSG SIZE  rcvd: 49

lama kueri bisa dilihat dari Query time. dari hasil di atas terlihat hasilnya adalah 471 milidetik. ketika saya ulangi lagi sebanyak 3 kali, hasilnya berturut-turut adalah 239, 312, dan 757 milidetik.

untuk keperluan DNS caching ini, saya memilih menggunakan pdnsd, dan supaya efektif, saya akan menggunakan ipkungfu agar semua kueri DNS yang terjadi di jaringan lokal saya akan selalu dilewatkan ke pdnsd, walaupun komputer klien tersebut secara eksplisit meminta server DNS yang lain.

unduh paket pdnsd:

# aptitude install pdnsd

sunting berkas /etc/pdnsd.conf; konfigurasi saya adalah pdnsd bisa dipergunakan oleh mesin lain dalam jaringan lokal di rumah, lalu DNS server yang saya pergunakan adalah google DNS dan OpenDNS serta pilihan terakhir adalah DNS speedy, lalu blokir beberapa situs iklan.

global {
	perm_cache=1024;
	cache_dir="/var/cache/pdnsd";
	run_as="pdnsd";
	server_ip = eth0;  // Use eth0 here if you want to allow other
				// machines on your network to query pdnsd.
	status_ctl = on;
  	paranoid=on;
//	query_method=tcp_udp;	// pdnsd must be compiled with tcp
				// query support for this to work.
	min_ttl=15m;       // Retain cached entries at least 15 minutes.
	max_ttl=1w;	   // One week.
	timeout=10;        // Global timeout option (10 seconds).

        // Don't enable if you don't recurse yourself, can lead to problems
        // delegation_only="com","net";
}

// This section is meant for resolving from root servers.
server {
	label = google;
	ip = 8.8.8.8;                // google DNS
	ip = 208.67.222.222;  // OpenDNS
	ip = 4.4.4.4;                // google DNS
	ip = 208.67.220.220;  // OpenDNS
	ip = 202.134.0.61;      // speedy
	ip = 203.130.196.5;    // speedy
	timeout = 5;
	uptest = query;
	interval = 30m;      // Test every half hour.
	ping_timeout = 300;  // 30 seconds.
	purge_cache = off;
	exclude = .localdomain;
	policy = included;
	preset = off;
}

source {
	owner=localhost;
//	serve_aliases=on;
	file="/etc/hosts";
}

rr {
	name=localhost;
	reverse=on;
	a=127.0.0.1;
	owner=localhost;
	soa=localhost,root.localhost,42,86400,900,86400,86400;
}

neg {
	name=doubleclick.net;
	types=domain;   // This will also block xxx.doubleclick.net, etc.
}

neg {
        name=edgesuite.net;
        types=domain;   // This will also block xxx.doubleclick.net, etc.
}

neg {
        name=predictad.com;
        types=domain;   // This will also block xxx.doubleclick.net, etc.
}

neg {
        name=widgetbucks.net;
        types=domain;   // This will also block xxx.doubleclick.net, etc.
}

neg {
        name=yieldmanager.com;
        types=domain;   // This will also block xxx.doubleclick.net, etc.
}

lalu sunting berkas /etc/default/pdnsd dan buat baris ini: START_DAEMON=yes. setelah itu, aktifkan pdnsd:

# service pdnsd start

silakan menguji pdnsd yang sudah dipasang dengan perintah dig, misalnya “dig @192.168.0.1 malesbanget.com”. untuk kueri DNS yang pertama akan terlihat masih normal, sekitar 500 milidetik, namun jika diulangi, maka kueri berikutnya akan menjadi lebih cepat, cuma 1 atau 2 milidetik.

langkah berikutnya adalah mengubah konfigurasi dhcp3-server agar komputer klien mengacu ke DNS server yang telah dibuat, dengan menyunting berkas /etc/dhcp3/dhcpd.conf, lalu mengubah bagian domain-name-servers sesuai dengan IP address DNS server tadi (dalam hal ini 192.168.0.1):

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option domain-name-servers 192.168.0.1;
option domain-name "mshome.net";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
} 

setelah itu, restart dhcp3-server:

# service dhcp3-server restart

ini adalah hasil uji coba di komputer klien, terlihat kueri DNS berikutnya cuma 1 milidetik:

eko@epia800:~$ dig malesbanget.com

; <<>> DiG 9.7.0-P1 <<>> malesbanget.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45235
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;malesbanget.com.		IN	A

;; ANSWER SECTION:
malesbanget.com.	14400	IN	A	65.98.16.186

;; Query time: 422 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Fri Jun 11 23:30:21 2010
;; MSG SIZE  rcvd: 49

eko@epia800:~$ dig malesbanget.com

; <<>> DiG 9.7.0-P1 <<>> malesbanget.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 886
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;malesbanget.com.		IN	A

;; ANSWER SECTION:
malesbanget.com.	14398	IN	A	65.98.16.186

;; Query time: 1 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Fri Jun 11 23:30:23 2010
;; MSG SIZE  rcvd: 49

namun bagaimana untuk klien yang “bandel”, yang suka menentukan sendiri DNS server apa yang mau dipakai? ini bisa ditangani dengan membelokkan outgoing request di port 53 TCP/UDP ke pdnsd memanfaatkan fasilitas redirection yang ada di ipkungfu. sunting berkas /etc/ipkungfu/redirect.conf, lalu tambahkan 2 baris berikut:

udp:53:53:internal	# dns
tcp:53:53:internal	# dns

jalankan ipkungfu kembali agar dia mendeteksi perubahan konfigurasi.

# ipkungfu

sekarang walaupun klien menentukan sendiri DNS server yang dia pakai, akan selalu dibelokkan ke pdnsd. optimasi berikutnya yang bisa dilakukan adalah membuat squid caching proxy.

Read Full Post »

koneksi speedy di rumah saya dibagi dengan menggunakan notebook tua, sebuah thinkpad X20 yang sudah tidak berfungsi lagi layarnya. daripada menjadi bangkai tak berguna, saya manfaatkan X20 yang berprosesor pentium III 600 MHz ini untuk menjadi router, ketimbang menjadi bangkai. lagipula, karena X20 ini merupakan notebook, tentu saja lebih irit listrik ketimbang menggunakan komputer desktop tua sebagai router.

langkah pertama adalah membuat modem ADSL yang dipakai untuk koneksi speedy ke mode bridging. pada umumnya modem ADSL sudah berfungsi juga sebagai router, bahkan juga berfungsi sebagai wireless router. namun untuk kepentingan saya pribadi, saya memindahkan fungsi router ini ke X20, karena processing power dan jumlah memori yang lebih besar ketimbang modem, ditambah ada beberapa hal yang tidak bisa dilakukan jika modem berfungsi juga sebagai router.

kedua, membuat X20 bisa melakukan dial PPPoE ke modem. ini dengan mudah dilakukan dengan menjalankan pppoeconf, ikuti saja petunjuk yang muncul. untuk kepentingan saya, saya buat koneksi Speedy ini persistent, jadi kalau koneksi terputus, X20 akan otomatis melakukan redial.

langkah ketiga adalah menentukan besar MTU yang sesuai.

langkah keempat adalah melakukan pembagian koneksi internet itu sendiri. ada dua aplikasi yang saya tahu mempermudah hal ini. pertama adalah firestarter. ini adalah cara yang paling mudah untuk membagi akses internet, dan antarmuka grafisnya juga cukup intuitif, mudah dipelajari. untuk menjalankan firestarter, unduh dulu aplikasinya:

# aptitude install firestarter

setelah itu jalankan firestarter, bisa melalui menu aplikasi di gnome desktop, atau melalui command line:

# firestarter

klik menu Firewall, lalu klik Run Wizard, ikuti saja petunjuk yang ada.

kekurangan dari firestarter adalah kesulitan memodifikasi setting yang dibuat oleh firestarter, terutama jika saya ingin membuat DNS caching dan intercepting (transparent) squid cache proxy. jadi untuk menggantikan firestarter, saya menggunakan ipkungfu. kebalikan dari firestarter, ipkungfu ini tidak menggunakan antarmuka grafis, melainkan hanya sekumpulan berkas konfigurasi. walaupun begitu, saat instalasi awal, installer paket ipkungfu akan membantu melakukan beberapa setting dasar. untuk kepentingan awal, setting default ipkungfu sudah cukup untuk membagi koneksi internet dari speedy.

# aptitude install ipkungfu

setting default dari installer paket ipkungfu seharusnya mencukupi, namun jika diinginkan kita bisa mengutak-atik berkas konfigurasi yang berada di di /etc/ipkungfu. jika telah selesai, sunting berkas /etc/default/ipkungfu, dan pastikan ada baris “IPKFSTART=1”. setelah itu aktifkan ipkungfu:

# ipkungfu

jika anda memilih menggunakan firestarter, akan ditawarkan pilihan menjadikan mesin sebagai DHCP server, jadi tidak perlu lagi setting DHCP server. namun bagi yang menggunakan ipkungfu, kita masih harus melakukan setting dhcp server:

# aptitude install dhcp3-server

sunting berkas /etc/dhcp3/dhcpd.conf, lalu modifikasi sesuai dengan konfigurasi. misalnya di tempat saya, X20 sebagai router mempunyai IP address 192.168.0.1, lalu DNS menggunakan google DNS 8.8.8.8, dan saya menentukan pool IP DHCP adalah mulai dari 192.168.0.100 sampai 192.168.0.200, dan saya mengikuti standar microsoft dalam penamaan home network dengan mshome.net:

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option domain-name-servers 8.8.8.8;
option domain-name "mshome.net";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
} 

setelah itu jangan lupa sunting berkas /etc/default/dhcp3-server dan modifikasi baris INTERFACES sesuai dengan konfigurasi jaringan lokal. misalnya di X20 koneksi ethernet yang tersambung ke sisi lokal adalah eth0, maka dibuat baris INTERFACES=”eth0″. setelah itu jalankan DHCP server:

# service dhcp3-server start 

jika semua langkah di atas dijalankan dengan benar, maka kini instalasi lucid lynx anda sudah bisa membagi koneksi internet.

langkah tambahan yang bisa dilakukan untuk mengoptimalkan jaringan lokal di rumah antara lain melakukan DNS caching dan membuat squid caching proxy.

Read Full Post »

setidaknya ada dua buah bugs yang saya temukan selama menggunakan lucid lynx.

bug pertama adalah ketika paket snmp di-upgrade, installer paket akan mengeluhkan kesalahan “userdel: user snmp is currently logged in“. cara termudah adalah mencari proses apa yang berhubungan dengan snmp:

# ps aux | grep snmp

snmp       408  0.0  0.9   9068  3116 ?        S    Jun11   0:38 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid

hasilnya ternyata ada proses snmpd yang sedang berjalan. stop proses tersebut:

# service snmpd stop

lalu jalankan installer paket kembali:

# dpkg --configure -a

setelah itu jangan lupa jalankan kembali snmpd:

# service snmpd start

bug kedua adalah paket mdadm, saat instalasi rupanya dia mencari /dev/MAKEDEV, padahal itu terletak di /sbin/MAKEDEV. untuk memperbaikinya, hapus dulu berkas konfigurasi mdadm sekalian dengan paketnya:

# rm /etc/mdadm/mdadm.conf
# aptitude -y purge mdadm

lalu buat symbolic link ke /sbin/MAKEDEV di direktori /dev:

# cd /dev/
# ln -s /sbin/MAKEDEV

setelah itu install kembali paket mdadm, kali ini instalasi akan berjalan lancar:

# aptitude -y install mdadm

Read Full Post »

tulisan ini sudah tidak berlaku lagi. silakan baca bagaimana cara membuat squid dengan ipkungfu sebagai pengganti tulisan ini.

bagi saya, cara termudah di ubuntu untuk melakukan sharing koneksi internet adalah dengan menggunakan firestarter.
lalu untuk mengirit pemakaian internet, cara yang lumayan mudah dan sederhana adalah dengan memaksakan trafik internet melalui proxy (intercepting proxy, yang lebih populer disebut sebagai transparent proxy, walaupun memang salah kaprah). berikut adalah langkah-langkahnya:

  1. instalasi dan konfigurasi firestarter untuk membagi koneksi internet anda ke jaringan lokal.
  2. instalasi dan konfigurasi Squid. jangan lupa tambahkan policy di firestarter untuk port yang dipergunakan oleh Squid; misalnya Squid masih menggunakan port default 3128, maka tambahkan policy di firestarter untuk koneksi port 3128 pada LAN.
  3. tambahkan baris ini pada /etc/firestarter/user-pre:
    $IPT -t nat -A PREROUTING -i $IF -p tcp --dport 80 -j REDIRECT --to-port 3128

Read Full Post »

di milis id-mac hari ini muncul sebuah pertanyaan:

Mau nanya, saya ada buat bootcamp dengan alokasi untuk bootcampnya jadi 32GB. Ternyata setelah di install jendela dan bbrp sw yg khusus jendela, spacenya kurang. Apa partisinya bisa di tambah? Kalau bisa caranya bagaimana ya? Atau harus di partisi ulang, yg berarti harus install jendela semua dari awal?
Tolong pencerahannya dan terima kasih sebelumnya.

pertama, disclaimer. cara yang akan saya tuliskan di bawah ini menuntut pengetahuan pemakaian terminal, dan juga familiarity dengan linux ubuntu. jadi kalau tidak pernah main-main dengan terminal, lebih baik berhenti membaca.

kalau ternyata tulisan saya masih dibaca, disclaimer sekali lagi: saya tidak bertanggung-jawab atas kerusakan/kehilangan data yang mungkin terjadi. akan sangat lebih baik anda backup dulu semua data anda (baik mac maupun windows).

hal-hal yang dibutuhkan:

  • sebuah livecd ubuntu, yang dipakai dalam tutorial ini adalah versi 9.04 alias ubuntu jaunty
  • aplikasi refit, untuk memunculkan boot menu

yang pertama perlu dilakukan adalah memperkecil partisi mac. ini dicapai dengan cara:

  1. boot ke mac
  2. buka terminal
  3. ketik perintah “diskutil list“. ini contohnya di macbook saya:
    $ diskutil list
    /dev/disk0
      #:                       TYPE NAME                    SIZE       IDENTIFIER
      0:      GUID_partition_scheme                        *232.9 Gi   disk0
      1:                        EFI                         200.0 Mi   disk0s1
      2:                  Apple_HFS Scorpio                 190.0 Gi   disk0s2
      3:       Microsoft Basic Data WinBook                 33.4 Gi    disk0s3
  4. yang perlu dicatat adalah nama device tempat partisi “Apple_HFS” berada. pada contoh di atas, berarti ada pada “/dev/disk0s2
  5. langkah berikutnya adalah mencari tahu batasan seberapa besar partisi tersebut bisa di-resize, dengan mengetikkan perintah “diskutil resizeVolume /dev/disk0s2 limits“. ganti “/dev/disk0s2” sesuai dengan catatan di #4. hasilnya kira-kira seperti ini:
    $ diskutil resizeVolume /dev/disk0s2 limits
    For device disk0s2 Scorpio:
           Current size:   204010946560 bytes
           Minimum size:   153055330304 bytes
           Maximum size:   204010946560 bytes
  6. dari hasil #5, bisa dilihat partisi mac masih bisa diperkecil sampai dengan kira-kira 150-an GB (tapi ini sangat tergantung pada kondisi fragmentasi hdd anda). misalnya saat ini partisi mac anda adalah seperti di atas, dan anda ingin menambahkan sekitar 20 GB untuk partisi windows, maka anda butuh menciutkan partisi mac sebesar 20 GB, dengan perintah seperti ini: “diskutil resizeVolume /dev/disk0s2 180G“, sesuaikan nama partisi dan besar partisi yang diinginkan dengan kebutuhan anda
  7. jika #6 berhasil dilakukan sampai selesai, silakan restart mac anda, lalu skip ke #9. lama proses tergantung pada besar data yang dipindahkan, saya pernah menciutkan partisi sebesar 60 GB memakan waktu sekitar 5 jam
  8. jika gagal, berarti partisi mac anda mengalami fragmentasi dan ada file-file yang terletak di ujung luar partisi yang tidak bisa dipindahkan oleh diskutil. saya tidak akan membahas ini, yang bisa saya bantu hanyalah gunakan aplikasi defrag seperti iDefrag untuk melakukan defragmentasi (harus boot pakai cd iDefrag), atau coba lakukan resizing volume ini melalui dvd installer leopard
  9. jika proses resize telah berhasil, saya sarankan untuk menginstall aplikasi refit, agar saat boot kita bisa memilih mau boot ke partisi mana (refit bahkan bisa dipergunakan untuk boot ke external device)

demikian langkah untuk memperkecil besar partisi mac. langkah berikutnya adalah memperbesar partisi windows dengan memanfaatkan ruang kosong yang tersedia akibat proses penciutan partisi mac tadi:

  1. masukkan livecd ubuntu ke dalam mac anda. reboot, dan saat refit muncul, pilih boot dari cd ubuntu tersebut. jika anda menggunakan macbook/mbp, disarankan untuk memasang USB mouse, karena trackpad mac di ubuntu terasa aneh pemakaiannya (terlalu sensitif, gampang terjadi salah klik)
  2. setelah masuk ke desktop ubuntu, klik menu System – Administration – Partition Editor
  3. cari partisi windows anda. biasanya ditandai dengan dengan label/bingkai (frame) warna hijau dan pada kolom “File System” tertulis “ntfs“. kalau langkah-langkah sebelumnya dijalankan dengan benar, seharusnya di sebelah kiri blok partisi windows tersebut ada “ruang kosong”, hasil penciutan partisi mac anda. klik kanan partisi windows ini, klik “Resize/Move“, lalu perbesar partisi ini sesuai dengan ruang kosong yang ada tadi, lalu klik tombol “Resize/Move“. klik tombol “Apply” yang ada di atas. tunggu proses resize selesai

voila, partisi windows anda sudah bertambah besar! sekarang shutdown desktop livecd ubuntu anda, lalu coba boot ke mac atau ke windows.

Read Full Post »

CCTV, Closed-circuit television adalah sistem kamera video yang mengirimkan sinyalnya secara terbatas. untuk meningkatkan keamanan rumah saat ditinggalkan, saya memutuskan untuk memasang sistem pengawasan dengan sistem CCTV ini. jika memang tidak punya waktu untuk membuatnya sendiri, ada beberapa perusahaan yang menyediakan jasa pemasangan CCTV ini. salah satu contohnya adalah CCTV Indonesia, yang menawarkan jasa pemasangan sistem CCTV terkomputerisasi lengkap dengan harga paket dasar dari 13 juta sampai dengan 19 juta rupiah.

saya sendiri daripada mengeluarkan uang jutaan rupiah, lebih memilih untuk membuat sendiri sistem ini (DIY, do it yourself). yang sudah tersedia di rumah adalah dua buah server yang selalu menyala (router dan fileserver), sebuah notebook thinkpad X20 yang sudah rusak LCD-nya, dan jaringan kabel maupun nirkabel yang mencakup seluruh rumah. bagi yang punya sistem berbasis windows, mungkin panduan yang ditulis oleh iip sesuai buat anda. saya sendiri menggunakan ubuntu di tiga komputer yang sudah saya sebut di atas.

zoneminder

berikutnya adalah memilih perangkat lunak sistem CCTV ini. dari hasil googling sebentar, akhirnya menemukan zoneminder, aplikasi open source dan sangat lengkap untuk membuat sistem CCTV. fasilitasnya antara lain bisa menggunakan kompresi eksternal seperti ffmpeg, deteksi gerakan (motion detection), membunyikan alarm, mengirimkan peringatan melalui mail, mengirimkan gambar melalui FTP, dan masih banyak lagi. bisa diakses melalui web, atau bisa juga melalui jalur telepon. perangkat kamera bisa menggunakan webcam, IP webcam, video input. di ubuntu, instalasi sangat mudah, cukup tambahkan zoneminder dari Synaptic Package Manager, atau jika anda penggemar CLI (command line interface) seperti saya, dengan perintah:

sudo aptitude -y install zoneminder

jika belum ada, instalasi zoneminder akan menambahkan sendiri dependensi seperti apache2 dan mysql. jangan lupa untuk mengubah password dari mysql agar instalasi mysql anda lebih aman. zoneminder hanya perlu dipasang pada satu server saja, tidak perlu dipasang di tiap komputer yang terpasang webcam.

perangkat webcam

langkah berikutnya adalah memilih webcam. ada banyak pilihan webcam, namun metoda yang saya pilih saat hari jumat kemarin adalah pilih webcam yang driverless (UVC, USB Video device Class), yang termurah yang bisa saya temukan di mal ambasador. 🙂 cara yang saya tempuh ini tentu saja belum tentu cocok buat anda, jadi silakan tentukan sendiri kebutuhan anda. webcam termurah yang saya temukan dibeli seharga 65 ribu rupiah, bermerek apollyon. seharusnya webcam ini bisa lebih murah lagi, sayangnya kurs USD yang memang masih di atas 10 ribu rupiah membuat webcam ini juga naik harganya.

apollyon webcam
murah meriah

UVC compliant
UVC compliant

uji coba perangkat webcam

ketika USB webcam ini dicolokkan ke komputer, USB ID-nya adalah 1c4f:3000:

$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1c4f:3000
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

untuk mencoba apakah webcam ini bisa dipergunakan di linux atau tidak, bisa dengan memanfaatkan aplikasi luvcview, yang sudah ada di dalam paket ubuntu:

sudo aptitude -y install luvcview
luvcview

mjpg-streamer

sekarang yang menjadi problem, zoneminder versi 1.23.3 masih memakai V4L (Video for Linux) versi 1 (v4l1), yang sudah tidak didukung lagi oleh UVC driver untuk linux (uvcdriver). uvcdriver hanya mendukung V4L versi 2 (v4l2), yang baru akan ada dukungannya di zoneminder versi 1.24. sambil menunggu rilis versi 1.24, kita bisa menggunakan mjpg-streamer sebagai perantara antara uvcdriver ke zoneminder.

mjpg-streamer ini sayangnya belum masuk dalam paket standar ubuntu, dan paket binari yang bisa diunduh hanyalah untuk arsitektur i386, tidak ada amd64, jadi tidak bisa langsung digunakan oleh server router yang saya pasang intrepid amd64. jadi agar bisa digunakan, saya harus melakukan kompilasi dulu terhadap source code dari mpjg-streamer ini. langkah awal adalah mempersiapkan kebutuhan untuk melakukan kompilasi:

sudo aptitude -y install subversion build-essential libjpeg62-dev libjpeg62

setelah itu ambil source code dari mjpg-streamer:

svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer

lakukan kompilasi dan instalasi:

cd mjpg-streamer/mjpg-streamer
make clean all
sudo make DESTDIR=/usr install

cara menggunakan mjpg-streamer ini cukup mudah, secara default dia akan mengakses /dev/video0, dan membuka akses http di port 8080. saya menambahkan opsi -b agar dijalankan di background:

mjpg-streamer -b

sekarang untuk mencobanya, silakan buka browser ke http://localhost:8080/?action=stream.

tadinya saya mencoba memasang 2 webcam dalam 1 komputer, namun mendapatkan pesan kesalahan “Unable to start capture: No space left on device” saat mencoba menjalankan mjpg-streamer yang kedua. rupanya jika masih menggunakan USB 1.1, bandwidth untuk menangkap sinyal video sudah menghabiskan lebih dari separuh kapasitas lebarpita kanal USB yang cuma 12 Mbps. jika masih ingin menjalankan 2 buah webcam dalam satu komputer, solusinya adalah dengan menggunakan kanal USB 1.1 yang berbeda, atau menggunakan kanal USB 2.0 yang mempunyai lebarpita 480 Mbps.

lalu jika menggunakan mjpg-streamer ini di komputer yang memiliki IP publik, tentu lebih baik jika akses dibatasi dengan menggunakan sandi. ini bisa dilakukan dengan menambahkan opsi -c pada plugin http output:

mjpg_streamer --input "input_uvc.so --device /dev/video0 --fps 5 --resolution 640x480" --output "output_http.so --port 8080 -c user:password" -b

mengaktifkan zoneminder

walaupun zoneminder sudah termasuk dalam paket standar ubuntu, masih diperlukan sedikit langkah untuk mengaktifkannya:

sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo /etc/init.d/apache2 force-reload

buka http://namawebserver/zm. instalasi default belum membatasi akses dengan sandi, jadi langkah pertama adalah membatasi akses dengan mengklik Options lalu centang Authenticate user logins to ZoneMinder (ada di baris kedua tab System). klik tombol Save.

sekarang login kembali ke zoneminder (user/password: admin/admin), klik Options, lalu klik tab Users, dan silakan ubah password default, kalau perlu sekalian ditambahkan user baru, misalnya khusus hanya bisa melihat saja tanpa bisa mengubah konfigurasi.

menambahkan kamera

setelah login ke zoneminder, klik tombol Add New Monitor. pada tab General, berikan nama untuk kamera ini pada isian Name.
karena zoneminder versi 1.23.3 ini masih belum mendukung v4l2, saya menggunakan mjpg-streamer sebagai perantara, sehingga pada isian Source Type, isikan dengan Remote. untuk isian Function, saya memilih Modect, artinya Monitor & Detect, jika diakses akan menampilkan video secara realtime, dan hanya akan merekam jika mendeteksi adanya gerakan di kamera.

modect

setelah itu klik tab Source. untuk Remote Host Name, isikan dengan alamat IP dari komputer yang terpasang webcam (localhost jika di komputer yang sama). jika menggunakan sandi, isikan dalam format user:password@alamat-IP. Remote Host Port diisi dengan port yang dipergunakan, contohnya mjpg-streamer secara default menggunakan port 8080. pada Remote Host Path, karena kita menggunakan mjpg-streamer, isikan dengan /?action=stream. pada Capture Width dan Height, isikan dengan dimensi resolusi yang sesuai.

source

setelah itu, klik tombol Save. ulangi langkah di atas untuk menambahkan kamera yang lain. karena saya baru punya 3 webcam, maka baru 3 kamera yang ditangani oleh zoneminder ini.

troubleshooting

seperti yang sudah saya tulis di atas, jika masih menggunakan USB 1.1, hanya bisa terpasang satu webcam pada satu kanal. jika menggunakan USB 2.0 seharusnya bisa jauh lebih banyak webcam yang bisa terpasang.

untuk bisa memproses video resolusi besar, diperlukan alokasi memori yang cukup besar juga, kadang setting default masih kurang cukup besar. solusinya bisa dibaca di Video Surveillance system on Ubuntu 8.04 with Zoneminder, saya sendiri belum terkena problem ini.

masalah lain adalah dukungan uvcdriver sendiri yang berbeda di tiap versi kernel. pada thinkpad X20 yang terpasang ubuntu hardy (2.6.24-23-generic), webcam yang saya beli walaupun terdaftar di /dev/video0, tidak bisa dipergunakan. solusinya bisa dengan melakukan instalasi kernel yang lebih baru, atau dengan cara yang saya tempuh, sekalian upgrade dari hardy ke intrepid (2.6.27-9-generic). setelah saya pasang intrepid, webcam murahan ini bisa langsung dipergunakan. 🙂

CCTV buatan sendiri

berikut ini adalah webcam yang saya tempelkan ke salah satu unit satelit speaker Altec Lansing ATP3 saya:

webcam terpasang

webcam ini mengarah ke arah dapur dan meja makan. dan berikut ini adalah hasil capture dari webcam tersebut pada sistem CCTV zoneminder:

dapur

total biaya yang saya habiskan adalah untuk membeli webcam, 65 ribu x 3 = 195 ribu rupiah.
spesifikasi sistem komputer yang saya pergunakan:

  1. AMD Athlon 3200+, berfungsi sekaligus sebagai router dan server zoneminder:
    • 3 GB RAM, 80 GB harddisk
    • Ubuntu Intrepid Desktop arsitektur amd64
  2. Epia 800 MHz, juga berfungsi sebagai fileserver:
    • 512 MB RAM, 2 TB harddisk
    • Ubuntu Intrepid Server arsitektur i386
  3. Thinkpad X20 P3 600 MHz:
    • 320 MB RAM, 20 GB harddisk
    • Ubuntu Intrepid Desktop arsitektur i386
    • Kondisi LCD rusak, jadi praktis headless

Read Full Post »

vodafone wireless routerpada hari kamis 14 februari kemarin (ya, tepat saat valentine), wireless router vodafone yang saya pergunakan tiba-tiba rusak. sudah saya coba matikan lalu nyalakan kembali, yang terlihat hanyalah lampu LED merah menyala kedap-kedip, tak terlihat indikasi bahwa router tersebut berhasil booting.

saya malas melakukan komplain ke toko, karena terus terang saja saya pernah membongkar router ini untuk mengetahui apa saja isinya, yang tentunya merusak semua stiker garansi yang ada. tapi saya juga ingin berhemat, tidak ingin membeli lagi router yang sejenis, yang harganya mencapai di atas 1 juta rupiah. akhirnya saya putuskan untuk mencoba membuat sendiri router wireless dengan berbagai perangkat yang saya miliki.

merlin U630pertama tentu saja saya butuh modem 3G. dulu saya pernah menggunakan telpon genggam nokia E61 saya sebagai modem 3G, tapi tentu saja ini adalah solusi yang mahal, lagipula saya sudah terbiasa menggunakan E61 untuk komunikasi sehari-hari. jawabannya terletak di dalam router yang rusak ini: di dalamnya terdapat modem 3G pc-card novatel UMTS U630 merlin. setelah saya coba modem U630 ini masih bisa dipergunakan.

thinkpad x20barang kedua yang saya butuhkan adalah sebuah komputer yang bisa menggunakan modem pc-card, dan juga irit dalam pemakaian listrik, karena fungsinya sebagai wireless router yang akan menyala secara terus-menerus. thinkpad x20 yang saya miliki memenuhi kriteria ini. kondisi thinkpad x20 ini sudah tidak terlalu mulus; ada retakan kecil di bagian kanan di atas slot harddisk, dan juga rel slot harddisk-nya sudah patah, layar LCD sudah tidak berfungsi lagi, dan baterenya juga sudah tidak bisa menyimpan listrik. tentu saja kondisi ini malah membuatnya makin cocok untuk dijadikan router wireless.

dlink dwl-700apbarang ketiga yang saya butuhkan — dan yang tak kalah penting — adalah sebuah access point. sewaktu router vodafone saya masih berfungsi, jangkauan sinyalnya tergolong lemah, sewaktu saya bongkar dulu juga terlihat kalau wireless-nya menggunakan antena internal kecil. supaya wireless router vodafone ini bisa menjangkau semua komputer yang ada di rumah, dulu saya sempat membeli dlink DWL-700AP yang saya fungsikan sebagai repeater. sekarang setelah router vodafone rusak, access point dlink ini bisa saya manfaatkan kembali ke fungsi aslinya, yaitu sebagai access point.

thinkpad x20 ini sebelumnya sudah terpasang ubuntu gutsy, dengan fungsi utama sebagai leecher torrent. sekarang fungsinya akan saya tambah sebagai sebuah wireless router, sekaligus berfungsi sebagai cache proxy. langkah pertama adalah membuat x20 ini bisa tersambung ke cbn menggunakan modem 3G, untungnya saya pernah mencatat bagaimana menggunakan wvdial untuk melakukan hal ini dengan modem bluetooth; untuk modem pc-card diperlukan sedikit modifikasi, mengganti rfcomm ke ttyS1. berikut adalah wvdial.conf yang saya pergunakan:

    [Dialer Defaults]
    Phone = *99***1#
    Username = user@cbn.net.id
    Password = password
    New PPPD = yes
    Stupid Mode = 1
    Dial Command = ATDT

    [Dialer CBN]
    Modem = /dev/ttyS1
    Baud = 460800
    Dial Command = ATDT
    Init2 = ATZ
    Init3 = ATM0
    Init4 = AT+CGDCONT=1,”IP”,”cbn.net.id”
    FlowControl= crtscts
    Modem Type = Analog Modem

kemudian agar tiap kali booting komputer akan selalu dial, pada baris terakhir /etc/init.d/rc.local ditambahkan perintah wvdial CBN &.

setelah berhasil membuat komputer selalu melakukan koneksi melalui modem, sekarang komputer dibuat agar menjadi router, dan sekali lagi untungnya saya pernah mencatat bagaimana cara membagi koneksi internet di ubuntu:

  1. mulai dengan melakukan konfigurasi network, saya di rumah menggunakan 10.0.0.1.
  2. edit file /proc/sys/net/ipv4/ip_forward (sudo nano /proc/sys/net/ipv4/ip_forward), ganti angka 0 menjadi 1.
  3. jalankan perintah sudo iptables -t nat -A POSTROUTING -j MASQUERADE.
  4. lakukan instalasi dnsmasq dan ipmasq: sudo apt-get install dnsmasq ipmasq.
  5. restart dnsmasq: /etc/init.d/dnsmasq restart.
  6. konfigurasikan ipmasq agar dijalankan setelah network aktif: dpkg-reconfigure ipmasq
  7. tambahkan baris net.ipv4.ip_forward = 1 ke dalam file /etc/sysctl.conf: sudo nano /etc/sysctl.conf.
  8. instalasi dhcp server: sudo aptitude -y install dhcp3-server. setting yang saya pergunakan pada /etc/dhcp3/dhcpd.conf adalah:
    subnet 10.0.0.0 netmask 255.255.255.0 {
      range 10.0.0.100 10.0.0.200;
      option domain-name-servers 10.0.0.1, 202.158.3.7, 202.158.3.6;
      option domain-name "cbn.net.id";
      option routers 10.0.0.1;
      option broadcast-address 10.0.0.255;
      default-lease-time 600;
      max-lease-time 7200;
    }
  9. di klien saya tinggal konfigurasikan untuk setting IP secara otomatis.

dlink DWL-700AP saya koneksikan ke port ethernet thinkpad x20, lalu saya konfigurasikan untuk menggunakan enkripsi WPA2-PSK (pre-shared key, agar relatif lebih mudah untuk bisa terkoneksi ke access point).

koneksi internet yang saya pergunakan adalah CBN wireless 3G via XL yang unlimited, sayangnya koneksinya dibatasi kecepatannya di 64 Kbps (dan sepertinya paket layanan ini sudah tidak tersedia lagi untuk pelanggan baru). agar browsing internet bisa sedikit terbantu, saya membuat sebuah intercepting transparent proxy dengan menggunakan squid. langkah pertama tentu saja instalasi squid, sudo aptitude -y install squid. dengan dibantu oleh jay, inilah konfigurasi squid saya yang mencontek petunjuk bagaimana membuat transparent proxy menggunakan squid 3 (yang saya pergunakan adalah squid 2.6, namun ternyata konfigurasi squid 3 bisa dipergunakan juga):

http_port 3128 transparent
icp_port 0

cache_mem 128 MB
dns_nameservers 127.0.0.1
cache_swap_low 90
cache_swap_high 95
cache_dir aufs /var/spool/squid 40000 16 256
logfile_rotate 10

cache_effective_user proxy
cache_effective_group proxy

cache_peer proxy.cbn.net.id parent 8080 0 no-query no-digest

visible_hostname squid.diva-valen.com
cache_mgr sigantengkalem@yahoo.com

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

acl apache rep_header Server ^Apache
access_log /var/log/squid/access.log squid
hosts_file /etc/hosts
ftp_user ftp@diva-valen.com

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

acl all src 0.0.0.0/0.0.0.0
acl daleman src 10.0.0.1/255.255.255.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
acl SSL_ports port 873          # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 631 # cups
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
acl FTP proto FTP

http_access allow manager localhost daleman
http_access deny manager

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

http_access allow daleman
http_access allow localhost
http_access deny all

http_reply_access allow all
icp_access allow all

forwarded_for off

always_direct allow all
coredump_dir /var/spool/squid

langkah terakhir tentu saja untuk mencegat semua akses web agar bisa dibelokkan terlebih dahulu ke squid:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

selesailah sudah, saya akhirnya mendapatkan wireless router yang “baru”, yang mempunyai lebih banyak keunggulan ketimbang wireless router vodafone:

  • otomatis berusaha melakukan koneksi. router vodafone tidak memiliki fasilitas ini.
  • intercepting transparent proxy. sulit melakukan hal ini dengan router vodafone.
  • DHCP server yang jauh lebih stabil. entah kenapa pada router vodafone, jika mendapatkan IP di range 10.0.0.200 ke atas, routing tidak berjalan dengan benar, alias tidak akan bisa terkoneksi ke internet.

satu-satunya fasilitas yang belum sempat saya pelajari adalah menggantikan fungsi print server yang tadinya tersedia pada router vodafone. namun saya rasa hal ini adalah hal yang trivial, tinggal saya sempatkan waktu lagi untuk mempelajari bagaimana caranya.

Read Full Post »

Older Posts »