+
+ >
+ );
+}
+
+function NetworkSection({ cfg, setField }: Ctx) {
+ return (
+ <>
+
+ setField("lazyConnectionEnabled", v)}
+ label={"Lazy connections"}
+ helpText={
+ "Only establish peer tunnels on first traffic instead of eagerly at startup."
+ }
+ />
+ setField("networkMonitor", v)}
+ label={"Network monitor"}
+ helpText={
+ "Reconnect automatically when the host network changes (Wi-Fi switch, VPN, sleep/wake)."
+ }
+ />
+
+
+
+ setField("disableDns", !v)}
+ label={"Enable DNS"}
+ helpText={
+ "Apply NetBird-managed DNS settings to the host resolver."
+ }
+ />
+ setField("disableClientRoutes", !v)}
+ label={"Enable client routes"}
+ helpText={
+ "Accept routes advertised by other peers so this client can reach their networks."
+ }
+ />
+ setField("disableServerRoutes", !v)}
+ label={"Enable server routes"}
+ helpText={
+ "Advertise this host's local routes to other peers."
+ }
+ />
+
+ >
+ );
+}
+
+function SecuritySection({ cfg, setField }: Ctx) {
+ return (
+ <>
+
+ setField("blockInbound", v)}
+ label={"Block inbound traffic"}
+ helpText={
+ "Drop all unsolicited inbound traffic on the NetBird interface."
+ }
+ />
+ setField("blockLanAccess", v)}
+ label={"Block LAN access"}
+ helpText={
+ "Prevent peers from reaching this host's local network."
+ }
+ />
+
+
+
+ setField("rosenpassEnabled", v)}
+ label={"Quantum-resistant encryption"}
+ helpText={
+ "Add a post-quantum key exchange (Rosenpass) on top of WireGuard."
+ }
+ >
+ setField("rosenpassPermissive", v)}
+ label={"Permissive mode"}
+ helpText={
+ "Allow connections to peers without quantum-resistance support."
+ }
+ />
+
+
+ >
+ );
+}
+
+function SshSection({ cfg, setField }: Ctx) {
+ const sshOff = !cfg.serverSshAllowed;
+ return (
+ <>
+
+ setField("serverSshAllowed", v)}
+ label={"Allow SSH"}
+ helpText={
+ "Run the NetBird SSH server on this host so other peers can connect to it."
+ }
+ />
+
+
+
+ setField("enableSshRoot", v)}
+ label={"Allow root login"}
+ helpText={
+ "Permit incoming SSH sessions to authenticate as root."
+ }
+ disabled={sshOff}
+ />
+ setField("enableSshSftp", v)}
+ label={"Enable SFTP"}
+ helpText={"Allow file transfers over the NetBird SSH server."}
+ disabled={sshOff}
+ />
+ setField("enableSshLocalPortForwarding", v)}
+ label={"Local port forwarding"}
+ helpText={
+ "Allow clients to forward local ports through this host."
+ }
+ disabled={sshOff}
+ />
+
+ setField("enableSshRemotePortForwarding", v)
+ }
+ label={"Remote port forwarding"}
+ helpText={
+ "Allow clients to expose remote ports back through this host."
+ }
+ disabled={sshOff}
+ />
+
+
+
+ setField("disableSshAuth", v)}
+ label={"Disable SSH auth"}
+ helpText={
+ "Skip JWT authentication for incoming SSH sessions. Insecure — diagnostics only."
+ }
+ disabled={sshOff}
+ />
+
+
+
+
+ How long verified JWTs are cached before
+ re-validation. Shorter values increase load on the
+ management server; longer values delay revocation.
+
+
+
+
+ Optional WireGuard pre-shared key for an extra layer of
+ symmetric encryption. Must match the value configured
+ on every peer in the network.
+
+
+ setField("preSharedKey", e.target.value)
+ }
+ />
+