Di mesin Ubuntu saya, dalam /etc/sysctl.conf
file, saya punya opsi penyaringan jalur balik yang dikomentari secara default seperti ini:
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
tetapi di /etc/sysctl.d/10-network-security.conf
dalamnya (sekali lagi, secara default) tidak berkomentar:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Jadi apakah penyaringan jalur balik diaktifkan atau tidak? Manakah dari lokasi konfigurasi yang mendapat prioritas? Bagaimana cara memeriksa nilai saat ini dan opsi kernel lainnya?
sumber
sysctl -e
untuk edit dansysctl -f
untuk menjalankan konfigurasi?Hal-hal semacam ini biasanya ada di dalam
/proc
dan / atau/sys
antarmuka kernel (pertama-tama, ingatlah bahwa tidak ada dalam direktori tersebut yang merupakan file disk biasa, semuanya adalah jalur langsung ke kernel).Jadi, mis:
Sepertinya saya telah menetapkan rp_filter untuk em1, wlan0, dan "default". Anda dapat mengatur atau menghapusnya dengan hanya menulis ke pegangan file:
Seperti disebutkan, ini adalah komunikasi langsung dengan kernel, sehingga segera berlaku. Ini bukan file konfigurasi. Jika Anda mencoba dan melakukan sesuatu yang salah:
Tentu saja ini bukan berarti Anda tidak dapat mengacaukan hal-hal seperti ini. Dan pastikan untuk membaca komentar di bawah ini.
sumber
sysctl -a
...sysctl
(lihatman 2 sysctl
), namun, ini tidak porting ke sebagian besar bahasa lain (itu dalam beberapa), dan dalam kasus ini pilihan terbaik adalah membaca atau menulis ke proc. Mungkin bash'secho
mungkin gagal, karena saya dapat mengatakan bahwa fungsi I / O aliran tingkat tinggi tersedia dalam C dan bahasa lain dapat. Namun, membaca / menulis tingkat rendah tidak akan terjadi. Bagaimanapun, mengetahui tentang antarmuka proc adalah penting, itulah sebabnya saya membawanya ...Untuk menyelesaikan jawaban yang diterima , sementara memang benar bahwa
/etc/sysctl.conf
pengaturan lebih diutamakan daripada yang masuk/etc/sysctl.d/
, contoh yang diekspos dalam pertanyaan asli menunjukkan dua variabel yang dikomentari dalam/etc/sysctl.conf
:dan variabel yang sama tidak dikomentari dalam
/etc/sysctl.d/10-network-security.conf
:Ini mungkin menyesatkan karena komentar bukanlah pengaturan, tetapi hanya komentar tentang apa yang bisa menjadi pengaturan.
Dalam situasi ini, variabel sebenarnya keduanya diatur ke 1, terlepas dari kenyataan bahwa dalam file konfigurasi yang lebih kuat mereka dikomentari.
Jika di dalam
/etc/sysctl.conf
kita memiliki:maka variabel akhirnya akan diatur ke 0.
sumber