Server Configuration: Difference between revisions
No edit summary |
(Add descriptions and parameters) |
||
Line 20: | Line 20: | ||
| | | | ||
=== add-environment=== | === add-environment=== | ||
Adds an environment. Deprecated, you can directly create environments in the web interface instead. | Adds an environment. Deprecated, you can directly create environments in the web interface instead. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters | |+Parameters | ||
|- | |- | ||
| | |settings||Object with JSON settings for this environment | ||
|- | |||
|name | |||
|Name used for the environment | |||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
{ | |||
"target": "server", | |||
"action": "add-environment", | |||
"name": "env123", | |||
} | "settings": { | ||
"tunnelNetwork": "169.254.19.1/24", | |||
"udpListenerHost": "0.0.0.0", | |||
"udpListenerPort": "44343", | |||
"disableTunnelToTunnelTraffic": true | |||
} | |||
} | |||
|- | |- | ||
| | | | ||
Line 39: | Line 48: | ||
|+Parameters | |+Parameters | ||
|- | |- | ||
| | |host||Host/IP to be used to for the listener. Use 0.0.0.0 to bind on all interfaces. | ||
|- | |||
|port | |||
|Port used for the listener. Defaults to 80 | |||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
{ | |||
"target": "server", | |||
"action": "add-http", | |||
"host": "0.0.0.0", | |||
"port": "80" | |||
} | |||
|- | |- | ||
| | | | ||
=== add-https === | === add-https === | ||
Adds an | Adds an encrypted https listener for incoming tunnel connections and web interface access. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters | |+Parameters | ||
|- | |- | ||
|key|| | |host||Host/IP to be used to for the listener. Use 0.0.0.0 to bind on all interfaces. | ||
|- | |||
|port | |||
|Port used for the listener. Defaults to 443 | |||
|- | |||
|cert | |||
|Certificate file to use in PEM format. If none is supplied, a self signed certificate will be used instead. | |||
|- | |||
|key | |||
|Certifikate key to use in PEM format. If none is supplied, a self signed certificate key will be used instead. | |||
|- | |||
|rootCA | |||
|Specifies a root CA file that should be used in order to authenticate client tunnels using certificates. | |||
|- | |||
|allowTunnel | |||
|Specifies whether to accept incoming tunnel connections. | |||
|- | |||
|allowMonitor | |||
|Specifies whether to enable the web interface on this port. | |||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
{ | |||
"target": "server", | |||
"action": "add-https", | |||
"host": "0.0.0.0", | |||
"port": "443", | |||
"allowMonitor": true | |||
} | |||
|- | |- | ||
| | | | ||
Line 70: | Line 103: | ||
|- | |- | ||
|user||The username | |user||The username | ||
|password| | |- | ||
|password | |||
|The password | |||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
Line 83: | Line 118: | ||
| | | | ||
=== set-fallback-watchdog === | === set-fallback-watchdog === | ||
Using this command, the server acts as a backup instance. When tunnels are connected, it will probe the specified url in regular intervals. If the probe succeeds, connected tunnels are instructed to connect to the primary server. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters | |+Parameters | ||
|- | |- | ||
| | |url||The url used for probing the primary server. | ||
|- | |||
|interval | |||
|The interval in seconds that should be probed | |||
|- | |||
|maxTunnel | |||
|Amount of tunnels that should be disconnected in one go. This is useful to prevent many tunnels reconnecting at the same time to the primary server, causing unintended load spikes. | |||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
{ | |||
"target": "server", | |||
"action": "set-fallback-watchdog", | |||
"url": "https://10.1.2.3/api/v1/ping", | |||
"interval": 3000, | |||
"maxTunnel": 10 | |||
} | |||
|- | |- | ||
| | | | ||
=== slow-shutdown === | === slow-shutdown === | ||
Starts slow shutdown. This will disconnect all tunnels individually and tell them to connect to a different (backup) server. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters | |+Parameters | ||
|- | |- | ||
| | | || | ||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
{ | |||
"target": "server", | |||
"action": "slow-shutdown" | |||
} | |||
|- | |- | ||
| | | | ||
=== set-password-authentication === | === set-password-authentication === | ||
Sets a global flag enabling or disabling password based authentication. When disabled, only certificate authentication is possible. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters | |+Parameters | ||
|- | |- | ||
| | |enabled||true or false | ||
|} | |} | ||
| style="width: 40%" | | | style="width: 40%" | | ||
{ | |||
"target": "server", | |||
"action": "set-password-authentication", | |||
"enabled": true | |||
} | |||
|} | |} | ||
Latest revision as of 13:45, 6 February 2023
Server Commands
add-apikeyAdds an authentication key to use with the HTTP API.
|
{ "target": "server", "action": "add-apikey", "key": "a-secret-key" } | ||||||||||||||
add-environmentAdds an environment. Deprecated, you can directly create environments in the web interface instead.
|
{ "target": "server", "action": "add-environment", "name": "env123", "settings": { "tunnelNetwork": "169.254.19.1/24", "udpListenerHost": "0.0.0.0", "udpListenerPort": "44343", "disableTunnelToTunnelTraffic": true } } | ||||||||||||||
add-httpAdds an unencrypted http listener for web interface access.
|
{ "target": "server", "action": "add-http", "host": "0.0.0.0", "port": "80" } | ||||||||||||||
add-httpsAdds an encrypted https listener for incoming tunnel connections and web interface access.
|
{ "target": "server", "action": "add-https", "host": "0.0.0.0", "port": "443", "allowMonitor": true } | ||||||||||||||
add-userAdds an user/password pair that can be used to log into the server's web interface.
|
{ "target": "server", "action": "add-user", "user": "admin", "password": "bad password" } | ||||||||||||||
set-fallback-watchdogUsing this command, the server acts as a backup instance. When tunnels are connected, it will probe the specified url in regular intervals. If the probe succeeds, connected tunnels are instructed to connect to the primary server.
|
{ "target": "server", "action": "set-fallback-watchdog", "url": "https://10.1.2.3/api/v1/ping", "interval": 3000, "maxTunnel": 10 } | ||||||||||||||
slow-shutdownStarts slow shutdown. This will disconnect all tunnels individually and tell them to connect to a different (backup) server. |
{ "target": "server", "action": "slow-shutdown" } | ||||||||||||||
set-password-authenticationSets a global flag enabling or disabling password based authentication. When disabled, only certificate authentication is possible.
|
{ "target": "server", "action": "set-password-authentication", "enabled": true } |
System Commands
shutdownShuts down the client and terminates. |
{ "target": "system", "action": "shutdown" } | ||||||||||||
set-logEnables logging to file or changes output file.
|
{ "target": "system", "action": "set-log", "file": "/var/log/saneclient.log", "fileMode": "append" } | ||||||||||||
set-script-pathChanges the directory that points towards the client scripts. (/opt/bondix/client/scripts by default)
|
{ "target": "system", "action": "set-script-path", "path": "/etc/bondix/scripts" } | ||||||||||||
set-webinterfaceEnables the integrated webserver & debug webinterface.
|
{ "target": "system", "action": "set-webinterface", "host": "0.0.0.0", "port": "80", "allowConfig": false, "allowMonitor": true, "configApiKey": "123456", "webroot": "/tmp/" } |