web-dev-qa-db-fra.com

Iptables recharger / redémarrer sur Ubuntu 18.04

J'ai un problème avec iptables sur Ubuntu 18.04 avant que je l'utilise avec Centos 7 et Red Hat et je peux simplement redémarrer avec

systemctl restart iptables

mais sur Ubuntu cela ne fonctionne pas. Je n'ai pas trouvé iptable sous init.d non plus.

Quelqu'un peut-il m'aider, comment puis-je le redémarrer ou le recharger sur Ubuntu 18.04?

8
CsharpJoe

Si vous souhaitez que cela fonctionne de la même manière que RedHat/Fedora, dans Ubuntu 18.04, vous voulez probablement:

Sudo apt install iptables-persistent netfilter-persistent

Puis éditez les règles dans /etc/iptables/rules.v[46]

Autres commandes qui pourraient être utiles:

netfilter-persistent save
netfilter-persistent start

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

Les deux packages sont similaires mais offrent des fonctionnalités légèrement différentes. Si vous n'installez que iptables-persistent, vous n'obtiendrez pas le fichier de définition de service pour un traitement correct avec systemd, par exemple /lib/systemd/system/netfilter-persistent.service

Si vous n'installez que netfilter-persistent, vous constaterez que les règles ne sont pas correctement appliquées au démarrage, comme indiqué dans le fichier README.

netfilter-persistent and its plugins
------------------------------------

netfilter-persistent does no work on its own. You need the accompanying
plugins (for example, iptables-persistent) to load and save filter rules.

However, commands are run from netfilter-persistent. For example, to save
all filter rules:

   netfilter-persistent save

or to load them:

   netfilter-persistent start

For more details, see `man netfilter-persistent`.

The system service will try to load rules at startup if enabled, but by
default it will not flush rules at shutdown. This behaviour can be changed
by editing /etc/default/netfilter-persistent.

 -- Jonathan Wiltshire <[email protected]>  Sat, 02 Jan 2016 00:00:00 +0000
18
ThankYee

Dans les distributions plus récentes, vous avez normalement une interface pour configurer et gérer le pare-feu. Les plus populaires de nos jours sont ufwet firewalldet peut-être shorewallname__. Ces interfaces s’occupent également d’ajouter les règles dans iptableset le script iptablespeut être ignoré ou mieux, devrait être omis, car les interfaces ne prendront pas directement en charge les modifications que vous avez effectuées avec la commande iptablesname__.

Pour Ubuntu 18.04, il semble que firewalldsoit devenu la valeur par défaut où ufwest installé mais inactif.

root@localhost:~# firewall-cmd --state 
running
root@localhost:~# ufw status
Status: inactive

Ainsi, plutôt que de créer vos propres règles de conformité iptablesname__, vous devez utiliser ces interfaces pour créer votre configuration de pare-feu.

Je ne connais pas ufwmais vous trouverez certainement des informations ici avec askubuntu ou ailleurs sur Internet.
firewalldest fourni avec une interface graphique (firewall-config) et un outil de ligne de commande firewall-cmd.
Avec firewalldvous avez la possibilité d’ajouter des règles sans l’appliquer maintenant (permanent) et de l’appliquer uniquement après le rechargement du pare-feu. Ou vous pouvez les ajouter à votre configuration runtime, les tester et les ajouter ensuite à votre configuration permanente.
Pour recharger, par exemple une configuration permanente nouvellement ajoutée à vos règles en cours d'exécution, vous devez entrer la commande comme suit ou effectuer les clics correspondants dans l'interface graphique.

firewall-cmd --reload

Cela peut paraître un peu plus compliqué au premier abord, puisque firewalldsuit zones et un concept chains. Mais il s'intègre bien avec NetworkManager, fournit une interface graphique ...
Un bon point de départ pour se familiariser avec cela est ici .

2
Thomas

Vous pouvez vérifier le contenu du paquet avec:

dpkg -L iptables-persistent

Et ensuite, vous constaterez que la commande suivante est correcte:

/etc/init.d/netfilter-persistent restart
1
bluszcz