WSL/doc/docs/technical-documentation/gns.md

16 lines
648 B
Markdown
Raw Permalink Normal View History

# GNS
`gns` is a process created by `mini_init`. Its jobs is to configure networking within the WSL2 virtual machine.
## Networking configuration
Networking settings are shared by all WSL2 distributions. While WSL2 is running, `gns` maintains an hvsocket channel to [wslservice.exe](wslservice.exe.md), which is used to send various networking related configurations such as:
- Interface IP configuration
- Routing table entries
- DNS configuration
- MTU size configuration
When DNS tunneling is enabled, `gns` is also responsible for replying to DNS requests.
See `src/linux/init/GnsEngine.cpp` and `src/windows/service/exe/GnsChannel.cpp`