#firecracker #networking #micro-vm

app fcnetd

A daemon process that receives rootless connections from fcnetd-client to perform rootful Firecracker microVM networking

1 unstable release

new 0.1.0 Oct 27, 2024

#898 in Network programming

MIT license

75KB
1.5K SLoC

fcnetd

fcnetd is a binary daemon that runs as root and receives I/O connections by listening asynchronously on a Unix socket with Tokio. While fcnetd runs as root, the socket is chown()-ed to a rootless user so that a rootless application process can connect to fcnetd, thus proxying its networking needs into a separate process without running the whole application as root.

Examples:

  • fcnetd /tmp/fcnetd.sock - listen on /tmp/fcnetd.sock and make available only to root.
  • fcnetd --uid 1000 --gid 100 /tmp/fcnetd.sock - listen on /tmp/fcnetd.sock and make available to UID 1000 and GID 100.
  • fcnetd --password abcde --uid 1000 /tmp/fcnetd.sock - listen on /tmp/fcnetd.sock accessible by UID 1000, additionally authenticate connections with the abcde password.

Dependencies

~9–19MB
~261K SLoC