package vpnkit

  1. Overview
  2. No Docs

Description

Running a VM usually involves modifying the network configuration on the host, for example by activating Ethernet bridges, new routing table entries, DNS and firewall/NAT configurations. Activating a VPN involves modifying the same routing tables, DNS and firewall/NAT configurations and therefore there can be a clash -- this often results in the network connection to the VM being disconnected.

VPNKit, part of HyperKit attempts to work nicely with VPN software by intercepting the VM traffic at the Ethernet level, parsing and understanding protocols like NTP, DNS, UDP, TCP and doing the "right thing" with respect to the host's VPN configuration.

VPNKit operates by reconstructing Ethernet traffic from the VM and translating it into the relevant socket API calls on OSX or Windows. This allows the host application to generate traffic without requiring low-level Ethernet bridging support.

Published: 26 Nov 2016

Dependencies (28)

  1. mirage-types-lwt < "3.0.0"
  2. mirage-flow >= "1.1.0" & < "2.0.0"
  3. astring
  4. fmt
  5. logs
  6. fd-send-recv
  7. win-eventlog
  8. asl
  9. hvsock >= "0.8.1" & < "0.13.0"
  10. named-pipe >= "0.4.0"
  11. charrua-core >= "0.3"
  12. cmdliner
  13. pcap-format >= "0.4.0"
  14. hashcons = "1.0.1"
  15. datakit-server < "0.10.0"
  16. dns-forward < "0.10.0"
  17. dns < "2.0.0"
  18. pcap-format
  19. tcpip >= "2.8.0" & < "3.0.0"
  20. uwt = "0.0.3"
  21. lwt < "2.7.0"
  22. ipaddr
  23. tar-format >= "0.6.0" & < "0.7.0"
  24. result
  25. oasis build
  26. ocamlbuild build
  27. ocamlfind build
  28. ocaml

Dev Dependencies (1)

  1. alcotest with-test

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.