In der modules.conf
habe ich folgende Zeile eingetragen Datei unter /etc/modules-load.d/modules.conf
Pfad:
alias char-major-10-200 tun
Und dann habe ich den folgenden Befehl an der Eingabeaufforderung von Debian 9.5 Linux eingegeben:
$ depmod -a
Aber ich habe die folgenden Fehlermeldungen erhalten:
"depmod: ERROR: could not open directory /lib/modules/4.4.0-17134-Microsoft:
No such file or directory"
und
"depmod: FATAL: could not search modules: No such file or directory"
Der oben angegebene „Alias“-Code und der darauf folgende Befehl wurden unter folgendem Link gefunden:„http://bochs.sourceforge.net/doc/docbook/user/config-tuntap.html.“
Ich versuche, miredo_1.2.3-1.1_amd64 (ein Teredo-Server, wenn ich es richtig verstehe) auszuführen, um eine reguläre Tunnelverbindung unter meinem Linux-Betriebssystem Debian Version 9.5 herzustellen. Die „README“-Datei von miredo gibt an, dass „CONFIG_TUN“ und „CONFIG_IPV6“ erforderlich sind.
Irgendwelche Vorschläge?
Akzeptierte Antwort:
Von Ihrem /lib/modules
Nachricht, die Sie uns übermitteln, ist es offensichtlich, dass Sie Debian GNU/Linux für WSL (für Windows 10) verwenden.
Leider arbeitet der WSL-Kernel/Windows HAL mit einer anderen Abstraktionsschicht/anders unter Windows und unterstützt einige esoterischere Funktionalitäten nicht, die wir in einer „normalen“ Linux-Kernel-Debian-Implementierung für selbstverständlich halten.
Wenn Sie eine solche Software ausführen möchten, die mit fortgeschritteneren IP-Socket-Funktionalitäten spielt, müssen Sie Debian in einer VM ausführen und nicht in Debian WSL.
Für Benutzer von Windows 10 Pro ist die Verwendung von Hyper V besser geeignet. In Ihrem Fall können Sie mit VirtualBox (kostenlos) oder VMWare Ihren Teredo-Server verwenden.
depmod -a
funktioniert auch nicht, da WSL weder einen echten Linux-Kernel verwendet noch Linux-Kernel-Module laden kann.
Kann ich ALLE Linux-Apps in WSL ausführen?
Nein! WSL ist ein Tool, das darauf abzielt, Benutzern, die es benötigen, die Ausführung von Bash
und zentralen Linux-Befehlszeilentools unter Windows zu ermöglichen.
Von 18 Dingen, die Sie über die Verwendung von Linux-Tools in Windows 10 wissen sollten
WSL ist eine Linux-Distribution, kein Linux-Kernel
WSL installiert eine Linux-Distribution auf Ihrem PC. Die Linux-Binärdateien führen ihre
Systemaufrufe wie gewöhnlich durch, aber Turner erklärt, dass diese Systemaufrufe stattdessen einfach zum
Windows-Kernel gehen.
Von Microsoft WSL Github https://github.com/Microsoft/WSL/issues/2340
Wird tun also irgendwann implementiert?
Vorerst unwahrscheinlich…. Angesichts des Designs von WSL gibt es für WSL
keine Möglichkeit, native Linux-Kernel-Module zu laden. Der ABI-zugewandte Userspace unter Linux
wird zwischen Linux-Kerneln ziemlich stabil gehalten, aber der Kernel-zugewandte ABI
(für Treiber und Module) ändert und verschiebt sich ständig.
und wieder MS Github WSL-Projekt https://github.com/Microsoft/WSL/issues/874
Sieht so aus, als würden Sie Support für Tun/Tap-Geräte anfordern. Ich glaube nicht, dass
es umgesetzt wird.
Dies erfordert besondere Kernel-seitige Aufmerksamkeit, es geht nicht nur darum,
die Userspace-Tools zum Laufen zu bringen. Der Grund, warum
RTNETELINK einen „ungültiges Argument“-Fehler ausgibt, ist, dass die Kernel-Seite
des Sockets gerade nicht existiert.
Sie können im Userland den ganzen Tag Binärdateien kompilieren, verwenden oder ausführen, wenn der Linux-Kernel und die vollständige ABI/Unterstützung nicht vorhanden sind, funktionieren sie nicht, während das MS-Team nicht alle Funktionalitäten emuliert.
Verwandt:Die Umleitung zu einem globbed-Dateinamen schlägt fehl?
Nur eine kurze Anmerkung:WSL führt nicht einmal iptables-Firewallregeln aus oder ist sogar in der Lage, das script
auszuführen Befehl.
Ich werde es noch einmal sagen, Sie haben dort nicht Ihren regulären Linux-Kernel, Sie haben einen Emulations-„Kernel“, der von Microsoft-Ingenieuren geschrieben wurde und eine Teilmenge der Linux-Kernel-ABI/Aufrufe an die Windows-HAL übersetzt/emuliert. Eine Teilmenge, die gut genug ist, um einen großen Prozentsatz von Skripten und Benutzerland-Binärdateien auszuführen, die nicht versuchen, typische erweiterte Serverdienste zu implementieren.