uname -r:4.13.0-16-generic (server ubuntu 17.10)
Saya memiliki masalah bahwa iptables tidak berfungsi setelah reboot:
iptables-apply /etc/network/iptables
[ ok ] Stopping fail2ban (via systemctl): fail2ban.service.
Applying new iptables rules from '/etc/network/iptables'... modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.13.0-16-generic
iptables-restore v1.6.1: iptables-restore: unable to initialize table 'filter'
Error occurred at line: 3
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
failed.
Error: unknown error applying new iptables rules: /etc/network/iptables
Reverting to old iptables rules... done.
Saya sudah mencoba menginstal ulang kernel dan iptables:
apt install --reinstall linux-generic linux-image-4.13.0-16-generic linux-image-extra-4.13.0-16-generic linux-headers-4.13.0-16-generic iptables
ketika saya menginstal ulang (tanpa reboot) iptables berfungsi setelah layanan dimulai ulang.
ketika saya me-reboot mesin saya mendapatkan kesalahan yang sama lagi.
Saya perhatikan bahwa dengan setiap reboot folder berikut hilang:
/lib/modules/4.13.0-16-generic/kernel/net/ipv4/netfilter
hanya tersisa 2 file di folder ipv4 yaitu:
gre.ko udp_tunnel.ko
menyalin file yang hilang ke lokasi ini tidak berhasil, akan dihapus dengan reboot berikutnya.
Adakah yang tahu cara memperbaikinya?
Jawaban yang Diterima:
Saya mendapatkan hal yang sama di Ubuntu 16.04. Saya tidak memiliki perbaikan, tetapi saya memiliki beberapa wawasan tentang mengapa ini terjadi. Selama proses pembukuan, sistem awalnya melakukan booting pada sistem file berbasis RAM:initramfs. Kemudian dalam proses boot, hard disk mengambil alih, tetapi direktori modul dari initramfs dipasang pada direktori modul hard disk. Perhatikan bahwa output dari mount
termasuk baris:
copymods on /lib/modules type tmpfs (rw,relatime)
Oke, jadi ada perubahan pada /lib/modules, mis. dengan mengeksekusi
sudo apt-get install --reinstall linux-image-$(uname -r)
akan hilang ketika sistem di-boot ulang. Jadi bagaimana ini seharusnya bekerja? Nah, ketika apt install
perintah menambahkan modul baru, itu harus menempatkan entri yang sesuai di /usr/share/initramfs-tools/hooks
. Kemudian script installer yang apt install
memanggil menjalankan update-initramfs
, yang menghasilkan arsip CPIO /boot/initrd.img-(uname -r)
yang merupakan gambar initramfs Anda, yang sekarang seharusnya berisi modul yang diperlukan agar iptables berfungsi saat sistem di-boot ulang.
Bugnya adalah bahwa entri yang relevan tidak pernah benar-benar dibuat di /usr/share/initramfs-tools/hooks
, dan karenanya entri yang relevan tidak dibuat di initramfs, dan karenanya tidak disimpan saat sistem di-boot ulang.
Pada titik ini saya terjebak.