GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu – Rimossa la cartella dei moduli Lib dopo ogni riavvio?

uname -r:4.13.0-16-generico (server Ubuntu 17.10)

Ho un problema che iptables non funziona dopo un riavvio:

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.

Ho provato a reinstallare kernel e 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

quando lo reinstallo (senza riavvio) iptables funziona dopo il riavvio del servizio.

quando riavvio la macchina ottengo di nuovo lo stesso errore.

Ho notato che ad ogni riavvio la seguente cartella scompare:

/lib/modules/4.13.0-16-generic/kernel/net/ipv4/netfilter

solo 2 file rimasti nella cartella ipv4 sono:
gre.ko udp_tunnel.ko

la copia dei file mancanti in questa posizione non funziona, verrà rimossa al prossimo riavvio.

Qualche idea su come risolvere questo problema?

Risposta accettata:

Ottengo lo stesso su Ubuntu 16.04. Non ho una soluzione, ma ho qualche idea del perché questo sta accadendo. Durante il processo di lettura, il sistema si avvia inizialmente su un file system basato su RAM:initramfs. Più avanti nel processo di avvio, il disco rigido prende il sopravvento, ma la directory dei moduli da initramfs viene montata nella directory dei moduli del disco rigido. Nota che l'output di mount include la riga:

copymods on /lib/modules type tmpfs (rw,relatime)

Ok, quindi qualsiasi modifica a /lib/modules, ad es. eseguendo

sudo apt-get install --reinstall linux-image-$(uname -r)

andrà perso al riavvio del sistema. Quindi come dovrebbe funzionare? Bene, quando apt install il comando aggiunge nuovi moduli, dovrebbe inserire una voce corrispondente in /usr/share/initramfs-tools/hooks . Quindi lo script di installazione che apt install invoca esegue update-initramfs , che genera l'archivio CPIO /boot/initrd.img-(uname -r) che è la tua immagine initramfs, che ora dovrebbe contenere i moduli necessari per il funzionamento di iptables al riavvio del sistema.

Il bug è che le voci rilevanti non vengono mai effettivamente create in /usr/share/initramfs-tools/hooks , e quindi le voci rilevanti non vengono effettuate in initramfs e quindi non vengono conservate al riavvio del sistema.

A questo punto sono bloccato.


Ubuntu
  1. Configurazione del firewall utilizzando Iptables su Ubuntu 14.04

  2. Ubuntu 18.10 (Virtualbox ospite) – Schermo nero dopo l'installazione delle aggiunte degli ospiti e il riavvio?

  3. Ufw rimane disabilitato dopo un riavvio utilizzando Ubuntu Server 16.04?

  4. Ubuntu in sospeso Spegnimento/riavvio?

  5. Cosa causa il caricamento di iptables ogni volta dopo un riavvio anche quando è completamente spento

Cose da fare dopo l'installazione di Ubuntu 13.04

Cose da fare dopo aver installato Ubuntu 13.10

Quale distribuzione Linux da usare dopo Ubuntu?

Come riavviare Ubuntu 20.04 LTS

Come installare FreeFileSync su Ubuntu 18.04, 19.04, 16.04

Come cambiare il colore della cartella in Ubuntu 22.04