Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora 37 Beta est disponible

#1 19/03/2021 20:50:35

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 1 887

[Résolu] remplacer iptables par firewalld

Bonjour. Je ne vois pas comment faire un postrouting avec firewalld. Désolé je suis débutant. Je pose la question ici car les raspi utilisent iptables, et ne connaissent pas firewalld. Je crois qu'il n'y a que fedora pour bien connaître ce système.

Configuration du routeur raspi maison:
Internet vient sur eth0
eth1 et wlan0 représente le LAN

J'ai trouvé un très bel article:  https://www.linuxtricks.fr/wiki/firewal … sous-linux
J'ai presque trouvé à la fin mais ça ne doit pas être tout à fait ça.

En commande à passer en iptables j'ai

sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 192.168.50.0/24 ! -d 192.168.50.0/24 -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Comme on le voit ici:  https://unix.stackexchange.com/question … -firewalld

#!/bin/bash
# Assuming that your Linux box has two NICs; eth0 attached to WAN and eth1 attached to LAN
# eth0 = outside
# eth1 = inside
# [LAN]----> eth1[GATEWAY]eth0 ---->WAN
# Run the following commands on LINUX box that will act as a firewall or NAT gateway
firewall-cmd --query-interface=eth0
firewall-cmd --query-interface=eth1
firewall-cmd --get-active-zone 
firewall-cmd --add-interface=eth0 --zone=external
firewall-cmd --add-interface=eth1 --zone=internal
firewall-cmd --zone=external --add-masquerade --permanent 
firewall-cmd --reload 
firewall-cmd --zone=external --query-masquerade 
# ip_forward is activated automatically if masquerading is enabled.
# To verify:
cat /proc/sys/net/ipv4/ip_forward 
# set masquerading to internal zone
firewall-cmd --zone=internal --add-masquerade --permanent
firewall-cmd --reload 
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --reload

Normalement ça devrait être Ça mais je ne suis pas sur de mon coup. Et comment ajouter wlan0 ?
Quand je fais:

root@serveur-maison:~# firewall-cmd --add-interface=eth0 --zone=external
Error: COMMAND_FAILED: '/usr/sbin/iptables-restore -w -n' failed: iptables-restore v1.8.2 (nf_tables): Chain 'INPUT_ZONES' does not exist

Donc là, il faudrait invalider iptables.

Dernière modification par thierryR (19/03/2021 23:22:09)


201119024340877569.gifChalons en Champagne: Au nord, un peu avant la banquise (Ah ben non... Elle a fondu)
Kernel: 5.17.4-200.fc35.x86_64 bits: 64 Desktop: KDE Plasma 5.22.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac  UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#2 19/03/2021 23:08:01

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 1 887

Re : [Résolu] remplacer iptables par firewalld

J'ai désinstallé iptables et réinstallé firewalld.
Tout se passe bien apparemment

firewall-cmd --query-interface=eth0
firewall-cmd –query-interface=eth1
firewall-cmd --query-interface=wlan0

firewall-cmd --get-active-zone 
public 
 interfaces: eth0 eth1 wlan0

firewall-cmd --change-interface=eth0 --zone=external
firewall-cmd --change-interface=eth1 –zone=internal
firewall-cmd --change-interface=wlan0 --zone=internal
firewall-cmd --zone=external --add-masquerade --permanent 

Mais là.... ça se gâte.

# firewall-cmd --reload
Error: COMMAND_FAILED: '/usr/sbin/ip6tables-restore -w -n' failed: ip6tables-restore v1.8.2 (nf_tables): 
line 4: RULE_REPLACE failed (No such file or directory): rule in chain INPUT
line 4: RULE_REPLACE failed (No such file or directory): rule in chain OUTPUT

Je reboot.

En repassant les commandes, je me répète.

root@serveur-maison:~# firewall-cmd --reload
Error: COMMAND_FAILED: '/usr/sbin/ip6tables-restore -w -n' failed: ip6tables-restore v1.8.2 (nf_tables): 
line 4: RULE_REPLACE failed (No such file or directory): rule in chain INPUT
line 4: RULE_REPLACE failed (No such file or directory): rule in chain OUTPUT

root@serveur-maison:~# service iptables status
Unit iptables.service could not be found.

Dernière modification par thierryR (19/03/2021 23:47:32)


201119024340877569.gifChalons en Champagne: Au nord, un peu avant la banquise (Ah ben non... Elle a fondu)
Kernel: 5.17.4-200.fc35.x86_64 bits: 64 Desktop: KDE Plasma 5.22.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac  UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#3 19/03/2021 23:38:06

raigoin
Membre
Inscription : 17/02/2021
Messages : 273

Re : [Résolu] remplacer iptables par firewalld

Bonsoir thierryR,
Je n'y connais rien en firewalld, mais il existe un utilitaire pour le gérer en mode graphique : "firewall-config".


Debian && Fedora Silverblue: utilisateur libre, sans compétence particulière.

Hors ligne

#4 19/03/2021 23:49:17

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 1 887

Re : [Résolu] remplacer iptables par firewalld

Oui, merci mais s'il ne démarre pas, ça ne donnera rien. Il me semble avoir un conflit entre firewald et un reste de iptables.


201119024340877569.gifChalons en Champagne: Au nord, un peu avant la banquise (Ah ben non... Elle a fondu)
Kernel: 5.17.4-200.fc35.x86_64 bits: 64 Desktop: KDE Plasma 5.22.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac  UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

#5 20/03/2021 06:39:44

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 614

Re : [Résolu] remplacer iptables par firewalld

et c'est reparti pour un tour !
à mon avis, il n'y avait rien à désinstaller. As-tu regardé https://doc.fedora-fr.org/wiki/Parefeu_-_firewall ?


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#6 20/03/2021 11:23:35

thierryR
Membre
Lieu : Chalons en Champagne
Inscription : 31/01/2011
Messages : 1 887

Re : [Résolu] remplacer iptables par firewalld

Désolé pour la redondance. Cette page est bien cachée. Si elle s'était appelée Basculer de netfilter / iptables à Firewalld Je pense que je n'aurais pas ouvert ce fil. Il y a 2 mots identiques dans ce titre de page: parefeu et firewall. J'ai cherché avec "firewalld" et ne suis jamais arrivé sur cette page pourtant bien utile. Un changement serait bienvenu.
Encore désolé pour le dérangement. Merci Gérard.


201119024340877569.gifChalons en Champagne: Au nord, un peu avant la banquise (Ah ben non... Elle a fondu)
Kernel: 5.17.4-200.fc35.x86_64 bits: 64 Desktop: KDE Plasma 5.22.4
Type: Desktop Mobo: ASRock model: X470 Gaming-ITX/ac  UEFI: CPU: Topology: 8-Core model: AMD Ryzen 7 2700X bits: 64 type: MT MCP L2 cache: 4096 KiB

Hors ligne

Pied de page des forums