From your /lib/modules
message you present us, it is obvious you are using Debian GNU/Linux for WSL (for Windows 10).
Unfortunately, the WSL kernel/Windows HAL operates with under a different abstraction layer / differently under Windows, and won't support some more esoteric functionalities that we take for given in a "regular" Linux kernel Debian implementation.
If you want to run such a software that plays with more advanced IP sockets functionalities, you have to run Debian in a VM, and not in Debian WSL.
For people using Windows 10 Pro, they are better suited using Hyper V. For your case, running VirtualBox (free) or VMWare will allow you to use your Teredo server.
depmod -a
also does not work because WSL is neither using a true Linux kernel, nor is capable of loading Linux kernel modules.
See also the WSL Faq
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.
From 18 things you should know about using Linux tools in 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.
From Microsoft WSL github https://github.com/Microsoft/WSL/issues/2340
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.
and again MS Github WSL project https://github.com/Microsoft/WSL/issues/874
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.
You might compile, use or run binaries all day long in the userland, if the Linux kernel and the full ABI/support is not there, they won't work while the MS team does not emulate all the functionalities.
Just a quick note: WSL does not even run iptables firewall rules, or is even capable of running the script
command.
I will say it again, you do not have your regular Linux kernel there, you have got an emulation "kernel" written by Microsoft engineers, translating/emulating a subset of the Linux kernel ABI/calls to the Windows HAL. A subset good enough to allow you to run a large percentage of scripts and user-land-binaries that do not try to implement typical advanced server services.