Iptables controlla la sintassi dello script


11

Esiste un modo per testare / verificare la sintassi di uno script di regole iptables senza modificare la configurazione effettiva del firewall (penso che aggiungere ed eliminare ogni regola non sia il modo migliore ...).

Conosco l'opzione -C ma non controlla le opzioni come catene ed è un po 'complicato con i suoi codici di ritorno, perché 1 non significa sempre che la sintassi sia corretta.

Grazie!

Risposte:


9

Come diegows ha suggerito, puoi usare iptables-restore, tuttavia puoi usarlo con il flag --test per testare la configurazione, piuttosto che testarlo come parte di una vera installazione.

iptables-restore --test [YOUR RULES AS A FILE]

Questo non sembra funzionare sempre bene. Attualmente sto lavorando a un file iptables che non riesce durante l'installazione effettiva (iptables-restore <iptables-new) ma con l'opzione --test, non vengono generati errori. Lo posterò ma è lungo. m15440 @ NDC01P04CU2PNGA sysconfig # iptables-restore --test <iptables-nuovi m15440 @ NDC01P04CU2PNGA sysconfig # iptables-restore <iptables-nuovi iptables-restore: linea 217 non è riuscita m15440 @ NDC01P04CU2PNGA sysconfig #
PatrickTaylor

1

Usa iptables-save / iptables-restore. Secondo me, usare lo script è una cattiva idea. Scrivi le tue prime regole dalla riga di comando, quindi salvale con "iptables-save> file" e continua a modificare quel file. "iptables-restore <file" viene utilizzato per applicare le regole. Tale comando verificherà la sintassi e non applicherà le regole in caso di errore.


1
Inoltre, quando si gioca con iptables su una macchina remota, ho anche impostato un cron job da eseguire ogni 5 o 10 minuti che ripristina iptables allo stato predefinito "consenti tutto", quindi se mi blocco da solo, torno indietro entro 5 a 10 minuti. Basta ricordare di bloccarlo di nuovo e disabilitare il cron job;)
jwbensley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.