IPv6 Kernel: Bagaimana mengakses /proc-filesystem

From OnnoWiki
Revision as of 14:08, 28 June 2013 by Onnowpurbo (talk | contribs) (→‎Nilai di /proc-filesystem)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Menggunakan “cat” dan “echo”

Menggunakan “cat” dan “echo” adalah cara yang paling sederhana untuk mengakses filesistem /proc, akan tetapi beberapa pra-syarat dibutuhkan agar itu bisa dilakukan,

  • Filesistem /proc harus di enable di kernel, oleh karenanya waktu compile harus di set agar
CONFIG_PROC_FS=y
  • Filesistem /proc harus di mount sebelumnya, dapat di test menggunakan
# mount | grep "type proc"
proc on /proc type proc (rw,noexec,nosuid,nodev)
  • Kita perlu ijin untuk read, dan kadang-kadang write (biasanya hanya root) ke filesistem /proc

Biasanya, hanya /proc/sys/* yang bisa di write, sementara lainnya biasanya readonly dan hanya bisa di baca informasinya saja.


Membaca Nilai

Nilai dari sebuah parameter dapat di baca menggunakan “cat”:

# cat /proc/sys/net/ipv6/conf/all/forwarding
0

Menset Nilai

Nilai baru dapat di set (jika parameter tersebut writeable) menggunakan “echo”:

# echo "1" >/proc/sys/net/ipv6/conf/all/forwarding


Menggunakan “sysctl”

Menggunakan program “sysctl” untuk mengakses switch kernel adalah cara modern yang digunakan sekarang.Kita dapat menggunakan cara tersebut jika filesystem /proc tidak di mount. Tapi kita hanya bisa mengakses /proc/sys/*!

Program “sysctl” termasuk dalam paket “procps” (di Red Hat Linux).

sysctl-interface harus di enble di kernel, artinya saat compile switch berikut harus di set

CONFIG_SYSCTL=y

Mengambil Nilai

Nilai dari parameter dapat di lihat sekarang:

# sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 0

Menset Nilai

Nilai baru dapat di set (jika parameter tersebut writeable):

# sysctl -w net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1

Catatan: Jangan mengunakan spasi sesudah “=” saat menset nilai. Juga saat memasukan banyak nilai per line, quote menggunakan:

# sysctl -w net.ipv4.ip_local_port_range="32768 61000"
net.ipv4.ip_local_port_range = 32768 61000

Tambahan

Catatan: Ada beberapa versi sysctl yang menampilkan “/” bukan “.”

Untuk lebih detail ada baiknya membaca manual sysctl.

Saran: untuk mencari dengan cepat berbagai setting yang ada. Sebaiknya menggunakan "-a" (tayangkan semua parameter) di bantu dengan "grep" untuk mengambil yang kita inginkan.

Nilai di /proc-filesystem

Ada beberapa format yang dapat kita lihat di /proc-filesystem:

  • BOOLEAN: sederhana “0” (salah) atau “1” (benar)
  • INTEGER: nilai integer, dapat berupa unsigned

pada parameter yang kompleks dengan beberapa nilai: kadang kalimat header di tayangkan juga, jika tidak, kita perlu melihat source kernel untuk memperoleh informasi lebih detail tentang arti masing-masing nilai.