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/"
}
|