# gateway This crate houses the Firezone gateway. ## Building You can build the gateway using: `cargo build --release --bin firezone-gateway` You should then find a binary in `target/release/firezone-gateway`. ## Running The Firezone Gateway supports Linux only. To run the Gateway binary on your Linux host: 1. Generate a new Gateway token from the "Gateways" section of the admin portal and save it in your secrets manager. 1. Ensure the `FIREZONE_TOKEN=` environment variable is set securely in your Gateway's shell environment. The Gateway requires this variable at startup. 1. Set `FIREZONE_ID` to a unique string to identify this gateway in the portal, e.g. `export FIREZONE_ID=$(uuidgen)`. The Gateway requires this variable at startup. 1. Now, you can start the Gateway with: ``` firezone-gateway ``` If you're running as a non-root user, you'll need the `CAP_NET_ADMIN` capability to open `/dev/net/tun`. You can add this to the gateway binary with: ``` sudo setcap 'cap_net_admin+eip' /path/to/firezone-gateway ``` ### Ports The gateway requires no open ports. Connections automatically traverse NAT with STUN/TURN via the [relay](../relay).