#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

0.1.0 Oct 27, 2024

#819 in Network programming

Download history 121/week @ 2024-10-26 20/week @ 2024-11-02 1/week @ 2024-11-09

142 downloads per month

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
~262K SLoC