Zadal jsem následující řádek do modules.conf
soubor pod /etc/modules-load.d/modules.conf
cesta:
alias char-major-10-200 tun
A pak jsem z příkazového řádku Debianu 9.5 Linux napsal následující příkaz:
$ depmod -a
Ale obdržel jsem následující chybové zprávy:
"depmod: ERROR: could not open directory /lib/modules/4.4.0-17134-Microsoft:
No such file or directory"
a
"depmod: FATAL: could not search modules: No such file or directory"
Výše uvedený „alias“ kód a příkaz, který za ním následuje, byly nalezeny na následujícím odkazu:„http://bochs.sourceforge.net/doc/docbook/user/config-tuntap.html.“
Snažím se spustit miredo_1.2.3-1.1_amd64 (server Teredo, pokud tomu správně rozumím), abych navázal běžné tunelové připojení pod mým operačním systémem Linux Debian verze 9.5. Soubor miredo „README“ uvádí, že jsou vyžadovány „CONFIG_TUN“ a „CONFIG_IPV6“.
Nějaké návrhy?
Přijatá odpověď:
Z vašeho /lib/modules
zprávu, kterou nám předložíte, je zřejmé, že používáte Debian GNU/Linux pro WSL (pro Windows 10).
Bohužel jádro WSL/Windows HAL pracuje s jinou abstraktní vrstvou / jinak pod Windows a nebude podporovat některé esoteričtější funkce, které považujeme za dané v „běžné“ implementaci linuxového jádra Debian.
Pokud chcete spouštět takový software, který si hraje s pokročilejšími funkcemi IP socketů, musíte Debian spouštět na virtuálním počítači a ne v Debian WSL.
Pro lidi používající Windows 10 Pro je vhodnější používat Hyper V. Ve vašem případě vám spuštění VirtualBoxu (zdarma) nebo VMWare umožní používat váš server Teredo.
depmod -a
také nefunguje, protože WSL nepoužívá skutečné linuxové jádro ani není schopné načíst moduly linuxového jádra.
Mohu spouštět VŠECHNY aplikace pro Linux ve WSL?
Ne! WSL je nástroj, jehož cílem je umožnit uživatelům, kteří je potřebují, spouštět Bash
a základní nástroje příkazového řádku Linuxu ve Windows.
Z 18 věcí, které byste měli vědět o používání nástrojů Linuxu ve Windows 10
WSL je linuxová distribuce, nikoli linuxové jádro
WSL nainstaluje do vašeho PC distribuci Linuxu. Binární soubory Linuxu provádějí svá
systémová volání jako obvykle, ale Turner vysvětluje, že tato systémová volání prostě jdou do
jádra Windows.
Z Microsoft WSL github https://github.com/Microsoft/WSL/issues/2340
Bude tedy tun v nějaké fázi implementován?
Prozatím nepravděpodobné…. vzhledem k návrhu WSL neexistuje žádný způsob, jak WSL
načíst nativní moduly jádra Linuxu. Uživatelský prostor orientovaný na ABI v Linuxu
je mezi linuxovými jádry udržován poměrně stabilní, ale ABI orientované na jádro
(pro ovladače a moduly) se neustále mění a posouvá.
a znovu projekt MS Github WSL https://github.com/Microsoft/WSL/issues/874
Zdá se, že žádáte o podporu zařízení tun / tap. Nemyslím si, že
bude implementován.To bude vyžadovat zvláštní pozornost na straně jádra, nejde jen o
fungování nástrojů uživatelského prostoru. důvod, proč
RTNETELINK dává chybu ‚neplatný argument‘ je ten, že strana jádra
socketu právě neexistuje.
Můžete kompilovat, používat nebo spouštět binární soubory po celý den v uživatelské zemi, pokud tam není jádro Linuxu a plná podpora ABI, nebudou fungovat, zatímco tým MS nebude emulovat všechny funkce.
Související:Přesměrování na název globbed souboru se nezdaří?
Jen rychlá poznámka:WSL ani nespouští pravidla brány firewall iptables, nebo je dokonce schopen spustit script
příkaz.
Řeknu to znovu, nemáte tam své běžné linuxové jádro, máte emulační „kernel“ napsaný inženýry Microsoftu, překládající/emulující podmnožinu linuxového jádra ABI/volání do Windows HAL. Podmnožina dostatečně dobrá, aby vám umožnila spouštět velké procento skriptů a binárních souborů user-land, které se nepokoušejí implementovat typické pokročilé serverové služby.