plusieurs clef wifi

13 réponses
Avatar
Ta liberte tu la mendies, pauvre acteur.
bj,

j'ai plusieurs accès internet, plusieurs dongles et connections wifi
ouvertes, mais tous les programmes accent à internet via le même lien,
comment attribuer un lien wifi à un logiciel ?

--

10 réponses

1 2
Avatar
Eric Masson
"Ta liberte tu la mendies, pauvre acteur."
writes:
'Lut,
j'ai plusieurs accès internet, plusieurs dongles et connections wifi
ouvertes, mais tous les programmes accent à internet via le même lien,
comment attribuer un lien wifi à un logiciel ?

Probablement via vrf :
http://www.routereflector.com/2016/11/working-with-vrf-on-linux/
https://github.com/torvalds/linux/blob/master/Documentation/networking/vrf.txt
--
Nous lançons une grande pétition pour pousser UFD à sortir Star Wars
Episode I en France en même temps qu'aux Etats Unis... C'est réaliste et
peu coûteux...Que la force soit avec vous.
-+- FN in : <http://www.le-gnu.net> - le coté obscur du neuneu -+-
Avatar
Marc SCHAEFER
Ta liberte tu la mendies, pauvre acteur. wrote:
j'ai plusieurs accès internet, plusieurs dongles et connections wifi
ouvertes, mais tous les programmes accent à internet via le même lien,
comment attribuer un lien wifi à un logiciel ?

Ils accèdent à la seule route par défaut (ou s'il y en a plusieurs,
à une d'entre-elles, peut-être la dernière ou la 1ère).
Une première idée pourrait de forcer le binding de l'application considérée
sur une interface donnée. Cela imposera l'adresse IP de sortie, toutefois
cela n'influencera pas le routage: ce dernier est usuellement basé
uniquement sur l'adresse destination et, pour la plupart des adresses
non locales, sur *la* route par défaut.
Firefox ne semble pas supporter le binding: on peut toutefois l'émuler avec [1]
via un préchargement simple de bibliothèques partagée (shared object, so).
Cet article donne également d'autres pistes liées aux namespaces, qui peuvent
régler également le problème de routage ci-dessous.
Reste toutefois le problème d'influencer la table de routage: on aurait
autant de tables de routages numérotées qu'il y aurait de connexions
Internet, avec chaque table de routage contenant une des routes
par défaut. On peut, ensuite, avec iptables/netfilter choisir la
table de routage adaptée en fonction de, par exemple, l'adresse IP source,
voir [2].
En alternative -- que j'ai pratiquée -- on peut utiliser des marques
de routage, via de simples règles iptables basées sur l'adresse IP
source, ou d'autres métadonnées (typiquement j'avais implémenté un NAT
avec des clients et des serveurs en adresses privées et du routage
multi-homing: les réponses ressortant de là où les questions correspondantes
étaient arrivées: MARK + SAVE-MARK -- on peut faire plus simple si
chaque serveur en NAT accédé de l'extérieur a 2 adresses privées).
Donc faisable, quoiqu'un peu complexe.
Alternative: chaque connexion Internet gérée par un système embarqué
différent (raspi/alix/apu2) et utilisation de proxies, un configuré
par instance de Firefox
[1] https://daniel-lange.com/archives/53-Binding-applications-to-a-specific-IP.html
[2] https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html
Avatar
Marc SCHAEFER
Eric Masson wrote:
http://www.routereflector.com/2016/11/working-with-vrf-on-linux/
https://github.com/torvalds/linux/blob/master/Documentation/networking/vrf.txt

Intéressant! Ca semble être plus simple que l'ancien système par netfilter/marking.
Avatar
Ta liberte tu la mendies, pauvre acteur.
Le 24/07/18 à 20:00, Marc SCHAEFER a écrit :
Donc faisable, quoiqu'un peu complexe.
Alternative: chaque connexion Internet gérée par un système embarqué
différent (raspi/alix/apu2) et utilisation de proxies, un configuré
par instance de Firefox

Je me disais aussi, que ça allait être compliqué.
Et je doute que ça soit plus facile sous windows.
Les petits ordis sont des systemes fort limités.
--
Avatar
Eric Belhomme
Le Tue, 24 Jul 2018 19:53:03 +0200, Eric Masson a écrit :
Probablement via vrf :
http://www.routereflector.com/2016/11/working-with-vrf-on-linux/
https://github.com/torvalds/linux/blob/master/Documentation/networking/

vrf.txt
Intéressant, mais je ne vois pas quel est le gain par rapport au bridge
hitorique de Linux, que l'on manipule avec brctl ?
Par ailleurs, comme mentionné par Marc, Linux supporte depuis belle
lurette les tables de routages multiples, ce qui est la réponse à la
requête initiale.
Et effectivement, ce genre de setup n'est pas à la portée du 1er venu :)
--
Rico, il faut juste prendre le temps de bien comprendre ce que fait
iproute2
Avatar
Eric Masson
Eric Belhomme <rico-{nospam}@ricozome.net> writes:
'Lut,
Intéressant, mais je ne vois pas quel est le gain par rapport au
bridge hitorique de Linux, que l'on manipule avec brctl ?

Apparemment (je ne suis pas un spécialiste des fonctionnalités des
bridges), la possibilité de démarrer un processus dans un vrf donné.
--
Je proposerai de tenter d'y remédier en insérant systématiquement
un portrait, une photo de soi dans toutes les contributions à
venir. Certes cela fait 10 Mo de plus à chaque envoi.
-+-JP in <http://www.le-gnu.net> : ketenafout la bande passante ?-+-
Avatar
Marc SCHAEFER
Eric Masson wrote:
Apparemment (je ne suis pas un spécialiste des fonctionnalités des
bridges), la possibilité de démarrer un processus dans un vrf donné.

Ca on peut aussi faire depuis un moment avec OpenVZ, et ça marche
aussi avec lxc (+ namespaces réseaux). C'est peut-être plus
simple avec des namespaces sans containers (cf le lien dans
ma réponse).
En fait, je crois que pas mal de trucs dans netfilter sont
simplement entrain d'être réimplémentés, pour de bonnes
ou de mauvaises raisons, je ne sais pas.
Les jeunes développeurs ont plutôt envie de développer que de
maintenir, et c'est vrai que certains vieux trucs sont un
peu poussiéreux parfois.
Utilisant Debian LTS, j'ai des cycles lents, je me préoccuperai
de ça d'ici 2020. C'est comme pour systemd: je n'ai pas vécu
le `moment upstart' (sauf erreur seulement sous Ubuntu,
d'ailleurs), et j'avais tellement espéré passer à autre
chose que systemd :->
Avatar
Eric Masson
Marc SCHAEFER writes:
'Lut,
Ca on peut aussi faire depuis un moment avec OpenVZ, et ça marche
aussi avec lxc (+ namespaces réseaux). C'est peut-être plus
simple avec des namespaces sans containers (cf le lien dans
ma réponse).

Ok, donc avec un système de conteneurs (virtualisation légère) auxquels
tu affectes un bridge et donc la configuration réseau qui te sied sur
l'hôte.
Les vrf semblent permettre d'éviter l'utilisation de conteneurs et donc
probablement éliminer l'overhead de ces derniers.
En fait, je crois que pas mal de trucs dans netfilter sont
simplement entrain d'être réimplémentés, pour de bonnes
ou de mauvaises raisons, je ne sais pas.

Je ne connais pas assez Linux pour avoir une idée définitive sur le
sujet (j'utilise principalement OpenWRT/LEDE), mais je trouve que l'UI
(cli) pour les fonctionnalités réseau est plutôt fouillis et que rien
n'est vraiment documenté de façon exhaustive.
--
Cela m'a même déjà valu quelques discussions animés avec mes paires
-+- FC in <http://www.le-gnu.net> : Tête à tête ou tête à queue ? -+-
Avatar
Pascal Hambourg
Le 25/07/2018 à 16:35, Eric Belhomme a écrit :
Le Tue, 24 Jul 2018 19:53:03 +0200, Eric Masson a écrit :
Probablement via vrf :
http://www.routereflector.com/2016/11/working-with-vrf-on-linux/
https://github.com/torvalds/linux/blob/master/Documentation/networking/

vrf.txt
Intéressant, mais je ne vois pas quel est le gain par rapport au bridge
hitorique de Linux, que l'on manipule avec brctl ?

Ça n'a rien à voir. Un pont ne fait pas du tout la même chose.
Par ailleurs, comme mentionné par Marc, Linux supporte depuis belle
lurette les tables de routages multiples, ce qui est la réponse à la
requête initiale.

Va dire à un processus d'utiliser une table de routage particulière et
on en reparle.
Avatar
Eric Belhomme
Le Wed, 25 Jul 2018 23:24:16 +0200, Pascal Hambourg a écrit :
Intéressant, mais je ne vois pas quel est le gain par rapport au bridge
hitorique de Linux, que l'on manipule avec brctl ?

Ça n'a rien à voir. Un pont ne fait pas du tout la même chose.

En ayant zyeuté 30 secondes le lien posté par Eric, j'ai vu une usine à
gaz qui monte des ponts virtuels pour faire du transit entre eux. Je n'ai
pas pris plus le temps que ça de regarder ce que ça fait, mais la big
picture, c'est du bridging. Si je me gourre, merci de me faire voir la
lumière ;)
Par ailleurs, comme mentionné par Marc, Linux supporte depuis belle

Va dire à un processus d'utiliser une table de routage particulière et
on en reparle.

Il faut ruser et en passer par le watermarking des paquets, comme précisé
par Marc. Je n'ai pas dit que c'était simple, j'ai dit que c'était
faisable avec netfilter et iproute2.
--
Rico
1 2