J'ai entré la ligne suivante dans le modules.conf
fichier sous le /etc/modules-load.d/modules.conf
chemin :
alias char-major-10-200 tun
Et puis j'ai tapé la commande suivante à partir de l'invite Linux Debian 9.5 :
$ depmod -a
Mais j'ai reçu les messages d'erreur suivants :
"depmod: ERROR: could not open directory /lib/modules/4.4.0-17134-Microsoft:
No such file or directory"
et
"depmod: FATAL: could not search modules: No such file or directory"
Le code "alias" ci-dessus et la commande qui le suit ont été trouvés sur le lien suivant :"http://bochs.sourceforge.net/doc/docbook/user/config-tuntap.html".
J'essaie d'exécuter miredo_1.2.3-1.1_amd64 (un serveur Teredo, si je comprends bien) pour établir une connexion par tunnel régulière sous mon système d'exploitation Linux Debian version 9.5. Le fichier miredo "README" indique que "CONFIG_TUN" et "CONFIG_IPV6" sont requis.
Des suggestions ?
Réponse acceptée :
Depuis votre /lib/modules
message que vous nous présentez, il est évident que vous utilisez Debian GNU/Linux pour WSL (pour Windows 10).
Malheureusement, le noyau WSL/Windows HAL fonctionne avec une couche d'abstraction différente / différemment sous Windows, et ne prendra pas en charge certaines fonctionnalités plus ésotériques que nous tenons pour acquises dans une implémentation Debian du noyau Linux "normale".
Si vous souhaitez exécuter un tel logiciel qui joue avec des fonctionnalités de sockets IP plus avancées, vous devez exécuter Debian dans une machine virtuelle, et non dans Debian WSL.
Pour les personnes utilisant Windows 10 Pro, ils sont mieux adaptés en utilisant Hyper V. Dans votre cas, exécuter VirtualBox (gratuit) ou VMWare vous permettra d'utiliser votre serveur Teredo.
depmod -a
ne fonctionne pas non plus car WSL n'utilise pas un vrai noyau Linux et n'est pas capable de charger des modules du noyau Linux.
Puis-je exécuter TOUTES les applications Linux dans WSL ?
Non! WSL est un outil destiné à permettre aux utilisateurs qui en ont besoin d'exécuter Bash
et les principaux outils de ligne de commande Linux sous Windows.
À partir de 18 choses que vous devez savoir sur l'utilisation des outils Linux dans Windows 10
WSL est une distribution Linux, pas un noyau Linux
WSL installe une distribution Linux sur votre PC. Les binaires Linux effectuent leurs
appels système comme d'habitude mais, explique Turner, ces appels système vont simplement au
noyau Windows à la place.
À partir de Microsoft WSL github https://github.com/Microsoft/WSL/issues/2340
Alors, tun va-t-il être mis en œuvre à n'importe quel stade ?
Peu probable pour l'instant…. étant donné la conception de WSL, il n'y a aucun moyen pour WSL
de charger des modules de noyau Linux natifs. L'espace utilisateur faisant face à l'ABI sur Linux
est assez stable entre les noyaux Linux, mais l'ABI faisant face au noyau
(pour les pilotes et les modules) change et change constamment.
et encore projet MS Github WSL https://github.com/Microsoft/WSL/issues/874
Il semble que vous demandiez l'assistance d'un appareil tun/tap. Je ne pense pas
qu'il sera mis en œuvre.Cela va nécessiter une attention particulière du côté du noyau, il ne s'agit pas seulement de faire fonctionner les outils de l'espace utilisateur. la raison pour laquelle
RTNETELINK donne une erreur "argument invalide" est que le côté noyau
du socket n'existe pas actuellement.
Vous pouvez compiler, utiliser ou exécuter des binaires toute la journée dans le userland, si le noyau Linux et l'ABI/support complet ne sont pas là, ils ne fonctionneront pas tant que l'équipe MS n'émulera pas toutes les fonctionnalités.
En relation :La redirection vers un nom de fichier global échoue ?
Juste une note rapide :WSL n'exécute même pas les règles de pare-feu iptables, ou est même capable d'exécuter le script
commande.
Je le répète, vous n'avez pas votre noyau Linux habituel, vous avez un "noyau" d'émulation écrit par des ingénieurs Microsoft, traduisant/émulant un sous-ensemble de l'ABI/des appels du noyau Linux vers la HAL Windows. Un sous-ensemble suffisamment bon pour vous permettre d'exécuter un grand pourcentage de scripts et de binaires utilisateur qui n'essaient pas d'implémenter des services de serveur avancés typiques.