Je commence un nouveau sujet, celui consacré à l'agrégation de liens.
J'ai découvert qu'il était possible d'augmenter la vitesse de son débit en ajoutant des cartes réseaux.
Ça tombe bien, j'ai deux adaptateur USB/RJ45 allant chacun à 100mb/s qui vont faire office de cartes réseaux dans mon Debian.
L'intérêt à cela est d'exploiter la vitesse de 2gb/s coté WAN dans la BOX SFR, sachant que coté LAN, chacun des quatre ports RJ45 est limité à 1gb/s.
Mon test est de vérifier par la mire SFR (iperf), que je peux doubler ma vitesse de 100mb/s.
Cette solution sera adaptable à tous ceux qui veulent exploiter leur 2gb/s en conservant la BOX SFR.
Il faudra investir dans une deuxième carte réseau ou bien comme moi, se procurer des adaptateurs USB/RJ45 à 1gb/s.
En faisant des recherches, je suis tombé sur
le lien de Vivien. Merci à lui pour toutes ses explications fort intéressante.
Ce qui nous intéresse ici est le mode 0 (Round Robin) qui dans networkctl se nomme "balance-rr".
Je rentre dans le vif du sujet. Voici la configuration que j'ai adoptée :
--> "13-bond.netdev" :
[NetDev]
Name=bond0
Kind=bond
[Bond]
DownDelaySec=0.5s
LACPTransmitRate=fast
MIIMonitorSec=1s
Mode=balance-rr
TransmitHashPolicy=layer3+4
UpDelaySec=0.5s
--> "13-bond.network" :
[Link]
MACAddress=0a:ec:1a:0e:c8:75
[Match]
Name=bond0
[Network]
BindCarrier=lan0 lan1
DHCP=yes
Afin de ne pas voir l'adresse MAC changée, je l'ai fixé à la première valeur que j'ai obtenu en faisant un "bond".
Cette adresse MAC est présente dans le serveur DHCP de ma BOX SFR, ce qui me permettra d'obtenir les adresses IPv4 & IPv6.
--> "13-enslave0.link" :
[Match]
MACAddress=00:50:b6:b0:24:28
[Link]
Name=lan0
L'adresse MAC est celle de mon premier adaptateur USB/RJ45. Le nom de l'interface est "lan0".
--> "13-enslave0.network" :
[Match]
Name=lan0
[Network]
Bond=bond0
IPv6PrivacyExtensions=no
--> "13-enslave1.link" :
[Match]
MACAddress=00:50:b6:fb:a3:10
[Link]
Name=lan1
L'adresse MAC est celle de mon second adaptateur USB/RJ45. Le nom de l'interface est "lan1".
--> "13-enslave1.network" :
[Match]
Name=lan1
[Network]
Bond=bond0
IPv6PrivacyExtensions=no
Et voici le compte-rendu :
root~> networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp2s0 ether off unmanaged
3 wlan0 wlan off unmanaged
19 lan0 ether enslaved configured
20 lan1 ether enslaved configured
26 bond0 bond routable configured
6 links listed.
root~>
root~> networkctl status
● State: routable
Online state: online
Address: 192.168.1.92 on bond0
2a02:84xx:xxxx:xx01::920 on bond0
2a02:84xx:xxxx:xx01:0:bad:0:ebfb on bond0
fe80::8ec:1aff:fe0e:c875 on bond0
Gateway: 192.168.1.1 on bond0
fe80::ce2d:1bff:fef0:2778 on bond0
DNS: 192.168.1.1
NTP: 192.168.1.1
févr. 10 11:00:23 Debian systemd-networkd[12617]: lan1: Link UP
févr. 10 11:00:23 Debian systemd-networkd[12617]: lan0: Link UP
févr. 10 11:00:26 Debian systemd-networkd[12617]: lan1: Gained carrier
févr. 10 11:00:26 Debian systemd-networkd[12617]: bond0: Link UP
févr. 10 11:00:26 Debian systemd-networkd[12617]: bond0: Gained carrier
févr. 10 11:00:26 Debian systemd-networkd[12617]: lan0: Gained carrier
févr. 10 11:00:26 Debian systemd-networkd[12617]: bond0: DHCPv4 address 192.168.1.92/24, gateway 192.168.1.1 acquired from 192.168.1.1
févr. 10 11:00:28 Debian systemd-networkd[12617]: bond0: Gained IPv6LL
févr. 10 11:00:28 Debian systemd-networkd[12617]: bond0: DHCPv6 address 2a02:84xx:xxxx:xx01:0:bad:0:ebfb/128 (valid for 59min 59s, preferred for 59min 59s)
févr. 10 11:00:28 Debian systemd-networkd[12617]: bond0: DHCPv6 address 2a02:84xx:xxxx:xx01::920/128 (valid for 59min 59s, preferred for 59min 59s)
root~>
root~> networkctl status bond0
● 26: bond0
Link File: /usr/lib/systemd/network/99-default.link
Network File: /etc/systemd/network/13-bond.network
State: routable (configured)
Online state: online
Type: bond
Kind: bond
Driver: bonding
Hardware Address: 0a:ec:1a:0e:c8:75
MTU: 1500 (min: 68, max: 65535)
QDisc: noqueue
IPv6 Address Generation Mode: eui64
Mode: balance-rr
Miimon: 1s
Updelay: 0
Downdelay: 0
Number of Queues (Tx/Rx): 16/16
Auto negotiation: no
Speed: 200Mbps
Duplex: full
Address: 192.168.1.92 (DHCP4 via 192.168.1.1)
2a02:84xx:xxxx:xx01::920
2a02:84xx:xxxx:xx01:0:bad:0:ebfb
fe80::8ec:1aff:fe0e:c875
Gateway: 192.168.1.1
fe80::ce2d:1bff:fef0:2778
DNS: 192.168.1.1
2a02:84xx:xxxx:xx01::1
NTP: 192.168.1.1
Carrier Bound To: lan0
lan1
Activation Policy: bound
Required For Online: yes
DHCP4 Client ID: IAID:0x3665d208/DUID
DHCP6 Client IAID: 0x3665d208
DHCP6 Client DUID: DUID-EN/Vendor:0000ab114fbd83174dabee7b0000
févr. 10 11:00:21 Debian systemd-networkd[12300]: bond0: DHCP lease lost
févr. 10 11:00:21 Debian systemd-networkd[12300]: bond0: DHCPv6 lease lost
févr. 10 11:00:23 Debian systemd-networkd[12617]: bond0: netdev ready
févr. 10 11:00:23 Debian systemd-networkd[12617]: bond0: Configuring with /etc/systemd/network/13-bond.network.
févr. 10 11:00:26 Debian systemd-networkd[12617]: bond0: Link UP
févr. 10 11:00:26 Debian systemd-networkd[12617]: bond0: Gained carrier
févr. 10 11:00:26 Debian systemd-networkd[12617]: bond0: DHCPv4 address 192.168.1.92/24, gateway 192.168.1.1 acquired from 192.168.1.1
févr. 10 11:00:28 Debian systemd-networkd[12617]: bond0: Gained IPv6LL
févr. 10 11:00:28 Debian systemd-networkd[12617]: bond0: DHCPv6 address 2a02:84xx:xxxx:xx01:0:bad:0:ebfb/128 (valid for 59min 59s, preferred for 59min 59s)
févr. 10 11:00:28 Debian systemd-networkd[12617]: bond0: DHCPv6 address 2a02:84xx:xxxx:xx01::920/128 (valid for 59min 59s, preferred for 59min 59s)
root~>
root~> networkctl status lan0
● 19: lan0
Link File: /etc/systemd/network/13-enslave0.link
Network File: /etc/systemd/network/13-enslave0.network
State: enslaved (configured)
Online state: online
Type: ether
Path: pci-0000:05:00.3-usb-0:2:1.0
Driver: asix
Vendor: ASIX Electronics Corp.
Model: AX88772B
Hardware Address: 0a:ec:1a:0e:c8:75
Permanent Hardware Address: 00:50:b6:b0:24:28 (GOOD WAY IND. CO., LTD.)
MTU: 1500 (max: 65535)
QDisc: fq_codel
Master: bond0
IPv6 Address Generation Mode: none
Number of Queues (Tx/Rx): 1/1
Auto negotiation: yes
Speed: 100Mbps
Duplex: full
Port: tp
Carrier Bound By: bond0
Activation Policy: up
Required For Online: yes
févr. 10 10:58:18 Debian systemd-networkd[11907]: lan0: Link DOWN
févr. 10 10:58:18 Debian systemd-networkd[11907]: lan0: Lost carrier
févr. 10 10:58:21 Debian systemd-networkd[12300]: lan0: Configuring with /etc/systemd/network/13-enslave0.network.
févr. 10 10:58:21 Debian systemd-networkd[12300]: lan0: Link UP
févr. 10 10:58:23 Debian systemd-networkd[12300]: lan0: Gained carrier
févr. 10 11:00:21 Debian systemd-networkd[12300]: lan0: Link DOWN
févr. 10 11:00:21 Debian systemd-networkd[12300]: lan0: Lost carrier
févr. 10 11:00:23 Debian systemd-networkd[12617]: lan0: Configuring with /etc/systemd/network/13-enslave0.network.
févr. 10 11:00:23 Debian systemd-networkd[12617]: lan0: Link UP
févr. 10 11:00:26 Debian systemd-networkd[12617]: lan0: Gained carrier
root~>
root~> networkctl status lan1
● 20: lan1
Link File: /etc/systemd/network/13-enslave1.link
Network File: /etc/systemd/network/13-enslave1.network
State: enslaved (configured)
Online state: online
Type: ether
Path: pci-0000:05:00.3-usb-0:3:1.0
Driver: asix
Vendor: ASIX Electronics Corp.
Model: AX88772B
Hardware Address: 0a:ec:1a:0e:c8:75
Permanent Hardware Address: 00:50:b6:fb:a3:10 (GOOD WAY IND. CO., LTD.)
MTU: 1500 (max: 65535)
QDisc: fq_codel
Master: bond0
IPv6 Address Generation Mode: none
Number of Queues (Tx/Rx): 1/1
Auto negotiation: yes
Speed: 100Mbps
Duplex: full
Port: tp
Carrier Bound By: bond0
Activation Policy: up
Required For Online: yes
févr. 10 10:58:18 Debian systemd-networkd[11907]: lan1: Link DOWN
févr. 10 10:58:18 Debian systemd-networkd[11907]: lan1: Lost carrier
févr. 10 10:58:21 Debian systemd-networkd[12300]: lan1: Configuring with /etc/systemd/network/13-enslave1.network.
févr. 10 10:58:21 Debian systemd-networkd[12300]: lan1: Link UP
févr. 10 10:58:23 Debian systemd-networkd[12300]: lan1: Gained carrier
févr. 10 11:00:21 Debian systemd-networkd[12300]: lan1: Link DOWN
févr. 10 11:00:21 Debian systemd-networkd[12300]: lan1: Lost carrier
févr. 10 11:00:23 Debian systemd-networkd[12617]: lan1: Configuring with /etc/systemd/network/13-enslave1.network.
févr. 10 11:00:23 Debian systemd-networkd[12617]: lan1: Link UP
févr. 10 11:00:26 Debian systemd-networkd[12617]: lan1: Gained carrier
root~>
Comme on peut le constater, la vitesse de "lan0" & "lan1" est de 100mb/s alors que celle de "bond0" et de 200mb/s, soit le double.
Un bogue de ma BOX SFR est que je me retrouve avec deux adresses IPv6.
Voici l'état du "bond" :
root~> cat /proc/net/bounding/bond0
Ethernet Channel Bonding Driver: v6.1.0-17-amd64
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
Slave Interface: lan1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:b6:fb:a3:10
Slave queue ID: 0
Slave Interface: lan0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:b6:b0:24:28
Slave queue ID: 0
Et pour terminer, le test du débit avec la mire SFR :
J'ai bien le double de la vitesse. Donc cette astuce fonctionne parfaitement sauf qu'elle utilise deux ports RJ45 sur la Box SFR.
Je précise qu'au moment où j'ai fait ce test, je suis dans l'offre SFR FIBRE STARTER et je suis limité à 500mb/s en download & upload.
Je ne pouvais pas utiliser mes autres adaptateurs USB/RJ45 fonctionnant à 1gb/s car je n'aurais pas pu obtenir le double de la vitesse recherchée.
Ceux-ci auraient plafonnés à 500mb/s, ce qui n'aurait rien démontré du test.
@+