Guarda... sinceramente non l'avevo mai fatto, ma mi hai messo curiosità e visto che ho il piede ingessato e non posso fare niente di meglio... (b2b)
Ti posto il mio adattato con le tue regole (occhio che ho testato con altre regole, lo script funziona ma le tue regole non so)
Codice: Seleziona tutto
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: pandawall
# Required-Start: networking
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: start custom firewall
### END INIT INFO
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
. /lib/lsb/init-functions
case "$1" in
start)
#blocca tutti i pacchetti in entrata
iptables -P INPUT DROP
#Blocca tutti i pacchetti di passaggio FORWARD
iptables -P FORWARD DROP
#Consente traffico all'interno del pc
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#Autorizza tutto il traffico da noi richiesto
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
exit 0
;;
stop)
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
exit 0
;;
status)
iptables-save
exit 0
;;
*)
echo "Usage: /etc/init.d/pandawall {start|stop|status}"
exit 1
;;
esac
exit 0
ho modificato
ufw rinominato in pandawall e tolto alcune righe che non servivano. Se vedi in testa su
Required-Start ho specificato 'networking' in modo che possa partire solo dopo aver tirato su la rete e non prima. Per il runlevel mi sono fidato di ufw e l'ho lasciato uguale. Occhio che l'indentazione è 4 spazi e non un tab.
Nel blocco start ci sono le tue regole, nel blocco status un iptables-save per vedere le regole attuali (anche se è inutile) e nel blocco stop vengono flushate tutte le regole.
NB: nel blocco stop ho resettato le POLICY modificate nel blocco start in ACCEPT perchè le policy sono indipendenti, una volta settate restano così... quindi per riportare effettivamente il firewall all'accetta-tutto (se le hai modificate) devi risettarle necessariamente a mano, non basta un iptables -F.
per attivarlo al boot
e per disattivarlo
Sinceramente però non mi fido troppo perchè non conosco a fondo come funziona l'init di ubuntu anche se dubito che possa fare mai danni al sistema. Mi sono tolto lo sfizio ma credo che continuerò ad utilizzare il mio /etc/rc.firewall... anche perchè tanto vale imparare come funziona ufw che sembra avere pure una sintassi semplice!
Smanettaci su un po'

L'esperto è colui che evitando tutti i piccoli errori punta dritto alla catastrofe (Arthur Bloch)