Friday, February 10, 2017

Slackware 13.0 sebagai Access Point

Akses VNC dengan aplikasi screen sharing di mac.
 
Mesin lama yang masih berguna. Kali ini tidak sebagai alat ketik, melainkan sebagai gateway yang tidak berpindah tempat, lagipula baterai sudah tidak bisa terisi lagi.

 

Si linux (slackware 13.0) menjadi access point dengan nama "GEDANG", dengan bantuan software bernama hostapd. Ow iya, jika download hostapd dari slackbuild.org, harus diganti dulu source nya, jadikan versi minimal 2.0 yang sudah ada driver nl80211. Atau sesuaikan saja dengan card yang dipunya. Kalau di mesinku ada card ini :
# lspci | grep -i wire                                          
04:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
Card ini jalan mulus sebagai AP dengan driver nl80211, berikut isi dari hostapd.conf :
interface=wlan0
ssid=GEDANG
hw_mode=g
channel=11
driver=nl80211
wpa=2
wpa_passphrase=いぉゔぇよう
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
Untuk IP sih sebenernya bisa bebas, mau manual seperti mode Ad-Hoc atau otomatis dengan DHCP server :D. Untuk dhcpd.conf bisa di setting seperti berikut :
ddns-update-style none;
default-lease-time -1;
max-lease-time 7200;
not-authoritative;
#
# default gateway
option routers 192.168.3.33;
#
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.3.255;
option domain-name-servers 208.67.222.222;

#
subnet 192.168.3.0 netmask 255.255.255.0
{
 next-server 192.168.3.1;

 range dynamic-bootp 192.168.3.200 192.168.3.248;
 option host-name "darkstar";
}
Jadi, IP yang di assign ke interface wlan0 adalah 192.168.3.33. IP ini akan digunakan sebagai gateway, dengan client dari ip ekor 200-248.


**
Edited hostapd.Slackbuild
PRGNAM=hostapd
VERSION=${VERSION:-2.0}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

...
~ It is not quite clear, but you will understand after trying.

Tuesday, February 7, 2017

Man Fork


Jadi tidak ada kasus khusus dari postingan ini, hanya berusaha membuang kata-kata saja. Seperti yang terlihat pada gambar, di sana ada tulisan manual dari sebuah system call untuk menangani proses yaitu fork().

Fungsi fork() memiliki return value yang bisa digunakan sebagai penanda apakah proses CHILD atau PARRENT. 

Berikut contoh program untuk menggambarkan bagaimana fork() menghasilkan 2 buah output dari "satu kali" pemanggilan (yang terlihat pada source) :

 
Source code in perl

 
 Hasil eksekusi

Dari source dan hasil eksekusi seperti pada gambar, maka memang benar proses membelah menjadi 2 seperti yang tertulis pada manual page. Dan ingat fungsi fork() akan memiliki return value 0 ketika dieksekusi oleh CHILD.

Kemudian mari kita modifikasi program menjadi seperti berikut :

Source code setelah modifikasi

 Hasil eksekusi ke 2

Hal ini mengingatkan tentang multi thread, tapi ini adalah dua hal yang berbeda. Selama tidak ada yang dirugikan, tidak mengapa seperti apapun hasil kreasi. 

~~~~ Tapi jika aku membuat rugi, maka haruslah kubayar kerugian itu. Atau haruskah aku tunjukkan kesedihan yang kualami untuk menenangkanmu.