Tentativa de executar um túnel regular no Debian versão 9.5 Linux

5

Eu inseri a seguinte linha no arquivo modules.conf sob o caminho /etc/modules-load.d/modules.conf :

alias char-major-10-200 tun

E então eu digitei o seguinte comando no prompt do Debian 9.5 Linux:

$ depmod -a

Mas recebi as seguintes mensagens de erro:

"depmod: ERROR: could not open directory /lib/modules/4.4.0-17134-Microsoft: 
 No such file or directory"

e

"depmod: FATAL: could not search modules: No such file or directory"

O código "alias" fornecido acima e o comando que o segue, foram encontrados no seguinte link: " link ."

Estou tentando executar o miredo_1.2.3-1.1_amd64 (um servidor Teredo, se bem entendi) para estabelecer uma conexão de túnel regular no sistema operacional Linux da minha versão Debian 9.5. O arquivo miredo "README" informa que "CONFIG_TUN" e "CONFIG_IPV6" são obrigatórios.

Alguma sugestão?

    
por Caleb 20.07.2018 / 15:49

1 resposta

4

Da sua mensagem /lib/modules que você nos apresenta, é óbvio que você está usando o Debian GNU / Linux para WSL (para Windows 10).

Infelizmente, o kernel WSL / Windows HAL opera sob uma camada de abstração diferente / diferente no Windows, e não suporta algumas funcionalidades mais esotéricas que tomamos em uma implementação Debian "regular" do kernel Linux.

Se você quer rodar um software que roda com funcionalidades mais avançadas de sockets IP, você tem que rodar o Debian em uma VM, e não no Debian WSL.

Para pessoas que usam o Windows 10 Pro, elas são mais adequadas usando o Hyper V. Para o seu caso, executar o VirtualBox (gratuito) ou o VMWare permitirá que você use seu servidor Teredo.

depmod -a também não funciona porque o WSL não está usando um verdadeiro kernel Linux, nem é capaz de carregar módulos do kernel Linux.

Veja também o FAQ da WSL

Can I run ALL Linux apps in WSL?

No! WSL is a tool aimed at enabling users who need them to run Bash and core Linux command-line tools on Windows.

De 18 coisas que você deve saber sobre o uso de ferramentas do Linux no Windows 10

WSL is a Linux distro, not a Linux kernel

WSL installs a Linux distro on your PC. The Linux binaries make their system calls as usual but, Turner explains, those syscalls just go to the Windows kernel instead.

No link da Microsoft WSL

So is tun going to be implemented at any stage?

Unlikely for now.... there is no way, given the design of WSL, for WSL to load native Linux Kernel Modules. The ABI facing userspace on Linux is kept pretty stable between Linux Kernels, but the kernel-facing ABI (for drivers and modules) is constantly changing and shifting.

e mais uma vez o projeto MS Github WSL link

Looks like you are requesting tun / tap device support. I don't think it will be implemented.

This is going to need specific kernel-side attention, it's not just a matter of having the userspace tools working. the reason why RTNETELINK is giving an 'invalid argument' error is that the kernel side of the socket doesn't exist right now.

Você pode compilar, usar ou executar binários o dia todo na área de usuário, se o kernel do Linux e a ABI / suporte não estiverem lá, eles não funcionarão enquanto a equipe do MS não emular todas as funcionalidades.

Apenas uma observação rápida: o WSL nem mesmo executa as regras de firewall do iptables, ou ainda é capaz de executar o comando script .

Eu vou dizer de novo, você não tem o seu kernel Linux lá, você tem um "kernel" de emulação escrito por engenheiros da Microsoft, traduzindo / emulando um subconjunto do ABI do kernel Linux / chamadas para o Windows HAL. Um subconjunto bom o suficiente para permitir que você execute uma grande porcentagem de scripts e binários de usuários que não tentam implementar serviços avançados típicos de servidor.

    
por 20.07.2018 / 16:50