Memeriksa nilai variabel sysctl semudah
sysctl <variable name>
dan, ngomong-ngomong, menyetel variabel sysctl semudah
sudo sysctl -w <variable name>=<value>
tetapi perubahan yang dilakukan dengan cara ini mungkin hanya akan bertahan sampai reboot berikutnya.
Mengenai lokasi konfigurasi mana, /etc/sysctl.conf
atau /etc/sysctl.d/
, didahulukan, inilah /etc/sysctl.d/README
file mengatakan:
Pengguna akhir dapat menggunakan 60-*.conf ke atas, atau menggunakan /etc/sysctl.conf langsung, yang menimpa apa pun di direktori ini .
Setelah mengedit konfigurasi di salah satu dari dua lokasi tersebut, perubahan dapat diterapkan dengan
sudo sysctl -p
Hal semacam ini biasanya ada di /proc
dan/atau /sys
antarmuka kernel (pertama-tama, perlu diingat bahwa tidak ada file disk biasa dalam direktori tersebut, semuanya adalah jalur langsung ke kernel).
Jadi, misalnya:
»for x in /proc/sys/net/ipv4/conf/*/rp_filter; do echo -ne "$x "`cat $x`"\n"; done
/proc/sys/net/ipv4/conf/all/rp_filter 0
/proc/sys/net/ipv4/conf/default/rp_filter 1
/proc/sys/net/ipv4/conf/em1/rp_filter 1
/proc/sys/net/ipv4/conf/lo/rp_filter 0
/proc/sys/net/ipv4/conf/wlan0/rp_filter 1
Sepertinya saya sudah menyetel rp_filter untuk em1, wlan0, dan "default". Anda dapat menyetel atau menghapusnya hanya dengan menulis ke gagang file:
»cd /proc/sys/net/ipv4/conf/lo
»echo 1 > rp_filter
»cat rp_filter
1
»echo 0 > rp_filter
»cat rp_filter
0
Seperti disebutkan, ini adalah komunikasi langsung dengan kernel, sehingga segera berlaku. Ini bukan file konfigurasi. Jika Anda mencoba dan melakukan sesuatu yang salah:
»echo whatever > rp_filter
bash: echo: write error: Invalid argument
Yang tidak berarti Anda tidak dapat mengacaukan segalanya dengan cara ini, tentu saja. Dan pastikan untuk membaca komentar di bawah.