bagaimana cara menonaktifkan modul kernel nf_conntrack di CentOS 5.3 tanpa mengkompilasi ulang kernel

10

Saya menjalankan CentOS 5.3 dan ingin menonaktifkan modul nf_conntrack untuk meningkatkan kinerja jaringan untuk haproxy. Saya menjalankan iptables dengan beberapa aturan sederhana. Saya tidak benar-benar membutuhkan pelacakan koneksi.

Saya menjalankan server cloud Rackspace, jadi saya tidak dapat menjalankan kernel khusus. Saya sudah mencoba menjalankan modprobe, tetapi itu tidak berhasil.

[mmarano@w1 w1]$ sudo modprobe -n -r nf_conntrack
FATAL: Module nf_conntrack is in use.

[mmarano@w1 w1]$ uname -a
Linux w1.somewhere.com 2.6.24-23-xen #1 SMP Mon Jan 26 03:09:12 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
[mmarano@w1 w1]$ cat /etc/redhat-release 
CentOS release 5.3 (Final)

Saya ingin terus menjalankan iptables setelah merobek ini, jadi saya tidak bisa membuang semua netfilters. Adakah yang punya pikiran?

pengguna22277
sumber

Jawaban:

16
  1. hapus referensi apa pun ke modul state di iptables. Jadi, tidak ada aturan yang suka

    -A INPUT -m state --state TERKAIT, ESTABLISHED -j MENERIMA

    modul state memerlukan modul nf_conntrack (ip_conntrack)

  2. hapus baris berikut (jika ada) di / etc / sysconfig / iptables-config

    IPTABLES_MODULES = "ip_conntrack_netbios_ns"

    Modul itu membutuhkan ip_conntrack yang sedang kita coba selokan.

  3. muat ulang iptables tanpa aturan negara Anda.

    iptables sudo -F

    # tambahkan aturan Anda yang sebenarnya

  4. jatuhkan modul. Saya harus menggunakan:

    sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state

    sudo modprobe -r nf_conntrack

  5. konfirmasi Anda tidak memiliki referensi ke / proc / net / nf_conntrack

pengguna22277
sumber
1
BESAR terima kasih kepada Willy Tarreau, pencipta haproxy, atas bantuan yang luar biasa di milis haproxy!
user22277
Adakah yang tahu bagaimana Anda membalikkan langkah 4 jika perlu?
UpTheCreek
Ketika saya melakukan "modprobe -rf xt_state" dan "modprobe -rf nf_conntrack_ipv6" tertulis "FATAL: Module xt_state sedang digunakan." (Pada centos), apa yang bisa saya lakukan?
diyism
Di ubuntu, saya dapat menjalankan "iptables -F" dan "modprobe -rf xt_state nf_conntrack_ipv4" tanpa kesalahan.
diyism
5
  • Bagaimana dengan menambahkan modul /etc/modprobe.d/blacklist.conf?

  • Sudahkah Anda mencoba:

    rmmod -f modulename
    

    Meskipun:

           -f - Angkatan
              Opsi ini bisa sangat berbahaya: tidak berpengaruh kecuali
              CONFIG_MODULE_FORCE_UNLOAD disetel ketika kernel dikompilasi.
              Dengan opsi ini, Anda dapat menghapus modul yang sedang digunakan,
              atau yang tidak dirancang untuk dihapus, atau telah ditandai sebagai
              tidak aman (lihat lsmod (8)).
    
Dijeda sampai pemberitahuan lebih lanjut.
sumber
4

Jika Anda menjalankan Haproxy, Anda memerlukan dua jenis aturan di iptables untuk menonaktifkan conntrack di port 80: yang untuk koneksi dari klien ke penyeimbang Anda dan yang lain dari penyeimbang Anda ke backend.

Ini adalah contoh yang valid:

iptables -t raw -I PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -I PREROUTING -p tcp  --sport 80 -j NOTRACK
iptables -t raw -I OUTPUT -p tcp --dport 80 -j NOTRACK
iptables -t raw -I OUTPUT -p tcp --sport 80 -j NOTRACK
Ricardo Fraile
sumber
0

Ketika saya melakukan "modprobe -rf xt_state" dan "modprobe -rf nf_conntrack_ipv6" dikatakan "FATAL: Module xt_state sedang digunakan." (Pada centos).

"dimodifikasi" mungkin berguna, itu dapat mengurangi jumlah penggunaan modul apa pun: http://www2.informatik.uni-freiburg.de/~danlee/fun/modused/

Kuncinya adalah: layanan ip6tables berhenti

dan tambahkan nf_conntrack, xt_state, iptable_nat, nf_nat, nf_conntrack_ipv4, nf_conntrack_ipv6 ke /etc/modprobe.d/blacklist.conf

diyism
sumber