summaryrefslogtreecommitdiff
path: root/docs/configuration/service
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-04-15 12:39:08 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-04-15 12:39:08 +0300
commit1802518c053bde050074d85a137ffe672ec99e53 (patch)
treec964bba1226ceceac324e7377728da2d1145758d /docs/configuration/service
parent2ff3232cac2278f22624a0a2e8daf2280b14912c (diff)
parentf0402b1a08c393c6f12896e2d27c339030f030b2 (diff)
downloadvyos-documentation-1802518c053bde050074d85a137ffe672ec99e53.tar.gz
vyos-documentation-1802518c053bde050074d85a137ffe672ec99e53.zip
merge: resolve CLAUDE.md conflict, keep current branch version
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docs/configuration/service')
-rw-r--r--docs/configuration/service/conntrack-sync.rst14
-rw-r--r--docs/configuration/service/eventhandler.rst126
-rw-r--r--docs/configuration/service/mdns.rst3
3 files changed, 95 insertions, 48 deletions
diff --git a/docs/configuration/service/conntrack-sync.rst b/docs/configuration/service/conntrack-sync.rst
index 08b71eed..62e96e0e 100644
--- a/docs/configuration/service/conntrack-sync.rst
+++ b/docs/configuration/service/conntrack-sync.rst
@@ -98,6 +98,20 @@ Configuration
This diable the external cache and directly injects the flow-states into the
in-kernel Connection Tracking System of the backup firewall.
+.. cfgcmd:: set service conntrack-sync purge-timeout <timeout>
+
+ Timeout (in seconds) for purging synchronized entries on handover events.
+
+ On handover, ``conntrackd -t`` is invoked, which schedules a conntrack table
+ flush after ``<timeout>`` seconds to purge stale (“zombie”) entries and
+ reduce clashes when multiple handovers occur in a short period.
+ The default is 60 seconds.
+
+.. note:: In VRRP stateful firewall deployments, align VRRP timing with this
+ behavior: because synchronized conntrack state is purged after the purge
+ timeout, set **VRRP preempt-delay** to ≥ **purge-timeout** so mastership
+ can be restored before conntrack state is purged.
+
.. cfgcmd:: set service conntrack-sync disable-syslog
Disable connection logging via Syslog.
diff --git a/docs/configuration/service/eventhandler.rst b/docs/configuration/service/eventhandler.rst
index 15f08239..9f4ebb04 100644
--- a/docs/configuration/service/eventhandler.rst
+++ b/docs/configuration/service/eventhandler.rst
@@ -8,8 +8,9 @@ Event Handler
Event Handler Technology Overview
*********************************
-Event handler allows you to execute scripts when a string that matches a regex or a regex with
-a service name appears in journald logs. You can pass variables, arguments, and a full matching string to the script.
+Event handler allows you to execute scripts when a string that matches
+a regex or a regex with a service name appears in journald logs. You
+can pass variables, arguments, and a full matching string to the script.
******************************
@@ -33,49 +34,76 @@ Event Handler Configuration Steps
.. cfgcmd:: set service event-handler event <event-handler name>
- This is an optional command because the event handler will be automatically created after any of the next commands.
+ This is an optional command because the event handler will be
+ automatically created after any of the next commands.
2. Add regex to the script
===========================================
- .. cfgcmd:: set service event-handler event <event-handler name> filter pattern <regex>
+.. stop_vyoslinter
- This is a mandatory command. Sets regular expression to match against log string message.
-
- .. note:: The regular expression matches if and only if the entire string matches the pattern.
+ .. cfgcmd:: set service event-handler event <event-handler name> filter pattern <regex>
+
+.. start_vyoslinter
+
+ This is a mandatory command. Sets regular expression to match
+ against log string message.
+
+ .. note:: The regular expression matches if and only if the entire
+ string matches the pattern.
3. Add a full path to the script
================================
+.. stop_vyoslinter
+
.. cfgcmd:: set service event-handler event <event-handler name> script path <path to script>
-
- This is a mandatory command. Sets the full path to the script. The script file must be executable.
+
+.. start_vyoslinter
+
+ This is a mandatory command. Sets the full path to the script.
+ The script file must be executable.
4. Add optional parameters
==========================
- .. cfgcmd:: set service event-handler event <event-handler name> filter syslog-identifier <sylogid name>
+.. stop_vyoslinter
+
+ .. cfgcmd:: set service event-handler event <event-handler name> filter syslog-identifier <syslogid name>
+
+.. start_vyoslinter
This is an optional command. Filters log messages by syslog-identifier.
+.. stop_vyoslinter
+
.. cfgcmd:: set service event-handler event <event-handler name> script environment <env name> value <env value>
- This is an optional command. Adds environment and its value to the script. Use separate commands for each environment.
+.. start_vyoslinter
+
+ This is an optional command. Adds environment and its value to the
+ script. Use separate commands for each environment.
One implicit environment exists.
* ``message``: Full message that has triggered the script.
+.. stop_vyoslinter
+
.. cfgcmd:: set service event-handler event <event-handler name> script arguments <arguments>
- This is an optional command. Adds arguments to the script. Arguments must be separated by spaces.
+.. start_vyoslinter
+
+ This is an optional command. Adds arguments to the script.
+ Arguments must be separated by spaces.
- .. note:: We don't recomend to use arguments. Using environments is more preffereble.
+ .. note:: We don't recommend to use arguments. Using environments
+ is more preferable.
*******
@@ -84,44 +112,48 @@ Example
Event handler that monitors the state of interface eth0.
+.. stop_vyoslinter
+
.. code-block:: none
- set service event-handler event INTERFACE_STATE_DOWN filter pattern '.*eth0.*,RUNNING,.*->.*'
- set service event-handler event INTERFACE_STATE_DOWN filter syslog-identifier 'netplugd'
- set service event-handler event INTERFACE_STATE_DOWN script environment interface_action value 'down'
- set service event-handler event INTERFACE_STATE_DOWN script environment interface_name value 'eth2'
- set service event-handler event INTERFACE_STATE_DOWN script path '/config/scripts/eventhandler.py'
+ set service event-handler event INTERFACE_STATE_DOWN filter pattern '.*eth0.*,RUNNING,.*->.*'
+ set service event-handler event INTERFACE_STATE_DOWN filter syslog-identifier 'netplugd'
+ set service event-handler event INTERFACE_STATE_DOWN script environment interface_action value 'down'
+ set service event-handler event INTERFACE_STATE_DOWN script environment interface_name value 'eth0'
+ set service event-handler event INTERFACE_STATE_DOWN script path '/config/scripts/eventhandler.py'
Event handler script
.. code-block:: none
- #!/usr/bin/env python3
- #
- # VyOS event-handler script example
- from os import environ
- import subprocess
- from sys import exit
-
- # Perform actions according to requirements
- def process_event() -> None:
- # Get variables
- message_text = environ.get('message')
- interface_name = environ.get('interface_name')
- interface_action = environ.get('interface_action')
- # Print the message that triggered this script
- print(f'Logged message: {message_text}')
- # Prepare a command to run
- command = f'sudo ip link set {interface_name} {interface_action}'.split()
- # Execute a command
- subprocess.run(command)
-
- if __name__ == '__main__':
- try:
- # Run script actions and exit
- process_event()
- exit(0)
- except Exception as err:
- # Exit properly in case if something in the script goes wrong
- print(f'Error running script: {err}')
- exit(1)
+ #!/usr/bin/env python3
+ #
+ # VyOS event-handler script example
+ from os import environ
+ import subprocess
+ from sys import exit
+
+ # Perform actions according to requirements
+ def process_event() -> None:
+ # Get variables
+ message_text = environ.get('message')
+ interface_name = environ.get('interface_name')
+ interface_action = environ.get('interface_action')
+ # Print the message that triggered this script
+ print(f'Logged message: {message_text}')
+ # Prepare a command to run
+ command = f'sudo ip link set {interface_name} {interface_action}'.split()
+ # Execute a command
+ subprocess.run(command)
+
+ if __name__ == '__main__':
+ try:
+ # Run script actions and exit
+ process_event()
+ exit(0)
+ except Exception as err:
+ # Exit properly in case if something in the script goes wrong
+ print(f'Error running script: {err}')
+ exit(1)
+
+.. start_vyoslinter
diff --git a/docs/configuration/service/mdns.rst b/docs/configuration/service/mdns.rst
index b4ca1fd1..8a26722e 100644
--- a/docs/configuration/service/mdns.rst
+++ b/docs/configuration/service/mdns.rst
@@ -1,5 +1,6 @@
+#############
mDNS Repeater
--------------
+#############
Starting with VyOS 1.2 a :abbr:`mDNS (Multicast DNS)` repeater functionality is
provided. Additional information can be obtained from