Iptables, Bonding ou autre(s) solution(s) possible(s)?

Bonjour à tous.

J’ai un ordinateur sous Linux Debian qui a deux interfaces réseaux.
Ces deux interfaces réseaux (wifi et Ethernet) sont alternativement utilisées pour internet.

J’ai des règles iptables qui ne concernent qu’une interface. Or je voudrais que les règles iptables “prennent automatiquement en compte les deux interfaces” (donc sans avoir à les éditer ou à en charger d’autres) selon l’utilisation en cours de la carte réseau.

Donc ma question est la suivante:
Existe-t-il une alternative au Bonding dans mon cas de figure?

Merci.

Je ne vois pas trop ce que le bonding apporterait dans cette situation.
Pour iptables, tu peux au choix ou selon la façon dont le jeu de règles est construit :

  • modifier les règles pour qu’elles s’appliquent à toutes les interfaces et pas seulement à l’une ou l’autre

iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT

  • dupliquer les règles pour chaque interface

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i wlan0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT iptables -A INPUT -i wlan0 -p tcp --dport 443 -j ACCEPT

  • mettre les règles dans des chaînes utilisateur appelées pour les deux interfaces

iptables -N input_ext iptables -A INPUT -i eth0 -j input_ext iptables -A INPUT -i wlan0 -j input_ext iptables -A input_ext -p tcp --dport 80 -j ACCEPT iptables -A input_ext -p tcp --dport 443 -j ACCEPT

Merci pour les solutions.

Quant au Bonding, puisqu’il permet de créer une interface virtuelle en alliant au moins deux interfaces physiques, je pensais donc créer une interface réseau virtuelle avec les interfaces réseaux wifi et Ethernet.
Ensuite, référencer sous Iptables l’interface virtuelle ainsi “créée”.
Par conséquent, cela permettrait que les règles Iptables soient “adaptées aux deux interfaces”.

Bonjour à tous.

Puis-je avec cet exemple donné (par PascalHambourg) ci dessus:

iptables -N input_ext iptables -A INPUT -i eth0 -j input_ext iptables -A INPUT -i wlan0 -j input_ext iptables -A input_ext -p tcp --dport 80 -j ACCEPT iptables -A input_ext -p tcp --dport 443 -j ACCEPT

écrire les règles ainsi:

(…)

iptables -N input_ext
iptables -A INPUT -i eth0 -j input_ext
iptables -A INPUT -i wlan0 -j input_ext

(…)

/sbin/iptables -t filter -A OUTPUT -o input_ext -s 192.168.1.10 -d 208.67.222.222 -p UDP --dport domain -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o input_ext -s 192.168.1.10 -d 208.67.222.222 -p TCP --dport domain -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o input_ext -s 192.168.1.10 -d 208.67.220.220 -p UDP --dport domain -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o input_ext -s 192.168.1.10 -d 208.67.220.220 -p TCP --dport domain -j ACCEPT

(…)

au lieu de:
(…)
/sbin/iptables -t filter -A OUTPUT -o wlan0 -s 192.168.1.10 -d 208.67.222.222 -p UDP --dport domain -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o wlan0 -s 192.168.1.10 -d 208.67.222.222 -p TCP --dport domain -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o wlan0 -s 192.168.1.10 -d 208.67.220.220 -p UDP --dport domain -j ACCEPT
/sbin/iptables -t filter -A OUTPUT -o wlan0 -s 192.168.1.10 -d 208.67.220.220 -p TCP --dport domain -j ACCEPT

(…)

Parce que le par-feu ne laisse pas les connexions passées.

Merci.

Non, input_ext est une table, pas une interface, le «-o input_ext» n’a pas de sens.

input_ext n’est pas une table mais une chaîne, comme INPUT.

Oups… Confusion: table=nat, filter, mangle, etc chaine=liste de règles au sein d’une table, lues dans l’ordre. (Du moins je le vois comme ça)

La création d’une table est liée à des fonctionalités particulières donc au chargement d’un ou plusieurs modules.

C’est ça?

Oui.
De toute façon, c’est -t

-A … -j ou .
Et pour le reste, cf. le schéma de traversée des paquets.

Donc si j’ai bien compris, je n’ai que deux choix:
-la duplication des règles:

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i wlan0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT iptables -A INPUT -i wlan0 -p tcp --dport 443 -j ACCEPT
-Le Bonding

Tu n’as pas dû bien comprendre, puisque les chaînes utilisateur évitent de devoir dupliquer les règles. Quelque chose n’était pas clair dans mon exemple ?

Quant au bonding, il vaut mieux savoir exactement ce qu’on fait. Il existe différents modes de bonding, et certains modes doivent être explicitement pris en charge aussi par l’équipement à l’autre bout des liens pour fonctionner.