View Full Version : eseguire iptables all'avvio.
sono riuscito a configurare iptables come dico io, il problema è fargli mantenere la configurazione al riavvio........
ho creato un file vuoto, /etc/sysconfig/iptables
poi ho fatto il dump, con
iptables-save > /etc/sysconfig/iptables
per ripristinare le impostazioni di iptables basta dare
iptables-restore /etc/sysconfig/iptables
il problema è riuscire a farlo eseguire all'avvio..........
ho creato quindi uno script, /etc/init.d/iptables
che contiene
#!/bin/bash
iptables-restore /etc/sysconfig/iptables
ma come faccio a farlo partire all'avvio ?
su debian mi sarebbe bastato dare un
update-rc.d /etc/init.d/iptables defaults
ma in suse non so proprio come fare, visto che il comando update-rc.d proprio non c'è......
ho provato ad andare nella directory /etc/rc.d/rc3/
e dare un
ln -s /etc/init.d/iptables S20iptables
ma niente, al successivo riavvio le impostazioni tornano quelle di default........
suggerimenti?
chkconfig nome_servizio on
io non devo far partire nessun servizio.......
io devo dirgli di eseguire in automatico
iptables-restore /etc/sysconfig/iptables
dove etc/sysconfig/iptables è un file di configurazione.........
ho provato a dare
chkconfig iptables-restore /etc/sysconfig/iptables on
ma mi restituisce errore...........
hai ragione, scusa, creati uno script eseguibile in /etc/init.d che chiama iptables-restore per caricare i salvataggi precedenti.
in questo script devono essere presenti 2 righe (commentate) come queste:
# chkconfig: 2345 50 50
# description: iptables script
e poi per farlo partire all'avvio:
chkconfig nome_script on
guarda la pagina di man per tutte le opzioni.
hai ragione, scusa, creati uno script eseguibile in /etc/init.d che chiama iptables-restore per caricare i salvataggi precedenti.
in questo script devono essere presenti 2 righe (commentate) come queste:
# chkconfig: 2345 50 50
# description: iptables script
e poi per farlo partire all'avvio:
chkconfig nome_script on
guarda la pagina di man per tutte le opzioni.
e come si fa uno script eseguibile ?
se nello script metto dentro solo queste due righe:
#!/bin/bash
iptables-restore /etc/sysconfig/iptables
nn va bene ?
perfetto!
ora funziona!
grazie mille kingv!!!!!
ma spiegami una cosa:
cosa significa quel
2345 50 50
all'inizio dello script ?
perfetto!
2345 50 50
all'inizio dello script ?
chkconfig per funzionare ha bisogno che i file siano "istrumentati", ovvero che contengano dei tag sottoforma di commenti che non modificano l'esecuzione ma che gli permettano di leggere delle informazioni necessarie.
in particolare nella riga che ti ho scritto i tre numeri indicano di far partire di default il servizio nei runlevel 2,3,4 e 5 e le priorità di stop/start (ovvero quel numero che viene messo dopo la S e la K nei link simbolici in /etc/rc.X/ )
:)
ma quindi il servizio parte a ogni runlevel ?
non basta farlo partire a runlevel 3 ?
ma quindi il servizio parte a ogni runlevel ?
non basta farlo partire a runlevel 3 ?
io lo lascerei partire in ogni runlevel "utente", ovvero quelli tra il 2 e il 5 e lo farei stoppare in 0, 1 e 6.
il rischio è che il giorno che vuoi avere un login grafico (ovvero setti il 5 come runlevel di default) ti dimentichi di far partire servizi che invece vorresti ativi all'avvio.
puoi interrrogare le impostazioni per un servizio con:
chkconfig --list nome_servizio
io lo lascerei partire in ogni runlevel "utente", ovvero quelli tra il 2 e il 5 e lo farei stoppare in 0, 1 e 6.
il rischio è che il giorno che vuoi avere un login grafico (ovvero setti il 5 come runlevel di default) ti dimentichi di far partire servizi che invece vorresti ativi all'avvio.
puoi interrrogare le impostazioni per un servizio con:
chkconfig --list nome_servizio
ma ipotesi che io do come comando, all'inizio dello script
#chkconfi 3 50 50
invece che 2345
e imposto il sistema per avere come default il runlevel 5, cioè quello grafico, lo script non viene eseguito lo stesso in quanto essendo a runlevel 3 viene eseguito PRIMA di avere il login grafico?
occhio che se il runlevel di default è il 5, al'avvio non vengono eseguiti gli script di init dei runlevel precedenti, ma solo di quelli del 5.
il fatto che tu indichi nel commento dei runlevel di default vuol dire solo che quando esegui:
chkconfig --add nome_servizio
verranno creati i link secondo quello che hai indicato tra i commenti, ma nulla ti vieta poi di modificarli con
chkconfig --level n nome_servizio on|off
a tuo piacimento
occhio che se il runlevel di default è il 5, al'avvio non vengono eseguiti gli script di init dei runlevel precedenti, ma solo di quelli del 5.
il fatto che tu indichi nel commento dei runlevel di default vuol dire solo che quando esegui:
chkconfig --add nome_servizio
verranno creati i link secondo quello che hai indicato tra i commenti, ma nulla ti vieta poi di modificarli con
chkconfig --level n nome_servizio on|off
a tuo piacimento
sei stato chiarissimo :)
grazie mille!!! :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.