1 votes

Une seule interface réseau fonctionne en même temps

J'utilise Ubuntu 18 avec KDE Plasma, et je ne peux pas utiliser 2 interfaces réseau en même temps. J'ai " Connexion filaire 1 "de mon IPS (câble ethernet) et " Connexion filaire 2 " utiliser mon téléphone " Connexion USB "Si j'utilise la connexion du téléphone, cela fonctionne, et si j'utilise la connexion de mon fournisseur d'accès, cela fonctionne aussi, mais si les deux sont connectées, seule une interface fonctionne, l'autre est à 0 KB/s, j'ai essayé plusieurs tests de vitesse.

Cela vient de ip addr :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether d8:50:e6:54:28:d1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.25/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
       valid_lft 599667sec preferred_lft 599667sec
    inet6 fe80::6bd6:81a4:afcf:564f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:3c:0c:63 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:3c:0c:63 brd ff:ff:ff:ff:ff:ff
18: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:e7:18:69 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fee7:1869/64 scope link 
       valid_lft forever preferred_lft forever
19: enp0s20u7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 0e:67:33:17:48:a0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.188/24 brd 192.168.42.255 scope global dynamic noprefixroute enp0s20u7
       valid_lft 7175sec preferred_lft 7175sec
    inet6 fe80::b0e:b959:2f6a:926e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

enp0s20u7 est la connexion de mon téléphone.

0voto

JayEye Points 1003

Un peu de contexte d'abord, avec quelques détails simplifiés pour ne pas avoir à écrire un manuel entier sur les réseaux :)

Pour "télécharger" quelque chose, une connexion TCP est créée entre votre machine et une machine distante. L'interface choisie pour cette connexion est déterminée par la table de routage (techniquement : la FIB, forwarding information base), ce que vous obtenez lorsque vous tapez ip route list . Ce que vous voyez est une liste de destinations (adresse / longueur du préfixe) avec l'interface correspondante. L'interface qui est choisie est celle qui a le plus grand nombre d'adresses. plus longue correspondance de l'adresse IP de destination. Normalement, la plupart de ces destinations sont pour des choses dans votre réseau local, plus une par défaut route, qui est ce que toutes les connexions au reste de l'Internet utiliseront.

Lorsque vous (enfin, pas vous, un processus sur votre machine !) ouvrez une connexion TCP, cette connexion est connue par le tuple (adresse IP source, port source, adresse IP destination, port destination). Le code qui s'exécute commence généralement par définir l'adresse IP source et le port à 0, et les valeurs réelles sont remplies lorsque le premier paquet quitte la machine, l'adresse IP source étant, bien sûr, l'adresse IP de l'interface de sortie (ignorez pour l'instant les effets du NAT).

Si vous avez plus d'une interface de sortie, comme dans votre cas avec une liaison DSL et une liaison LTE, vous aurez donc deux interfaces de sortie. default itinéraires. Puisqu'ils ont tous deux la même longueur de préfixe (à savoir, 0), celui qui est choisi dépend de l'itinéraire. métrique . Celui qui a la métrique la plus basse est celui qui est choisi.

Linux siempre choisit l'itinéraire avec la métrique la plus basse. Si vous voulez pouvoir utiliser les deux interfaces, vous devez ajuster les métriques des interfaces au même nombre. Vous pouvez le faire manuellement ou en spécifiant la métrique dans le NetworkManager ou autre.

Cependant, cela toujours ne pas envoyer de paquets appartenant à la même connexion sur les deux interfaces. En effet, si vous essayez d'envoyer un paquet avec l'adresse IP source d'une interface vers l'autre, le FAI (s'il se comporte selon les meilleures pratiques actuelles) abandonnera ce paquet et refusera de le transférer (la raison de cette attitude dépasse le cadre de cette discussion). Ainsi, une fois que le premier paquet d'une connexion est sorti, tous les paquets suivants de cette connexion sortiront par la même interface. Je ne peux pas imaginer que Windows fonctionne différemment à cet égard.

Cependant, si vous avez plusieurs transferts en cours en même temps, vous avez des métriques identiques sur vos interfaces sortantes, alors environ la moitié des connexions sortiront par une interface, et l'autre moitié par l'autre. Il est possible d'ajuster la fraction du trafic qui sortira par l'une et par l'autre, si, par exemple, votre interface DSL est plus rapide que votre LTE et que vous voulez que plus de connexions sortent par là, mais cela implique de définir une politique de routage qui nécessite plus qu'une seule commande.

Certaines personnes ont mentionné le bonding d'interface ; ce concept n'est pas applicable ici car il nécessite la coopération de "l'autre" côté, ce que vous n'avez manifestement pas puisque vous parlez à différents FAI.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X