<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Routeur_mptcp</id>
	<title>Routeur mptcp - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Routeur_mptcp"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;action=history"/>
	<updated>2026-04-17T03:36:13Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=1117&amp;oldid=prev</id>
		<title>Ycharbi : Ajout du lien pour le noyau déjà patché + ajout de la commande &quot;sysctl -p&quot;.</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=1117&amp;oldid=prev"/>
		<updated>2020-01-26T11:07:16Z</updated>

		<summary type="html">&lt;p&gt;Ajout du lien pour le noyau déjà patché + ajout de la commande &amp;quot;sysctl -p&amp;quot;.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 26 janvier 2020 à 13:07&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;Ligne 32 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 32 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Pratique=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Pratique=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Multipath TCP==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Multipath TCP==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ce protocole est déjà expliqué dans sa [[Multipath TCP|page dédié]], il ne sera donc pas détaillé ici (le principe étant assez simple à saisir). Il est nécessaire de compiler un noyau Linux patché MPTCP ou de télécharger le binaire déjà fait par mes soins directement dans nos fichiers et de '''l'installer sur les deux machines'''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ce protocole est déjà expliqué dans sa [[Multipath TCP|page dédié]], il ne sera donc pas détaillé ici (le principe étant assez simple à saisir). Il est nécessaire de compiler un noyau Linux patché MPTCP ou de télécharger le binaire déjà fait par mes soins directement dans &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://{{SERVERNAME}}/fichiers/r%c3%a9seaux/mptcp/rpi/4.4.50_mptcp0.92.tar.gz &lt;/ins&gt;nos fichiers&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] &lt;/ins&gt;et de '''l'installer sur les deux machines'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Sur le routeur centralisateur==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Sur le routeur centralisateur==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l45&quot;&gt;Ligne 45 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 45 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Configuration du réseau===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Configuration du réseau===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Activation du routage====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Activation du routage====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Il faut dé-commenter &amp;lt;source lang=&quot;bash&quot; inline&amp;gt;net.ipv4.ip_forward=1&amp;lt;/source&amp;gt; dans &amp;lt;source lang=&quot;bash&quot; inline&amp;gt;/etc/sysctl.conf&amp;lt;/source&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Il faut dé-commenter &amp;lt;source lang=&quot;bash&quot; inline&amp;gt;net.ipv4.ip_forward=1&amp;lt;/source&amp;gt; dans &amp;lt;source lang=&quot;bash&quot; inline&amp;gt;/etc/sysctl.conf&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/source&amp;gt;. Il est également possible d'appliquer le changement sans redémarrer avec la commande &amp;lt;source lang=&quot;bash&quot; inline&amp;gt;sysctl -p&lt;/ins&gt;&amp;lt;/source&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Renommage des interfaces====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Renommage des interfaces====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=857&amp;oldid=prev</id>
		<title>Ycharbi : Ajout de la bidouille ifupdown pour ne pas avoir une duplication de règles de routage lors d'un rebranchement d'interface (avec le Linux 4.4 patché du rpi, les règles ne se suppriment pas toute seules). Modification à révisée prochainement.</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=857&amp;oldid=prev"/>
		<updated>2018-06-13T19:15:29Z</updated>

		<summary type="html">&lt;p&gt;Ajout de la bidouille ifupdown pour ne pas avoir une duplication de règles de routage lors d&amp;#039;un rebranchement d&amp;#039;interface (avec le Linux 4.4 patché du rpi, les règles ne se suppriment pas toute seules). Modification à révisée prochainement.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 13 juin 2018 à 21:15&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l123&quot;&gt;Ligne 123 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 123 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;iface 4Gwan0 inet dhcp&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;iface 4Gwan0 inet dhcp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	up /root/init/pbr-4g.sh&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	up /root/init/pbr-4g.sh&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	down /root/init/pbr-dwn.sh&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	down /root/init/pbr-dwn.sh &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;192.168.8.0/24 2&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Configuration du lien Wifirst WAN&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Configuration du lien Wifirst WAN&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l130&quot;&gt;Ligne 130 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 130 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	up /root/init/pbr-wifirst.sh&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	up /root/init/pbr-wifirst.sh&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	down /root/init/pbr-dwn.sh&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	down /root/init/pbr-dwn.sh &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;10.188.0.0/16 3&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Configuration du lien de partage de connexion mobile&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Configuration du lien de partage de connexion mobile&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l136&quot;&gt;Ligne 136 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 136 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;iface usb0 inet dhcp&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;iface usb0 inet dhcp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	up /root/init/pbr-usb.sh&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	up /root/init/pbr-usb.sh&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	down /root/init/pbr-dwn.sh&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	down /root/init/pbr-dwn.sh &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;192.168.42.0/24 1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l313&quot;&gt;Ligne 313 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 313 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ip r a default via 192.168.42.129 dev usb0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ip r a default via 192.168.42.129 dev usb0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ip r a default via 10.188.0.1 dev wifirst0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ip r a default via 10.188.0.1 dev wifirst0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ip rule del from $1 table $2&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{info|Il n'y a pas besoin de purger les tables car le noyau s'occupe lui même de supprimer celle qui ne correspondent à aucune adresse active configurée sur une des interfaces réseaux (je rappel qu'une interface éteinte n'applique pas sa configuration IP au système).}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--&lt;/ins&gt;{{info|Il n'y a pas besoin de purger les tables car le noyau s'occupe lui même de supprimer celle qui ne correspondent à aucune adresse active configurée sur une des interfaces réseaux (je rappel qu'une interface éteinte n'applique pas sa configuration IP au système).}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Attribution du droit d'exécution aux scripts'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Attribution du droit d'exécution aux scripts'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=850&amp;oldid=prev</id>
		<title>Ycharbi : Correction de fautes de français + modification apt install + correction bug resolvconf et hosts + ajout de sources</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=850&amp;oldid=prev"/>
		<updated>2018-05-30T22:05:32Z</updated>

		<summary type="html">&lt;p&gt;Correction de fautes de français + modification apt install + correction bug resolvconf et hosts + ajout de sources&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 31 mai 2018 à 00:05&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Ligne 12 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 12 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;METTRE UN SCHÉMA&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;METTRE UN SCHÉMA&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dans le principe, il faudra avoir une machine faisant office de routeur centralisateur pour notre accès à Internet ainsi qu'une autre machine &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hébergé &lt;/del&gt;dans un endroit offrant une '''bande passante montante supérieur ou égale à la somme des débits descendants''' de nos accès WAN.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dans le principe, il faudra avoir une machine faisant office de routeur centralisateur pour notre accès à Internet ainsi qu'une autre machine &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hébergée &lt;/ins&gt;dans un endroit offrant une '''bande passante montante supérieur ou égale à la somme des débits descendants''' de nos accès WAN.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Mais pourquoi ça ?'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Mais pourquoi ça ?'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Ligne 18 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 18 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Et bien si vous avez bien compris le fonctionnement du protocole ''MPTCP'', vous savez que pour pouvoir initier une session ''TCP'' sur différents liens simultanément, il faut que la machine cliente '''et''' la machine serveur cause toute les deux ''MPTCP''. Seulement voilà, à part les rarissimes sites de tests mis en ligne exploitants le protocole à des fins de débogage, vous n'aurez aucune chance de l'utiliser pour télécharger l'ISO de votre distribution préférée... C'est ici qu'intervient cette fameuse machine distante avec un accès montant de guedin. Nous allons l'utiliser comme proxy ''TCP'' afin de relayer nos requêtes ''MPTCP'' en ''TCP'' standard pour Internet via son super lien ''WAN'' et nous renvoyer par la suite les paquets en ''MPTCP'' de façon totalement transparente.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Et bien si vous avez bien compris le fonctionnement du protocole ''MPTCP'', vous savez que pour pouvoir initier une session ''TCP'' sur différents liens simultanément, il faut que la machine cliente '''et''' la machine serveur cause toute les deux ''MPTCP''. Seulement voilà, à part les rarissimes sites de tests mis en ligne exploitants le protocole à des fins de débogage, vous n'aurez aucune chance de l'utiliser pour télécharger l'ISO de votre distribution préférée... C'est ici qu'intervient cette fameuse machine distante avec un accès montant de guedin. Nous allons l'utiliser comme proxy ''TCP'' afin de relayer nos requêtes ''MPTCP'' en ''TCP'' standard pour Internet via son super lien ''WAN'' et nous renvoyer par la suite les paquets en ''MPTCP'' de façon totalement transparente.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pour l'hébergement de cette machine vous pouvez soit demander à un amis ne sachant que faire de tout les ''Mo/s'' de sa fibre optique ''gbps'' (humm les inégalités dans le monde...) ou alors opter pour les services d'une entreprise/association spécialisée. Le seul impératif outre la bande passante sera bien sûr de '''pouvoir installer son propre noyau Linux patché''', ce qui est loin d'être proposé par tous (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;oublié &lt;/del&gt;donc les &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hébergeur &lt;/del&gt;WEB et les services &quot;cloud&quot; à pas cher, c'est mort d'avance). Pour ma part je suis parti sur une ''Dedibox'' de chez ''Online''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pour l'hébergement de cette machine vous pouvez soit demander à un amis ne sachant que faire de tout les ''Mo/s'' de sa fibre optique ''gbps'' (humm les inégalités dans le monde...) ou alors opter pour les services d'une entreprise/association spécialisée. Le seul impératif outre la bande passante sera bien sûr de '''pouvoir installer son propre noyau Linux patché''', ce qui est loin d'être proposé par tous (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;oubliez &lt;/ins&gt;donc les &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hébergeurs &lt;/ins&gt;WEB et les services &quot;cloud&quot; à pas cher, c'est mort d'avance). Pour ma part je suis parti sur une ''Dedibox'' de chez ''Online''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pour le routeur centralisateur, j'utiliserai un Raspberry Pi 2 car bien adapté à un usage personnel en chambre pour des raisons de coûts/format/bruit (seule la partie sur la compilation change par rapport à un PC x86). Un PC ou une machine virtuelle est parfaitement utilisable pour cette tâche.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pour le routeur centralisateur, j'utiliserai un Raspberry Pi 2 car bien adapté à un usage personnel en chambre pour des raisons de coûts/format/bruit (seule la partie sur la compilation change par rapport à un PC x86). Un PC ou une machine virtuelle est parfaitement utilisable pour cette tâche.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot;&gt;Ligne 36 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 36 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Sur le routeur centralisateur==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Sur le routeur centralisateur==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Installation des paquets===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Installation des paquets===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt install hostapd wpasupplicant bridge-utils &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;shadowsock&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;libdev&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt install hostapd wpasupplicant bridge-utils &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;shadowsocks&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;libev dnsmasq&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Détails:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Détails:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''hostapd''': Gestion du point d'accès Wifi pour le ''LAN''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''hostapd''': Gestion du point d'accès Wifi pour le ''LAN''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l181&quot;&gt;Ligne 181 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 181 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cache-size=256&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cache-size=256&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Afin de corriger un bug lié au remplissage du fichier &amp;lt;source lang=&quot;bash&quot; inline&gt;resolv.conf&amp;lt;/source&gt; par ''dnsmasq'' (ce dernier met '''127.0.0.1''' en serveur DNS, autant dire que ça ne va pas fonctionner des masses). Nous allons ajouter un paramètre dans la configuration du service (ce problème est expliqué [https://superuser.com/questions/894513/resolv-conf-keeps-getting-overwritten-when-dnsmasq-is-restarted-breaking-dnsmas ici] et [https://raspberrypi.stackexchange.com/questions/37439/proper-way-to-prevent-dnsmasq-from-overwriting-dns-server-list-supplied-by-dhcp là]).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; vim /etc/default/dnsmasq&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;y ajouter le paramètre suivant:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; DNSMASQ_EXCEPT=lo&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;et vérifier par la même la présence du paramètre&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ENABLED=1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Configuration du point d'accès Wifi LAN'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Configuration du point d'accès Wifi LAN'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l286&quot;&gt;Ligne 286 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 296 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Malgré l'utilisation du routage par la source, notre '''routeur concentrateur utilisera toujours la table de routage standard pour initier la première connexion TCP''' (allez savoir pourquoi). Cette contrainte a pour effet, en cas d'extinction de l'interface utilisée pour la route par défaut principale (genre vous débranchez votre clé 4G pour vadrouiller et vous niquez le téléchargement programmé pour plus tard sur votre PC relié au routeur), de couper totalement les nouvelles communications qui pourraient s'effectuées via les autres interfaces (complètement con). Pour palier ce problème, nous allons créer un script commun à toute les interfaces sortantes qui se chargera d'injecter une route par défaut via chacune d'elle. Ainsi le système, ne pouvant en accepter qu'une et ne pouvant appliquer de routes via une interface inexistante, se verra obliger d'appliquer celle-ci à la première interface allumée (et donc supposément fonctionnelle). C'est un peu bourrin mais ça fonctionne et étonnamment, je n'ai strictement vu personne faire ça sur Internet alors que c'est bel et bien la seule méthode vraiment fonctionnelle (bien qu'elle ne gère pas le cas où un lien est monté mais que la connectivité réseaux ne fonctionne pas).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Malgré l'utilisation du routage par la source, notre '''routeur concentrateur utilisera toujours la table de routage standard pour initier la première connexion TCP''' (allez savoir pourquoi). Cette contrainte a pour effet, en cas d'extinction de l'interface utilisée pour la route par défaut principale (genre vous débranchez votre clé 4G pour vadrouiller et vous niquez le téléchargement programmé pour plus tard sur votre PC relié au routeur), de couper totalement les nouvelles communications qui pourraient s'effectuées via les autres interfaces (complètement con). Pour palier ce problème, nous allons créer un script commun à toute les interfaces sortantes qui se chargera d'injecter une route par défaut via chacune d'elle. Ainsi le système, ne pouvant en accepter qu'une et ne pouvant appliquer de routes via une interface inexistante, se verra obliger d'appliquer celle-ci à la première interface allumée (et donc supposément fonctionnelle). C'est un peu bourrin mais ça fonctionne et étonnamment, je n'ai strictement vu personne faire ça sur Internet alors que c'est bel et bien la seule méthode vraiment fonctionnelle (bien qu'elle ne gère pas le cas où un lien est monté mais que la connectivité réseaux ne fonctionne pas).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;'''Aussi'''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Afin de permettre la résolution du nom ''wireless.wifirst.net'' à coût sûr (pour pouvoir requêter le portail captif du FAI), nous allons fixer ce dernier dans le fichier &amp;lt;source lang=&quot;bash&quot; inline&gt;hosts&amp;lt;/source&gt;. En effet, les DNS du fichier &amp;lt;source lang=&quot;bash&quot; inline&gt;resolv.conf&amp;lt;/source&gt; se remplissant automatiquement, leur ordre n'est pas maîtrisable. On se retrouve donc parfois avec une erreur de résolution (du fait que la requête soit transmise à un DNS externe ne connaissant pas ce NDM local) entraînant l'échec de l'authentification au portail captif et donc le non-fonctionnement de l'accès WAN Wifirst. Il faut faire ceci:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; vim /etc/hosts&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 10.188.0.1	wireless.wifirst.net&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Création du script d'extinction'''&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Création du script d'extinction'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l505&quot;&gt;Ligne 505 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 523 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# net.ipv4.tcp_congestion_control = cubic&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# net.ipv4.tcp_congestion_control = cubic&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=Sources=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* http://mptcp.zugaina.com/index.fr.php&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://github.com/shadowsocks/shadowsocks/wiki/Optimizing-Shadowsocks&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://www.raspberrypi.org/documentation/linux/kernel/configuring.md&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://github.com/Ysurac/raspberry_kernel_mptcp/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://multipath-tcp.org/pmwiki.php/Users/DoItYourself&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://wiki.gentoo.org/wiki/Hostapd#Frequency_Bands&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* http://antoine-schellenberger.com/linux/2014/12/14/tips_hostapd_bridge.html&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=848&amp;oldid=prev</id>
		<title>Ycharbi : /* Création du point d'accès Wifi LAN */ Correction d'une erreur sur l'interface d'écoute (ajout du pont)</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=848&amp;oldid=prev"/>
		<updated>2018-05-17T22:51:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Création du point d&amp;#039;accès Wifi LAN : &lt;/span&gt; Correction d&amp;#039;une erreur sur l&amp;#039;interface d&amp;#039;écoute (ajout du pont)&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 18 mai 2018 à 00:51&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l188&quot;&gt;Ligne 188 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 188 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 1. Paramètres de l'interface d'écoute&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 1. Paramètres de l'interface d'écoute&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;interface=wifilan0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;interface=wifilan0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bridge=brlan0&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;driver=nl80211&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;driver=nl80211&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=847&amp;oldid=prev</id>
		<title>Ycharbi : Document initiale. Non fini (je vais me coucher).</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Routeur_mptcp&amp;diff=847&amp;oldid=prev"/>
		<updated>2018-05-17T22:33:47Z</updated>

		<summary type="html">&lt;p&gt;Document initiale. Non fini (je vais me coucher).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Réseaux linux]]&lt;br /&gt;
&lt;br /&gt;
{{chantier}}&lt;br /&gt;
&lt;br /&gt;
Dans cette documentation, nous allons aborder la mise en place d'un routeur d'agrégat de liens Internet sous Linux exploitant les propriétés du [[Multipath TCP]], et ceux, afin d'allier '''résilience d'accès WAN''' et '''addition de bandes passantes'''.&lt;br /&gt;
&lt;br /&gt;
=Principes=&lt;br /&gt;
==Situation de mise en œuvre==&lt;br /&gt;
On part du principe que l'on se trouve dans une chambre d'hôtel avec un accès Wifi Wifirst offrant un débit moisi et une couverture Free 4G qui fonctionne vraiment bien la plupart du temps (mais pas disponible certains jours). En gros c'est la hess (#grosShlag).&lt;br /&gt;
&lt;br /&gt;
==Architecture et matériel==&lt;br /&gt;
METTRE UN SCHÉMA&lt;br /&gt;
&lt;br /&gt;
Dans le principe, il faudra avoir une machine faisant office de routeur centralisateur pour notre accès à Internet ainsi qu'une autre machine hébergé dans un endroit offrant une '''bande passante montante supérieur ou égale à la somme des débits descendants''' de nos accès WAN.&lt;br /&gt;
&lt;br /&gt;
'''Mais pourquoi ça ?'''&lt;br /&gt;
&lt;br /&gt;
Et bien si vous avez bien compris le fonctionnement du protocole ''MPTCP'', vous savez que pour pouvoir initier une session ''TCP'' sur différents liens simultanément, il faut que la machine cliente '''et''' la machine serveur cause toute les deux ''MPTCP''. Seulement voilà, à part les rarissimes sites de tests mis en ligne exploitants le protocole à des fins de débogage, vous n'aurez aucune chance de l'utiliser pour télécharger l'ISO de votre distribution préférée... C'est ici qu'intervient cette fameuse machine distante avec un accès montant de guedin. Nous allons l'utiliser comme proxy ''TCP'' afin de relayer nos requêtes ''MPTCP'' en ''TCP'' standard pour Internet via son super lien ''WAN'' et nous renvoyer par la suite les paquets en ''MPTCP'' de façon totalement transparente.&lt;br /&gt;
&lt;br /&gt;
Pour l'hébergement de cette machine vous pouvez soit demander à un amis ne sachant que faire de tout les ''Mo/s'' de sa fibre optique ''gbps'' (humm les inégalités dans le monde...) ou alors opter pour les services d'une entreprise/association spécialisée. Le seul impératif outre la bande passante sera bien sûr de '''pouvoir installer son propre noyau Linux patché''', ce qui est loin d'être proposé par tous (oublié donc les hébergeur WEB et les services &amp;quot;cloud&amp;quot; à pas cher, c'est mort d'avance). Pour ma part je suis parti sur une ''Dedibox'' de chez ''Online''.&lt;br /&gt;
&lt;br /&gt;
Pour le routeur centralisateur, j'utiliserai un Raspberry Pi 2 car bien adapté à un usage personnel en chambre pour des raisons de coûts/format/bruit (seule la partie sur la compilation change par rapport à un PC x86). Un PC ou une machine virtuelle est parfaitement utilisable pour cette tâche.&lt;br /&gt;
&lt;br /&gt;
Liste des matériels utilisés dans ce document:&lt;br /&gt;
* Un Raspberry Pi 2 (testé également avec le 3)&lt;br /&gt;
* Une clé Wifi TP-LINK TL-WN722N&lt;br /&gt;
* Une Clé 4G HAWEI E3372h&lt;br /&gt;
* Une machine Linux patché et hébergé dans un endroit disposant d'un fort débit montant&lt;br /&gt;
&lt;br /&gt;
Je part du principe que le Raspberry est fonctionnel car sa mise en œuvre n'est pas l'objet de ce document.&lt;br /&gt;
&lt;br /&gt;
=Pratique=&lt;br /&gt;
==Multipath TCP==&lt;br /&gt;
Ce protocole est déjà expliqué dans sa [[Multipath TCP|page dédié]], il ne sera donc pas détaillé ici (le principe étant assez simple à saisir). Il est nécessaire de compiler un noyau Linux patché MPTCP ou de télécharger le binaire déjà fait par mes soins directement dans nos fichiers et de '''l'installer sur les deux machines'''.&lt;br /&gt;
&lt;br /&gt;
==Sur le routeur centralisateur==&lt;br /&gt;
===Installation des paquets===&lt;br /&gt;
 apt install hostapd wpasupplicant bridge-utils shadowsock-libdev&lt;br /&gt;
Détails:&lt;br /&gt;
* '''hostapd''': Gestion du point d'accès Wifi pour le ''LAN''&lt;br /&gt;
* '''wpasupplicant''': Gestion de la connexion Wifi pour le ''WAN'' (installé par défaut dans Raspbian)&lt;br /&gt;
* '''bridge-utils''': Gestion du pont réseau pour englober le réseau filaire et Wifi LAN dans le même domaine de diffusion&lt;br /&gt;
* '''shadowsock-libdev''': Gestion du proxy TCP&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau===&lt;br /&gt;
====Activation du routage====&lt;br /&gt;
Il faut dé-commenter &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;net.ipv4.ip_forward=1&amp;lt;/source&amp;gt; dans &amp;lt;source lang=&amp;quot;bash&amp;quot; inline&amp;gt;/etc/sysctl.conf&amp;lt;/source&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Renommage des interfaces====&lt;br /&gt;
Afin de ne pas avoir de surprises dans le nom des interfaces réseaux au moment de leur initialisation et pour mieux s'y retrouver. Je recommande de leur attribuer un nom en fonction de leur adresse ''MAC''.&lt;br /&gt;
&lt;br /&gt;
'''Nommage de l'interface ''LAN'' Ethernet'''&lt;br /&gt;
 vim /etc/systemd/network/10-ethlan0.link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
MACAddress=b8:27:eb:xx:xx:xx&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
Name=ethlan0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nommage de l'interface ''LAN'' Wifi'''&lt;br /&gt;
 vim /etc/systemd/network/10-wifilan0.link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
MACAddress=c0:4a:00:xx:xx:xx&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
Name=wifilan0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nommage de l'interface ''WAN'' 4G'''&lt;br /&gt;
 vim /etc/systemd/network/10-4Gwan0.link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
MACAddress=0c:5b:8f:xx:xx:xx&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
Name=4Gwan0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nommage de l'interface ''WAN'' Wifirst'''&lt;br /&gt;
 vim /etc/systemd/network/10-wifirst0.link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
MACAddress=c0:4a:00:xx:xx:xx&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
Name=wifirst0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les modifications prendront effets au prochain redémarrage.&lt;br /&gt;
&lt;br /&gt;
====Configuration des interfaces====&lt;br /&gt;
'''Configuration principale'''&lt;br /&gt;
 vim /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Montage automatique de l'interface de lien local et du pont&lt;br /&gt;
auto lo brlan0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Configuration du lien filaire LAN&lt;br /&gt;
allow-hotplug ethlan0&lt;br /&gt;
iface ethlan0 inet manual&lt;br /&gt;
&lt;br /&gt;
# Configuration du lien Wifi LAN&lt;br /&gt;
allow-hotplug wifilan0&lt;br /&gt;
iface wifilan0 inet manual&lt;br /&gt;
&lt;br /&gt;
# Configuration du pont unifiant les interfaces LAN&lt;br /&gt;
iface brlan0 inet static&lt;br /&gt;
	address 172.16.1.254/24&lt;br /&gt;
	bridge_ports ethlan0 wifilan0&lt;br /&gt;
	up systemctl restart dnsmasq.service&lt;br /&gt;
&lt;br /&gt;
# Configuration du lien 4G WAN&lt;br /&gt;
allow-hotplug 4Gwan0&lt;br /&gt;
iface 4Gwan0 inet dhcp&lt;br /&gt;
	up /root/init/pbr-4g.sh&lt;br /&gt;
	down /root/init/pbr-dwn.sh&lt;br /&gt;
&lt;br /&gt;
# Configuration du lien Wifirst WAN&lt;br /&gt;
allow-hotplug wifirst0&lt;br /&gt;
iface wifirst0 inet dhcp&lt;br /&gt;
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf&lt;br /&gt;
	up /root/init/pbr-wifirst.sh&lt;br /&gt;
	down /root/init/pbr-dwn.sh&lt;br /&gt;
&lt;br /&gt;
# Configuration du lien de partage de connexion mobile&lt;br /&gt;
allow-hotplug usb0&lt;br /&gt;
iface usb0 inet dhcp&lt;br /&gt;
	up /root/init/pbr-usb.sh&lt;br /&gt;
	down /root/init/pbr-dwn.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme vous pouvez le voir, j'ai ajouté une interface ''usb0'' qui correspond à l'interface proposé par un téléphone ''Android''. Avec ce paramètre, le branchement d'un tel appareil en mode ''partage de connexion USB'' pourra également servir au Multipath TCP. Elle n'a pas fait l'objet d'une modification de nom pour la bonne et simple raison qu'avec l'obsolécence programmée (de merde, il faut le dire), on est tout le temps en train de changer de téléphone et que donc on passerai notre temps à changer l'adresse ''MAC'' de cette foutue interface (de plus, un pote pourrai faire partager sa connexion aussi de temps en temps).&lt;br /&gt;
&lt;br /&gt;
{{astuce|Je recommande '''très fortement''' de [[Systemd#Temps_d.27attente|réduire le temps de démarrage du service réseau]] de Systemd car comme à son habitude, cette pourriture nous fait poireauter 5 minutes à l'allumage de la machine (mais qui code cette merde ?!).}}&lt;br /&gt;
&lt;br /&gt;
'''Configuration de la connexion au point d'accès Wifirst'''&lt;br /&gt;
 vim /etc/wpa_supplicant/wpa_supplicant.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
country=FR&lt;br /&gt;
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev&lt;br /&gt;
update_config=1&lt;br /&gt;
&lt;br /&gt;
ap_scan=1&lt;br /&gt;
&lt;br /&gt;
network={&lt;br /&gt;
    ssid=&amp;quot;Wifirst BA 105&amp;quot;&lt;br /&gt;
    key_mgmt=NONE&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{info|Pour une connexion avec sécurité ''WPA'', référez-vous à la documentation sur le [[Hotspot wifi]].}}&lt;br /&gt;
&lt;br /&gt;
'''Connexion au portail captif Wifirst'''&lt;br /&gt;
Plus loin dans ce document, je fait appel au script ''wifirst_autoconnect''. Cette étape est expliqué [[Hotspot wifirst#Authentification_Wifirst|ici]]. Je le rappellerai plus loin.&lt;br /&gt;
&lt;br /&gt;
====Création du point d'accès Wifi LAN====&lt;br /&gt;
'''Configuration du serveur DHCP'''&lt;br /&gt;
 vim /etc/dnsmasq.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Partie commune&lt;br /&gt;
domain-needed&lt;br /&gt;
expand-hosts&lt;br /&gt;
bogus-priv&lt;br /&gt;
interface=brlan0&lt;br /&gt;
&lt;br /&gt;
# Partie DHCP&lt;br /&gt;
dhcp-range=brlan0,172.16.1.1,172.16.1.250,255.255.255.0,12h&lt;br /&gt;
&lt;br /&gt;
# Partie cache DNS&lt;br /&gt;
cache-size=256&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuration du point d'accès Wifi LAN'''&lt;br /&gt;
 vim /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# 1. Paramètres de l'interface d'écoute&lt;br /&gt;
interface=wifilan0&lt;br /&gt;
driver=nl80211&lt;br /&gt;
&lt;br /&gt;
# 2. Paramètres du démon hostapd&lt;br /&gt;
ctrl_interface=/var/run/hostapd&lt;br /&gt;
ctrl_interface_group=0&lt;br /&gt;
&lt;br /&gt;
# 3. Configuration du réseau Wifi&lt;br /&gt;
ssid=LeNomDeVotreRZOWifi&lt;br /&gt;
channel=6&lt;br /&gt;
hw_mode=g&lt;br /&gt;
ieee80211n=1&lt;br /&gt;
&lt;br /&gt;
# 4. Sécurité du réseau Wifi&lt;br /&gt;
wpa=2&lt;br /&gt;
wpa_passphrase=VotreMotDePasse&lt;br /&gt;
wpa_key_mgmt=WPA-PSK&lt;br /&gt;
wpa_pairwise=CCMP&lt;br /&gt;
rsn_pairwise=CCMP&lt;br /&gt;
&lt;br /&gt;
# 5. Logs&lt;br /&gt;
logger_syslog=-1&lt;br /&gt;
logger_syslog_level=4&lt;br /&gt;
logger_stdout=-1&lt;br /&gt;
logger_stdout_level=2&lt;br /&gt;
&lt;br /&gt;
# 6. Autres paramètres&lt;br /&gt;
beacon_int=100&lt;br /&gt;
auth_algs=3&lt;br /&gt;
wmm_enabled=1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Test de bon fonctionnement'''&lt;br /&gt;
 hostapd -dd /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
'''Lancement au démarrage du système'''&lt;br /&gt;
 vim /etc/default/hostapd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
DAEMON_CONF=&amp;quot;/etc/hostapd/hostapd.conf&amp;quot;&lt;br /&gt;
RUN_DAEMON=yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Création des scripts de routage====&lt;br /&gt;
Chaque interface ''WAN'' doit, au moment de son branchement, créer la table de [[routage par la source]] contenant la route par défaut vers sa propre passerelle ''WAN''.&lt;br /&gt;
&lt;br /&gt;
'''Création du répertoire d'accueil des scripts'''&lt;br /&gt;
 mkdir /root/init/&lt;br /&gt;
&lt;br /&gt;
'''Création du script de montage pour ''usb0'''''&lt;br /&gt;
 vim /root/init/pbr-usb.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Création des règles de routage&lt;br /&gt;
ip rule add from 192.168.42.0/24 table 1&lt;br /&gt;
# Ajout des routes directement connectés à la table&lt;br /&gt;
ip route add 192.168.42.0/24 dev usb0 scope link table 1&lt;br /&gt;
# Ajout d'une route par défaut à la table&lt;br /&gt;
ip route add default via 192.168.42.129 dev usb0 table 1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Création du script de montage pour ''4Gwan0'''''&lt;br /&gt;
 vim /root/init/pbr-4g.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Création des règles de routage&lt;br /&gt;
ip rule add from 192.168.8.0/24 table 2&lt;br /&gt;
# Ajout des routes directement connectés à la table&lt;br /&gt;
ip route add 192.168.8.0/24 dev 4Gwan0 scope link table 2&lt;br /&gt;
# Ajout d'une route par défaut à la table&lt;br /&gt;
ip route add default via 192.168.8.1 dev 4Gwan0 table 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Création du script de montage ''wifirst0'''''&lt;br /&gt;
 vim /root/init/pbr-wifirst.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Création des règles de routage&lt;br /&gt;
ip rule add from 10.188.0.0/16 table 3&lt;br /&gt;
# Ajout des routes directement connectés à la table&lt;br /&gt;
ip route add 10.188.0.0/16 dev wifirst0 scope link table 3&lt;br /&gt;
# Ajout d'une route par défaut à la table&lt;br /&gt;
ip route add default via 10.188.0.1 dev wifirst0 table 3&lt;br /&gt;
&lt;br /&gt;
# Authentification sur le réseau wifirst&lt;br /&gt;
wifirst_autoconnect&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous noterez l'appel à un script ''wifirst_autoconnect''. Il s'agit de '''l'automatisation de la connexion au portail captif Wifirst''' comme expliqué [[Hotspot wifirst#Authentification_Wifirst|ici]].&lt;br /&gt;
&lt;br /&gt;
Lors du débranchement d'une des interfaces, on va exécuter un script commun qui aura pour effet de changer la route par défaut primaire WAN (celle qui sert au routeur concentrateur) de sorte à créer une résilience sur le chemin sortant.&lt;br /&gt;
&lt;br /&gt;
'''Petite explication.'''&lt;br /&gt;
&lt;br /&gt;
Malgré l'utilisation du routage par la source, notre '''routeur concentrateur utilisera toujours la table de routage standard pour initier la première connexion TCP''' (allez savoir pourquoi). Cette contrainte a pour effet, en cas d'extinction de l'interface utilisée pour la route par défaut principale (genre vous débranchez votre clé 4G pour vadrouiller et vous niquez le téléchargement programmé pour plus tard sur votre PC relié au routeur), de couper totalement les nouvelles communications qui pourraient s'effectuées via les autres interfaces (complètement con). Pour palier ce problème, nous allons créer un script commun à toute les interfaces sortantes qui se chargera d'injecter une route par défaut via chacune d'elle. Ainsi le système, ne pouvant en accepter qu'une et ne pouvant appliquer de routes via une interface inexistante, se verra obliger d'appliquer celle-ci à la première interface allumée (et donc supposément fonctionnelle). C'est un peu bourrin mais ça fonctionne et étonnamment, je n'ai strictement vu personne faire ça sur Internet alors que c'est bel et bien la seule méthode vraiment fonctionnelle (bien qu'elle ne gère pas le cas où un lien est monté mais que la connectivité réseaux ne fonctionne pas).&lt;br /&gt;
&lt;br /&gt;
'''Création du script d'extinction'''&lt;br /&gt;
 vim /root/init/pbr-dwn.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
ip r a default via 192.168.8.1 dev 4Gwan0&lt;br /&gt;
ip r a default via 192.168.42.129 dev usb0&lt;br /&gt;
ip r a default via 10.188.0.1 dev wifirst0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{info|Il n'y a pas besoin de purger les tables car le noyau s'occupe lui même de supprimer celle qui ne correspondent à aucune adresse active configurée sur une des interfaces réseaux (je rappel qu'une interface éteinte n'applique pas sa configuration IP au système).}}&lt;br /&gt;
&lt;br /&gt;
'''Attribution du droit d'exécution aux scripts'''&lt;br /&gt;
 chmod +x /root/init/*.sh&lt;br /&gt;
&lt;br /&gt;
===Création du service Systemd===&lt;br /&gt;
Il reste quelques paramètres à appliquer à notre routeur. Afin d'automatiser notre système à l'allumage, nous allons créer un service [[Systemd#Cr.C3.A9ation_d.27un_script_de_d.C3.A9marrage|Systemd]] qui se chargera de configurer le pare feux, le NAT et l'exécution du client proxy.&lt;br /&gt;
&lt;br /&gt;
'''Création du service'''&lt;br /&gt;
 vim /etc/systemd/system/mptcp-proxy.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/bin/mptcp-proxy.sh&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''et du script associé'''&lt;br /&gt;
 vim /usr/bin/mptcp-proxy.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Purge d'Iptables&lt;br /&gt;
iptables -F&lt;br /&gt;
iptables -F -t nat&lt;br /&gt;
iptables -t nat -X SSREDIR&lt;br /&gt;
&lt;br /&gt;
# Création de la table destinée au proxy&lt;br /&gt;
iptables -t nat -N SSREDIR&lt;br /&gt;
# Redirection de toute les requêtes TCP dans cette table&lt;br /&gt;
iptables -t nat -A PREROUTING -p tcp -j SSREDIR&lt;br /&gt;
# Toute les requêtes émanant du réseau local et de lien local sont redirigées vers le port 1080 TCP&lt;br /&gt;
iptables -t nat -A SSREDIR -d 127.0.0.0/8 -j RETURN &lt;br /&gt;
iptables -t nat -A SSREDIR -d 172.16.1.0/24 -j RETURN &lt;br /&gt;
iptables -t nat -A SSREDIR -p tcp -j REDIRECT --to-ports 1080&lt;br /&gt;
# Activation du NAT pour permettre à l'ICMP et à l'UDP de communiquer&lt;br /&gt;
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
# Lancement du proxy client&lt;br /&gt;
ss-redir -c /etc/ss_redir.json&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Attribution du droit d'exécution'''&lt;br /&gt;
 chmod +x /usr/bin/mptcp-proxy.sh&lt;br /&gt;
&lt;br /&gt;
'''Chargement du service'''&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
'''Activation au démarrage'''&lt;br /&gt;
 systemctl enable mptcp-proxy.service&lt;br /&gt;
&lt;br /&gt;
===Service proxy client===&lt;br /&gt;
 vim /etc/ss_redir.json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;server&amp;quot; : [&amp;quot;ADRESSE_DE_VOTRE_SERVEUR_PROXY&amp;quot;],&lt;br /&gt;
    &amp;quot;server_port&amp;quot; : 8388,&lt;br /&gt;
    &amp;quot;local_address&amp;quot; : &amp;quot;0.0.0.0&amp;quot;,&lt;br /&gt;
    &amp;quot;local_port&amp;quot; : 1080,&lt;br /&gt;
    &amp;quot;password&amp;quot; : &amp;quot;toto&amp;quot;,&lt;br /&gt;
    &amp;quot;nameserver&amp;quot;: &amp;quot;80.67.169.12&amp;quot;,&lt;br /&gt;
    &amp;quot;timeout&amp;quot; : 300,&lt;br /&gt;
    &amp;quot;method&amp;quot; : &amp;quot;aes-128-cfb&amp;quot;,&lt;br /&gt;
    &amp;quot;fast_open&amp;quot; : false,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Désactivation du service par défaut'''&lt;br /&gt;
&lt;br /&gt;
''Comme nous avons créé notre propre service, nous désactivons celui livré avec le paquet. De cette manière, seule la partie cliente sera exécuté.''&lt;br /&gt;
 systemctl disable shadowsocks-libev.service&lt;br /&gt;
&lt;br /&gt;
===Optimisations TCP client===&lt;br /&gt;
Créez le fichier suivant:&lt;br /&gt;
 vim /etc/sysctl.d/local.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# max open files&lt;br /&gt;
fs.file-max = 51200&lt;br /&gt;
# max read buffer&lt;br /&gt;
net.core.rmem_max = 67108864&lt;br /&gt;
# max write buffer&lt;br /&gt;
net.core.wmem_max = 67108864&lt;br /&gt;
# default read buffer&lt;br /&gt;
net.core.rmem_default = 65536&lt;br /&gt;
# default write buffer&lt;br /&gt;
net.core.wmem_default = 65536&lt;br /&gt;
# max processor input queue&lt;br /&gt;
net.core.netdev_max_backlog = 4096&lt;br /&gt;
# max backlog&lt;br /&gt;
net.core.somaxconn = 4096&lt;br /&gt;
&lt;br /&gt;
# resist SYN flood attacks&lt;br /&gt;
net.ipv4.tcp_syncookies = 1&lt;br /&gt;
# reuse timewait sockets when safe&lt;br /&gt;
net.ipv4.tcp_tw_reuse = 1&lt;br /&gt;
# turn off fast timewait sockets recycling&lt;br /&gt;
net.ipv4.tcp_tw_recycle = 0&lt;br /&gt;
# short FIN timeout&lt;br /&gt;
net.ipv4.tcp_fin_timeout = 30&lt;br /&gt;
# short keepalive time&lt;br /&gt;
net.ipv4.tcp_keepalive_time = 1200&lt;br /&gt;
# outbound port range&lt;br /&gt;
net.ipv4.ip_local_port_range = 10000 65000&lt;br /&gt;
# max SYN backlog&lt;br /&gt;
net.ipv4.tcp_max_syn_backlog = 4096&lt;br /&gt;
# max timewait sockets held by system simultaneously&lt;br /&gt;
net.ipv4.tcp_max_tw_buckets = 5000&lt;br /&gt;
# turn on TCP Fast Open on both client and server side&lt;br /&gt;
net.ipv4.tcp_fastopen = 3&lt;br /&gt;
# TCP receive buffer&lt;br /&gt;
net.ipv4.tcp_rmem = 4096 87380 67108864&lt;br /&gt;
# TCP write buffer&lt;br /&gt;
net.ipv4.tcp_wmem = 4096 65536 67108864&lt;br /&gt;
# turn on path MTU discovery&lt;br /&gt;
net.ipv4.tcp_mtu_probing = 1&lt;br /&gt;
&lt;br /&gt;
# for high-latency network&lt;br /&gt;
#net.ipv4.tcp_congestion_control = hybla&lt;br /&gt;
&lt;br /&gt;
# for low-latency network, use cubic instead&lt;br /&gt;
# net.ipv4.tcp_congestion_control = cubic&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{attention|Redémarrez votre routeur pour appliquer toute les configurations.}}&lt;br /&gt;
&lt;br /&gt;
==Sur le serveur proxy==&lt;br /&gt;
===Création de la configuration du proxy===&lt;br /&gt;
 vim /etc/ss_server.json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;server&amp;quot; : &amp;quot;0.0.0.0&amp;quot;,&lt;br /&gt;
&amp;quot;server_port&amp;quot; : 8388,&lt;br /&gt;
&amp;quot;local_address&amp;quot; : &amp;quot;0.0.0.0&amp;quot;,&lt;br /&gt;
&amp;quot;local_port&amp;quot; : 1080,&lt;br /&gt;
&amp;quot;password&amp;quot; : &amp;quot;toto&amp;quot;,&lt;br /&gt;
&amp;quot;nameserver&amp;quot; : &amp;quot;80.67.169.12&amp;quot;,&lt;br /&gt;
&amp;quot;timeout&amp;quot; : 300,&lt;br /&gt;
&amp;quot;method&amp;quot; : &amp;quot;aes-128-cfb&amp;quot;,&lt;br /&gt;
&amp;quot;fast_open&amp;quot; : false,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modification des paramètres d'exécution du proxy===&lt;br /&gt;
 vim /etc/default/shadowsocks-libev&lt;br /&gt;
&lt;br /&gt;
''Avoir les paramètres suivant définit comme tel:''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
START=yes&lt;br /&gt;
CONFFILE=&amp;quot;/etc/ss_server.json&amp;quot;&lt;br /&gt;
DAEMON_ARGS=&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optimisations TCP serveur===&lt;br /&gt;
Comme pour le client, créez le fichier suivant:&lt;br /&gt;
 vim /etc/sysctl.d/local.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# max open files&lt;br /&gt;
fs.file-max = 51200&lt;br /&gt;
# max read buffer&lt;br /&gt;
net.core.rmem_max = 67108864&lt;br /&gt;
# max write buffer&lt;br /&gt;
net.core.wmem_max = 67108864&lt;br /&gt;
# default read buffer&lt;br /&gt;
net.core.rmem_default = 65536&lt;br /&gt;
# default write buffer&lt;br /&gt;
net.core.wmem_default = 65536&lt;br /&gt;
# max processor input queue&lt;br /&gt;
net.core.netdev_max_backlog = 4096&lt;br /&gt;
# max backlog&lt;br /&gt;
net.core.somaxconn = 4096&lt;br /&gt;
&lt;br /&gt;
# resist SYN flood attacks&lt;br /&gt;
net.ipv4.tcp_syncookies = 1&lt;br /&gt;
# reuse timewait sockets when safe&lt;br /&gt;
net.ipv4.tcp_tw_reuse = 1&lt;br /&gt;
# turn off fast timewait sockets recycling&lt;br /&gt;
net.ipv4.tcp_tw_recycle = 0&lt;br /&gt;
# short FIN timeout&lt;br /&gt;
net.ipv4.tcp_fin_timeout = 30&lt;br /&gt;
# short keepalive time&lt;br /&gt;
net.ipv4.tcp_keepalive_time = 1200&lt;br /&gt;
# outbound port range&lt;br /&gt;
net.ipv4.ip_local_port_range = 10000 65000&lt;br /&gt;
# max SYN backlog&lt;br /&gt;
net.ipv4.tcp_max_syn_backlog = 4096&lt;br /&gt;
# max timewait sockets held by system simultaneously&lt;br /&gt;
net.ipv4.tcp_max_tw_buckets = 5000&lt;br /&gt;
# turn on TCP Fast Open on both client and server side&lt;br /&gt;
net.ipv4.tcp_fastopen = 3&lt;br /&gt;
# TCP receive buffer&lt;br /&gt;
net.ipv4.tcp_rmem = 4096 87380 67108864&lt;br /&gt;
# TCP write buffer&lt;br /&gt;
net.ipv4.tcp_wmem = 4096 65536 67108864&lt;br /&gt;
# turn on path MTU discovery&lt;br /&gt;
net.ipv4.tcp_mtu_probing = 1&lt;br /&gt;
&lt;br /&gt;
# for high-latency network&lt;br /&gt;
net.ipv4.tcp_congestion_control = hybla&lt;br /&gt;
&lt;br /&gt;
# for low-latency network, use cubic instead&lt;br /&gt;
# net.ipv4.tcp_congestion_control = cubic&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>