Fil indésirable
Fonction : Améliorer la convivialité des mauvais réseaux.
UDP se déguise en TCP : réduit la qualité de service après s'être fait passer pour TCP
Plusieurs serveurs peuvent être configurés, déconnexion, reconnexion et changement de serveur automatiques, aucune connaissance de la couche supérieure : détection du rythme cardiaque, envoi de 5 paquets de battements de cœur par seconde. Si les cinq paquets de battements de cœur sont perdus, passez au serveur suivant. Il peut être complété en 2 secondes.
Correction d'erreur directe FEC en option : 20 paquets originaux plus 10 paquets de correction d'erreur peuvent réduire le taux de perte de paquets à un dix millième.
Codage entrelacé : peut répartir uniformément la perte de paquets concentrée sur une courte période de temps pour empêcher la perte des paquets originaux et des paquets de correction d'erreurs.
Méthode de configuration
Junkwire utilise des périphériques Tun pour la transmission de données, alors assurez-vous d'abord que l'environnement d'exploitation prend en charge les périphériques Tun. Après l'exécution, un périphérique tun appelé faketcp sera créé. L'adresse IP de ce périphérique peut être configurée via le fichier de configuration. Généralement, il peut être écrit sous la forme 10.1.1.1, à condition qu'il n'entre pas en conflit avec votre environnement réseau local. Après l'exécution, un périphérique réseau 10.1.1.2 sera virtualisé.
Configuration du serveur
Tout d’abord, configurez le serveur DNAT pour transmettre les paquets du port correspondant vers junkwire pour traitement.
Activez d'abord le transfert ipv4, ajoutez net.ipv4.ip_forward=1 au fichier /etc/sysctl.conf, puis exécutez sysctl -p pour que cela prenne effet.
Ajouter des règles iptables iptables -t nat -A PREROUTING -i nom de la carte réseau -d IP de la carte réseau -p tcp --dport 17021 (port de connexion client) -j DNAT --to-destination 10.1.1.2:17021
Exemple de configuration Wireguard, à modifier en fonction de la situation réelle
[Interface]
Address = 10.200.201.1/24
ListenPort = 21007
#ListenPort = 12273
PrivateKey = xxx
MTU = 1340
[Peer]
PublicKey = xxx
AllowedIPs = 10.200.201.2/32
PersistentKeepalive = 25
Exemple de fichier de configuration indésirable côté serveur
{
"mode": "server",
"queue":500,
"server": {
"tun": {
"deviceIP": "10.1.1.1",
"port": "17021",
"srcIP": "10.1.1.2"
},
"socket": {
"dstIP": "127.0.0.1",
"dstPort": "21007"
}
},
"fec": {
"enable":false, //是否启用fec
"seg": 20, //几个数据包
"parity": 20, //几个纠错包
"duration":0, //交织编码的时长
"stageTimeout":8, //桶没装满的话最长等多久
"cap":500,
"row":1000
}
}
Démarrez le fichier de configuration junkwire ./junkwire -c
Démarrer wireguard wg-quick up wg0
Configuration des clients
Le client doit permettre l'envoi fluide des données du périphérique virtuel 10.1.1.2, et snat est requis.
iptables -t nat -A POSTROUTING -s 10.1.1.2 -p tcp -o eth0 -j SNAT --vers la source IP de la carte réseau locale
Configuration de routage pour empêcher l'IP d'exportation d'être introduite dans Wireguard
ip route ajouter le serveur ip/32 via la passerelle locale dev eth0
configuration du grillage
[Interface]
Address = 10.200.201.2/24
PrivateKey = yJAu/oI+Oo/Mhswqbm3I/3PWYi+WSxX7JpTQ8IoQqWU=
MTU = 1340
[Peer]
PublicKey = 5/SgVv3hc3f5Fa/XoLo4isBzyrwwATs5sfQv7oWhiTM=
Endpoint = 127.0.0.1:21007
AllowedIPs = 0.0.0.0/1,128.0.0.0/1
PersistentKeepalive = 25
exemple de configuration indésirable
{
"mode": "client",
"queue":500,
"client": {
"tun": {
"deviceIP": "10.1.1.1",
"port": "8978",
"srcIP": "10.1.1.2",
"peers": [
{
"ip":"线路1",
"port":"50018"
},
{
"ip":"线路2",
"port":"17021"
},
{
"ip":"线路3",
"port":"17021"
}
]
},
"socket": {
"listenPort": "21007"
}
},
"fec": {
"enable":false,
"seg": 20,
"parity": 10,
"stageTimeout": 8,
"duration": 0,
"cap": 500,
"row": 1000
}
}
Démarrez le fichier de configuration junkwire ./junkwire -c
Démarrer wireguard wg-quick up wg0