web-dev-qa-db-fra.com

14.04 "/etc/init.d/ufw" manquant? mon pare-feu ne démarre jamais automatiquement

J'ai besoin de savoir comment réparer le fichier "/etc/init.d/ufw" manquant, est-ce un paquet ou une commande?

J'ai utilisé le gufw pour l'activer, mais au redémarrage, mon pare-feu était toujours désactivé ...

J'ai créé un lien symbolique /etc/init.d/ufw -> /lib/init/upstart-job mais je ne pouvais pas le faire fonctionner comme start ufw (ni après le redémarrage).

J'ai trouvé ce fichier /lib/ufw/ufw-init, il ressemble à un fichier init.d! puis-je copier ou créer un lien symbolique là-bas?

Questions supplémentaires (facultatives):
Comment trouver quel paquet a ce fichier? apt-cache search n'a pas fonctionné ..
Pouvons-nous créer un tel script en toute sécurité?
Avez-vous une idée de la raison pour laquelle il manque?

Obs .:
Mon /etc/ufw/ufw.conf a ENABLED=yes (mais semble inutile).
iptables -L devient différent après I ufw enable, de sorte que les règles ufw ne sont pas appliquées au démarrage par un autre moyen.

PS: ce script n'a pas fonctionné non plus

Sudo ln -s /lib/ufw/ufw-init /usr/sbin/ufw-init
Sudo ln -s /lib/init/upstart-job /etc/init.d/ufw-init
#Sudo update-rc.d -f ufw-init remove
Sudo update-rc.d ufw-init defaults 99
Sudo -k
5
Aquarius Power

Je n'ai pas non plus /etc/init.d/ufw et ufw ne démarre pas automatiquement au redémarrage. Mais j'ai fait ça

Sudo apt-get install iptables-persistent

Au redémarrage, j'ai vérifié avec

Sudo ufw status

Il était actif, il était toujours inactif lors des redémarrages précédents et j'avais l'habitude de le faire

Sudo ufw enable

Je n'ai pas installé gufw, je suis un utilisateur débutant sur le bureau. Je ne sais donc pas pourquoi cela a fonctionné et si cela fonctionnera pour vous, mais cela semblait plus simple, peut-être que cela aidera quelqu'un.

3
user3640329

Pour les efforts qui ont été déployés pour trouver la solution, la réponse est étonnamment simple.

Dans /etc/init/ufw.conf:

1) Commentez les lignes 9 à 11
2) Insérer après la ligne 11: start on startup

Résout le problème dans son intégralité, y compris la connexion à /var/log/ufw.log.

Note
Si vous avez iptables-persistent installé, vous devez le désactiver. Déplacez iptables-persistent hors de /etc/init.d et renommez tous les liens symboliques dans rc0.d-rcS.d en mettant la première lettre (S ou K) en minuscule. (Ou déplacez-les.)

2
gone

[ Check this premier (je le validerai quand j'en aurai le temps), configurer correctement ufw peut être la meilleure chose à faire, cette réponse ici ne serait alors qu'un repli. ]

Basé sur ceci réponse et enregistrer le conseil de cette réponse , j'ai ajouté ceci:

exec 2> /tmp/rc.local.log      # send stderr from rc.local to a log file                                                                
exec 1>&2                      # send stdout to the same log file                                                                       
#set -x                         # tell sh to display commands before execution                                                          

# this wont exit until successful!
while ! ufw enable;do 
  if ufw status |grep "Status: active";then
    break
  fi
  echo "Failed to apply ufw rules at `date`" >>/dev/stderr;
  sleep 10;
done

à /etc/rc.local avant le exit 0 et maintenant il charge correctement les règles ufw au démarrage!

Mais il s’agit d’une solution de contournement utilisateur et non d’une solution au système ...

J'ai également choisi de "changer" les règles au lieu de les appliquer par défaut, comme le suggère ceci réponse , car je ne suis pas complètement sûr que mes règles personnalisées sont sans problème.

IMPORTANT: le code "if" n'a pas fonctionné une fois, j'ai donc créé le code "while" qui n'a jusqu'à présent posé aucun problème.

2
Aquarius Power

Peut-être que votre chemin est mauvais. Pas /etc/init.d/wfw que /etc/init/ufw.conf

J'ai des fichiers avec ufw dans le nom des lieux suivants

xxx@xxx ~/xxx $ Sudo find / -name ufw*
[Sudo] password for xxx: 
/lib/ufw
/lib/ufw/ufw-init-functions
/lib/ufw/ufw-init
/etc/bash_completion.d/ufw
/etc/default/ufw
/etc/init/ufw.conf
/etc/logrotate.d/ufw
/etc/ufw
/etc/ufw/ufw.conf
/usr/lib/python3/dist-packages/ufw-0.33_0ubuntu4.Egg-info
/usr/lib/python3/dist-packages/ufw
/usr/share/doc/ufw
/usr/share/man/man8/ufw-framework.8.gz
/usr/share/man/man8/ufw.8.gz
/usr/share/locale-langpack/en_CA/LC_MESSAGES/ufw.mo
/usr/share/locale-langpack/en_GB/LC_MESSAGES/ufw.mo
/usr/share/locale-langpack/en_AU/LC_MESSAGES/ufw.mo
/usr/share/lintian/overrides/ufw
/usr/share/ufw
/usr/share/ufw/ufw.conf
/usr/share/icons/Mint-X/apps/22/ufw-frontends.png
/usr/share/icons/Mint-X/apps/48/ufw-frontends.png
/usr/share/icons/Mint-X/apps/32/ufw-frontends.png
/usr/share/icons/Mint-X/apps/16/ufw-frontends.png
/usr/share/icons/Mint-X/apps/24/ufw-frontends.png
/usr/share/icons/Mint-X/apps/scalable/ufw-frontends.svg
/usr/sbin/ufw
/var/lib/dpkg/info/ufw.md5sums
/var/lib/dpkg/info/ufw.postinst
/var/lib/dpkg/info/ufw.list
/var/lib/dpkg/info/ufw.prerm
/var/lib/dpkg/info/ufw.conffiles
/var/lib/dpkg/info/ufw.templates
/var/lib/dpkg/info/ufw.config
/var/lib/dpkg/info/ufw.preinst
/var/lib/dpkg/info/ufw.postrm
/var/lib/dpkg/info/ufw.triggers
/var/log/ufw.log.4.gz
/var/log/ufw.log.2.gz
/var/log/ufw.log.1
/var/log/ufw.log
/var/log/ufw.log.3.gz

Sortie du fichier init

cat /etc/init/ufw.conf
# ufw - Uncomplicated Firewall
#
# The Uncomplicated Firewall is a front-end for iptables, to make managing a
# Netfilter firewall easier.

description "Uncomplicated firewall"

# Make sure we start before an interface receives traffic
start on (starting network-interface
          or starting network-manager
          or starting networking)

stop on runlevel [!023456]

console output

pre-start exec /lib/ufw/ufw-init start quiet
post-stop exec /lib/ufw/ufw-init stop

EDIT 1

xxx@xxx ~ $ Sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
69                         ALLOW       Anywhere
22                         ALLOW       Anywhere (v6)
69                         ALLOW       Anywhere (v6)
1
2707974

UFW est juste un wrapper pour iptables et il ne gère que la table de filtrage. Vous pouvez donc utiliser à la fois UFW et iptables-persistant, mais supprimer les règles de filtrage de /etc/iptables/rules.v4, et laisser les autres si vous en avez (table nat, raw, etc.)

0
Boban P.