
Ich möchte die Haltbarkeit eines neuen VPN-Tunnelprotokolls namens wireGuard in einer instabilen Netzwerkumgebung auf sowohl macOS- als auch Linux-Plattformen beobachten, wenn ein großer Datenblock von einem Knoten zu einem anderen übertragen wird.
Beachten Sie, dass wireGuard unter UDP funktioniert, und ich wollte ein Gefühl dafür bekommen, wie es bis zu einem gewissen Grad mit Paketverlusten umgeht.
Gibt es eine Methode, mit der die Netzwerkschnittstelle so eingestellt werden kann, dass während dieser Remote-Kopiersitzung ein bestimmter Prozentsatz der Pakete gelöscht wird?
Antwort1
Für Linux mit iptables
etwa:
iptables -A OUTPUT -m statistic --mode random --probability 0.02 -j DROP
oder
iptables -A INPUT -m statistic --mode random --probability 0.02 -j DROP
Anmerkungen:
Die obigen Befehle wirken sich auf alle Pakete aus, die von der
OUTPUT
(bzw.INPUT
) Kette der Tabelle verarbeitet werden. Sie werden wahrscheinlich (Protokoll) und z. B. (Zielport)filter
verwenden wollen, um nur bestimmte Verbindungen anzusprechen:-p
--dport
iptables -A OUTPUT -p udp --dport 1234 -m …
Denken Sie beim Testen verschiedener Varianten daran, nicht benötigte Regeln zu entfernen, anstatt sie zu stapeln. Um eine Regel zu entfernen, rufen Sie denselben
iptables …
Befehl auf, aber mit-D
anstelle von-A
.
Ich weiß nicht nftables
genau genug Bescheid. Ich habe Folgendes gefunden:Wie werden Pakete basierend auf einer Wahrscheinlichkeit mit gelöscht nftables
?
Ich kenne macOS nichtüberhaupt. Bei meinen Recherchen bin ich pfctl
auf Folgendes dnctl
gestoßen:So lassen Sie Pakete nach dem Zufallsprinzip fallen. Ich weiß absolut nicht, ob das dnctl
in der Antwort verwendete Wort heutzutage auch in macOS verwendet werden kann. Tut mir leid.
Verschieben des "macOS-Teils" in eine separate Frage (die meines Erachtens gestellt werden kann aufapple.stackexchange.com), wobei es eine gute Strategie sein kann, hier nur den „Linux-Teil“ zu belassen.