Files
infix/dev/syslog/index.html
T

3026 lines
58 KiB
HTML

<!DOCTYPE html><html lang="en" class="no-js"><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Infix Documentation">
<link rel="canonical" href="https://kernelkit.github.io/infix/dev/syslog/">
<link rel="prev" href="../keystore/">
<link rel="next" href="../support/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>Syslog Support - User's Guide</title>
<link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../extra.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<link href="../assets/stylesheets/glightbox.min.css" rel="stylesheet"><script src="../assets/javascripts/glightbox.min.js"></script><style id="glightbox-style">
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: black; }
.glightbox-clean .gslide-media { -webkit-box-shadow: none; box-shadow: none; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color); }
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color); }
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color); }
</style></head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#syslog-support" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden="">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="https://www.kernelkit.org/" title="User's Guide" class="md-header__button md-logo" aria-label="User's Guide" data-md-component="logo">
<img src="../logo-plain.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
User's Guide
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Syslog Support
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"></path></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="orange" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required="">
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard="" data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"></path></svg>
</a>
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix="">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/kernelkit/infix/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"></path></svg>
</div>
<div class="md-source__repository">
kernelkit/infix
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="https://www.kernelkit.org/" title="User's Guide" class="md-nav__button md-logo" aria-label="User's Guide" data-md-component="logo">
<img src="../logo-plain.png" alt="logo">
</a>
User's Guide
</label>
<div class="md-nav__source">
<a href="https://github.com/kernelkit/infix/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"></path></svg>
</div>
<div class="md-source__repository">
kernelkit/infix
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href=".." class="md-nav__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2">
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
CLI
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
CLI
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../cli/introduction/" class="md-nav__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/configure/" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/keybindings/" class="md-nav__link">
<span class="md-ellipsis">
Keybindings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/netcalc/" class="md-nav__link">
<span class="md-ellipsis">
Network Calculator
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/tcpdump/" class="md-nav__link">
<span class="md-ellipsis">
Network Monitoring
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/quick/" class="md-nav__link">
<span class="md-ellipsis">
Quickstart Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/text-editor/" class="md-nav__link">
<span class="md-ellipsis">
Text Editor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/upgrade/" class="md-nav__link">
<span class="md-ellipsis">
Upgrading
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../container/" class="md-nav__link">
<span class="md-ellipsis">
Docker Containers
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
Networking
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Networking
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../networking/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../iface/" class="md-nav__link">
<span class="md-ellipsis">
Common Settings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../bridging/" class="md-nav__link">
<span class="md-ellipsis">
Bridging
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../lag/" class="md-nav__link">
<span class="md-ellipsis">
Link Aggregation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ethernet/" class="md-nav__link">
<span class="md-ellipsis">
Ethernet Interfaces
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ip/" class="md-nav__link">
<span class="md-ellipsis">
IP Addressing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../routing/" class="md-nav__link">
<span class="md-ellipsis">
Routing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../firewall/" class="md-nav__link">
<span class="md-ellipsis">
Firewall Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../qos/" class="md-nav__link">
<span class="md-ellipsis">
Quality of Service
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../eth-counters/" class="md-nav__link">
<span class="md-ellipsis">
RMON Counters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../tunnels/" class="md-nav__link">
<span class="md-ellipsis">
Tunneling (L2/L3)
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_12">
<label class="md-nav__link" for="__nav_4_12" id="__nav_4_12_label" tabindex="0">
<span class="md-ellipsis">
VPN Tunnels
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_12">
<span class="md-nav__icon md-icon"></span>
VPN Tunnels
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../vpn/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../vpn-wireguard/" class="md-nav__link">
<span class="md-ellipsis">
WireGuard
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../wifi/" class="md-nav__link">
<span class="md-ellipsis">
Wireless LAN (WiFi)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
Services
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Services
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../discovery/" class="md-nav__link">
<span class="md-ellipsis">
Device Discovery
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../dhcp/" class="md-nav__link">
<span class="md-ellipsis">
DHCP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ntp/" class="md-nav__link">
<span class="md-ellipsis">
NTP Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../ptp/" class="md-nav__link">
<span class="md-ellipsis">
PTP (IEEE 1588/802.1AS)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked="">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
System
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
System
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../boot/" class="md-nav__link">
<span class="md-ellipsis">
Boot Procedure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../system/" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../nacm/" class="md-nav__link">
<span class="md-ellipsis">
Access Control (NACM)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../hardware/" class="md-nav__link">
<span class="md-ellipsis">
Hardware Info &amp; Status
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../management/" class="md-nav__link">
<span class="md-ellipsis">
Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../keystore/" class="md-nav__link">
<span class="md-ellipsis">
Keystore
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Syslog Support
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Syslog Support
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
<li class="md-nav__item">
<a href="#log-to-file" class="md-nav__link">
<span class="md-ellipsis">
Log to File
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#log-rotation" class="md-nav__link">
<span class="md-ellipsis">
Log Rotation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#log-format" class="md-nav__link">
<span class="md-ellipsis">
Log Format
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#log-to-remote-server" class="md-nav__link">
<span class="md-ellipsis">
Log to Remote Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#acting-as-a-log-server" class="md-nav__link">
<span class="md-ellipsis">
Acting as a Log Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#advanced-filtering" class="md-nav__link">
<span class="md-ellipsis">
Advanced Filtering
</span>
</a>
<nav class="md-nav" aria-label="Advanced Filtering">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pattern-matching" class="md-nav__link">
<span class="md-ellipsis">
Pattern Matching
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#advanced-severity-comparison" class="md-nav__link">
<span class="md-ellipsis">
Advanced Severity Comparison
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hostname-filtering" class="md-nav__link">
<span class="md-ellipsis">
Hostname Filtering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#property-based-filtering" class="md-nav__link">
<span class="md-ellipsis">
Property-Based Filtering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#facilities" class="md-nav__link">
<span class="md-ellipsis">
Facilities
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../support/" class="md-nav__link">
<span class="md-ellipsis">
Support Data
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../upgrade/" class="md-nav__link">
<span class="md-ellipsis">
Upgrade
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7">
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Scripting
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Scripting
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../scripting/" class="md-nav__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../scripting-sysrepocfg/" class="md-nav__link">
<span class="md-ellipsis">
Legacy Scripting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../scripting-netconf/" class="md-nav__link">
<span class="md-ellipsis">
NETCONF Scripting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../scripting-restconf/" class="md-nav__link">
<span class="md-ellipsis">
RESTCONF Scripting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../scripting-prod/" class="md-nav__link">
<span class="md-ellipsis">
Production Testing
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8">
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-ellipsis">
Developer's Corner
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Developer's Corner
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a href="../branding/" class="md-nav__link">
<span class="md-ellipsis">
Branding &amp; Releases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../developers-guide/" class="md-nav__link">
<span class="md-ellipsis">
Developer's Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../override-package/" class="md-nav__link">
<span class="md-ellipsis">
Developing with Buildroot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../netboot/" class="md-nav__link">
<span class="md-ellipsis">
Netboot HowTo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../testing/" class="md-nav__link">
<span class="md-ellipsis">
Regression Testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../test-arch/" class="md-nav__link">
<span class="md-ellipsis">
Test System Architecture
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../virtual/" class="md-nav__link">
<span class="md-ellipsis">
Virtual Environments
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../vpd/" class="md-nav__link">
<span class="md-ellipsis">
Vital Product Data (VPD)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../license/" class="md-nav__link">
<span class="md-ellipsis">
Origin &amp; Licensing
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
<li class="md-nav__item">
<a href="#log-to-file" class="md-nav__link">
<span class="md-ellipsis">
Log to File
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#log-rotation" class="md-nav__link">
<span class="md-ellipsis">
Log Rotation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#log-format" class="md-nav__link">
<span class="md-ellipsis">
Log Format
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#log-to-remote-server" class="md-nav__link">
<span class="md-ellipsis">
Log to Remote Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#acting-as-a-log-server" class="md-nav__link">
<span class="md-ellipsis">
Acting as a Log Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#advanced-filtering" class="md-nav__link">
<span class="md-ellipsis">
Advanced Filtering
</span>
</a>
<nav class="md-nav" aria-label="Advanced Filtering">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pattern-matching" class="md-nav__link">
<span class="md-ellipsis">
Pattern Matching
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#advanced-severity-comparison" class="md-nav__link">
<span class="md-ellipsis">
Advanced Severity Comparison
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hostname-filtering" class="md-nav__link">
<span class="md-ellipsis">
Hostname Filtering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#property-based-filtering" class="md-nav__link">
<span class="md-ellipsis">
Property-Based Filtering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#facilities" class="md-nav__link">
<span class="md-ellipsis">
Facilities
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<nav class="md-path" aria-label="Navigation">
<ol class="md-path__list">
<li class="md-path__item">
<a href=".." class="md-path__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-path__item">
<a href="../boot/" class="md-path__link">
<span class="md-ellipsis">
System
</span>
</a>
</li>
</ol>
</nav>
<article class="md-content__inner md-typeset">
<h1 id="syslog-support">Syslog Support<a class="headerlink" href="#syslog-support" title="Permanent link"></a></h1>
<p>The system comes with native logging to internal storage, <code>/var/log/</code>,
or <code>/log</code> for a shortcut. Depending on the device, this may be a RAM
disk, meaning logs are not retained across reboots. This document
details how to log to external media or remote syslog servers.</p>
<p>It is also possible to set up the device to act as a syslog server (log
sink), this is covered briefly at the very end of this document.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The default logging setup in the system cannot be modified, only the
log file rotation. Please see the <code>dir</code> admin-exec command for a
listing of existing log files.</p>
</div>
<h2 id="log-to-file">Log to File<a class="headerlink" href="#log-to-file" title="Permanent link"></a></h2>
<p>Logging to a local file is useful when combined with an external media.
E.g., a USB stick with a log partition (named/labeled: "log"). Below is
an example.</p>
<p>For a list of available log facilities, see the table in a later section.</p>
<pre class="cli"><code>admin@example:/&gt; <b>configure</b>
admin@example:/config/&gt; <b>edit syslog actions log-file file:/media/log/mylog</b>
admin@example:/config/syslog/…/file:/media/log/mylog/&gt; <b>set facility-list</b>
all audit auth authpriv console cron cron2 daemon ftp kern
local0 local1 local2 local3 local4 local5 local6 local7 lpr mail
news ntp syslog user uucp
admin@example:/config/syslog/…/file:/media/log/mylog/&gt; <b>set facility-list all severity</b>
alert all critical debug emergency error info none notice warning
admin@example:/config/syslog/…/file:/media/log/mylog/&gt; <b>set facility-list all severity critical</b>
admin@example:/config/syslog/…/file:/media/log/mylog/&gt; <b>set facility-list mail severity warning</b>
admin@example:/config/syslog/…/file:/media/log/mylog/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<div class="admonition tip">
<p class="admonition-title">Important</p>
<p>The <code>log-file</code> syntax requires the leading prefix <code>file:</code>. If the
path is not absolute, e.g., <code>file:mylog</code>, the file is saved to the
system default path, i.e., <code>/log/mylog</code>. In this case, verify that
the filename is not already in use.</p>
</div>
<h2 id="log-rotation">Log Rotation<a class="headerlink" href="#log-rotation" title="Permanent link"></a></h2>
<p>By default log files are allowed to grow to a size of 1 MiB after which
they are "rotated". The whole reason for this is to not fill up the
disk with outdated logs. A rotated file is saved in stages and older
ones are also compressed (using <code>gzip</code>). Use the <code>show log</code> command in
admin-exec context to start the log file viewer:</p>
<pre class="cli"><code>admin@example:/config/syslog/&gt; <b>do show log</b>
log log.0 log.1.gz log.2.gz log.3.gz log.4.gz log.5.gz
admin@example:/config/syslog/&gt; <b>do show log log.1.gz</b>
</code></pre>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>Use the Tab key on your keyboard list available log files. The <code>do</code>
prefix is also very useful in configure context to access commands
from admin-exec context.</p>
</div>
<p>By default 10 compressed older files are saved. Here the oldest is
<code>log.5.gz</code> and the most recently rotated one is <code>log.0</code>.</p>
<p>Log file rotation can be configured both globally and per log file.
Here we show the global settings, the set up is the same for per log
file, which if unset inherit the global settings:</p>
<pre class="cli"><code>admin@example:/&gt; <b>configure</b>
admin@example:/config/&gt; <b>edit syslog file-rotation</b>
admin@example:/config/syslog/file-rotation/&gt; <b>show</b>
admin@example:/config/syslog/file-rotation/&gt;
</code></pre>
<p>The defaults are not shown. We can inspect them by asking the YANG
model for the help texts:</p>
<pre class="cli"><code>admin@example:/config/syslog/file-rotation/&gt; <b>help</b>
max-file-size number-of-files
admin@example:/config/syslog/file-rotation/&gt; <b>help max-file-size</b>
<b>NAME</b>
max-file-size kilobytes
<b>DESCRIPTION</b>
Maximum log file size (kiB), before rotation.
<b>DEFAULT</b>
1024
admin@example:/config/syslog/file-rotation/&gt; <b>help number-of-files</b>
<b>NAME</b>
number-of-files [0..4294967295]
<b>DESCRIPTION</b>
Maximum number of log files retained.
<b>DEFAULT</b>
10
</code></pre>
<p>To change the defaults to something smaller, 512 kiB and 20 (remember
everything after .0 is compressed, and text compresses well):</p>
<pre class="cli"><code>admin@example:/config/syslog/file-rotation/&gt; <b>set max-file-size 512</b>
admin@example:/config/syslog/file-rotation/&gt; <b>set number-of-files 20</b>
admin@example:/config/syslog/file-rotation/&gt; <b>show</b>
number-of-files 20;
max-file-size 512;
admin@example:/config/syslog/file-rotation/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<h2 id="log-format">Log Format<a class="headerlink" href="#log-format" title="Permanent link"></a></h2>
<p>There are three major syslog log formats, the default is <a href="https://datatracker.ietf.org/doc/html/rfc3164">RFC3164</a> for
log files and BSD for remote logging. Depending on time synchronization
and remote log server capabilities, or policies, the <a href="https://datatracker.ietf.org/doc/html/rfc5424">RFC5424</a> format
is often preferred since it not only has better time resolution but also
supports structured logging:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>BSD : myproc[8710]: Kilroy was here.
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>RFC3164 : Aug 24 05:14:15 192.0.2.1 myproc[8710]: Kilroy was here.
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>RFC5424 : 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - Kilroy was here.
</code></pre></div>
<p>The BSD format is only applicable to remote logging. It remains the
default for compatibility reasons, and is recommended since the device
may not have proper time, making it better for the remote log server to
perform time stamping at the time of arrival.</p>
<p>Configuring the log format is the same for log files and remotes:</p>
<pre class="cli"><code>admin@example:/config/&gt; <b>edit syslog actions log-file file:foobar</b>
admin@example:/config/syslog/…/file:foobar/&gt; <b>set log-format</b>
bsd rfc3164 rfc5424
admin@example:/config/syslog/…/file:foobar/&gt; <b>set log-format rfc5424</b>
admin@example:/config/syslog/…/file:foobar/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<h2 id="log-to-remote-server">Log to Remote Server<a class="headerlink" href="#log-to-remote-server" title="Permanent link"></a></h2>
<p>Logging to a remote syslog server is the recommended way of supervising
the system. This way all login attempts (console, SSH, or web) and any
configuration changes can be traced, even in cases of a remote attacker
tries to cover their traces by deleting logs.</p>
<p>The recommended setup involves using a fixed IP address, default BSD log
format, and the default Internet port (514). This is the most reliable,
because your device may not have DNS set up or even available, and some
remote syslog servers do not support receiving time stamped log messages
-- this is of course entirely dependent on how the remote server is set
up, as well as local policy.</p>
<pre class="cli"><code>admin@example:/config/&gt; <b>edit syslog</b>
actions file-rotation server
admin@example:/config/&gt; <b>edit syslog actions destination moon</b>
admin@example:/config/syslog/…/moon/&gt; <b>set</b>
facility-list log-format udp
admin@example:/config/syslog/…/moon/&gt; <b>set udp</b>
address port
admin@example:/config/syslog/…/moon/&gt; <b>set udp address 192.168.0.12</b>
admin@example:/config/syslog/…/moon/&gt; <b>set facility-list container severity all</b>
admin@example:/config/syslog/…/moon/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>The alternatives shown below each prompt in the example above can be
found by tapping the Tab key.</p>
</div>
<h2 id="acting-as-a-log-server">Acting as a Log Server<a class="headerlink" href="#acting-as-a-log-server" title="Permanent link"></a></h2>
<p>The syslog server can act as a log sink for other devices on a LAN. For
this to work you need a static IP address, here we use 10.0.0.1/24.</p>
<pre class="cli"><code>admin@example:/&gt; <b>configure</b>
admin@example:/config/&gt; <b>edit syslog server</b>
admin@example:/config/syslog/server/&gt; <b>set enabled true</b>
admin@example:/config/syslog/server/&gt; <b>set listen udp 514 address 10.0.0.1</b>
admin@example:/config/syslog/server/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<p>See the above <a href="#log-to-file">Log to File</a> section on how to set up
filtering of received logs to local files. Advanced filtering based
on hostname and message properties is also available, see the next
section for details.</p>
<h2 id="advanced-filtering">Advanced Filtering<a class="headerlink" href="#advanced-filtering" title="Permanent link"></a></h2>
<p>The syslog subsystem supports several advanced filtering options that
allow fine-grained control over which messages are logged. These can
be combined with facility and severity filters to create sophisticated
logging rules.</p>
<h3 id="pattern-matching">Pattern Matching<a class="headerlink" href="#pattern-matching" title="Permanent link"></a></h3>
<p>Messages can be filtered using regular expressions (POSIX extended regex)
on the message content. This is useful when you want to log only messages
containing specific keywords or patterns:</p>
<pre class="cli"><code>admin@example:/config/&gt; <b>edit syslog actions log-file file:errors</b>
admin@example:/config/syslog/…/file:errors/&gt; <b>set pattern-match "ERROR|CRITICAL|FATAL"</b>
admin@example:/config/syslog/…/file:errors/&gt; <b>set facility-list all severity info</b>
admin@example:/config/syslog/…/file:errors/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<p>This will log all messages containing ERROR, CRITICAL, or FATAL.</p>
<h3 id="advanced-severity-comparison">Advanced Severity Comparison<a class="headerlink" href="#advanced-severity-comparison" title="Permanent link"></a></h3>
<p>By default, severity filtering uses "equals-or-higher" comparison,
meaning a severity of <code>error</code> will match error, critical, alert, and
emergency messages. You can change this behavior:</p>
<pre class="cli"><code>admin@example:/config/&gt; <b>edit syslog actions log-file file:daemon-errors</b>
admin@example:/config/syslog/…/file:daemon-errors/&gt; <b>set facility-list daemon</b>
admin@example:/config/syslog/…/daemon/&gt; <b>set severity error</b>
admin@example:/config/syslog/…/daemon/&gt; <b>set advanced-compare compare equals</b>
admin@example:/config/syslog/…/daemon/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<p>This will log only <code>error</code> severity messages, not higher severities.</p>
<p>You can also block specific severities:</p>
<pre class="cli"><code>admin@example:/config/syslog/…/daemon/&gt; <b>set advanced-compare action block</b>
</code></pre>
<p>This will exclude <code>error</code> messages from the log.</p>
<h3 id="hostname-filtering">Hostname Filtering<a class="headerlink" href="#hostname-filtering" title="Permanent link"></a></h3>
<p>When acting as a log server, you can filter messages by hostname. This
is useful for directing logs from different devices to separate files:</p>
<pre class="cli"><code>admin@example:/config/&gt; <b>edit syslog actions log-file file:router1</b>
admin@example:/config/syslog/…/file:router1/&gt; <b>set hostname-filter router1</b>
admin@example:/config/syslog/…/file:router1/&gt; <b>set facility-list all severity info</b>
admin@example:/config/syslog/…/file:router1/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<p>Multiple hostnames can be added to the filter list.</p>
<h3 id="property-based-filtering">Property-Based Filtering<a class="headerlink" href="#property-based-filtering" title="Permanent link"></a></h3>
<p>For more advanced filtering, you can match on specific message properties
using various comparison operators:</p>
<pre class="cli"><code>admin@example:/config/&gt; <b>edit syslog actions log-file file:myapp</b>
admin@example:/config/syslog/…/file:myapp/&gt; <b>edit property-filter</b>
admin@example:/config/syslog/…/property-filter/&gt; <b>set property programname</b>
admin@example:/config/syslog/…/property-filter/&gt; <b>set operator isequal</b>
admin@example:/config/syslog/…/property-filter/&gt; <b>set value myapp</b>
admin@example:/config/syslog/…/property-filter/&gt; <b>leave</b>
admin@example:/&gt;
</code></pre>
<p>Available properties:
- <code>msg</code>: Message body
- <code>msgid</code>: RFC5424 message identifier
- <code>programname</code>: Program/tag name
- <code>hostname</code>: Source hostname
- <code>source</code>: Alias for hostname
- <code>data</code>: RFC5424 structured data</p>
<p>Available operators:
- <code>contains</code>: Substring match
- <code>isequal</code>: Exact equality
- <code>startswith</code>: Prefix match
- <code>regex</code>: Basic regular expression
- <code>ereregex</code>: Extended regular expression (POSIX ERE)</p>
<p>The comparison can be made case-insensitive:</p>
<pre class="cli"><code>admin@example:/config/syslog/…/property-filter/&gt; <b>set case-insensitive true</b>
</code></pre>
<p>Or negated to exclude matching messages:</p>
<pre class="cli"><code>admin@example:/config/syslog/…/property-filter/&gt; <b>set negate true</b>
</code></pre>
<h3 id="facilities">Facilities<a class="headerlink" href="#facilities" title="Permanent link"></a></h3>
<table>
<thead>
<tr>
<th><strong>Code</strong></th>
<th><strong>Facility</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>kern</td>
<td>Kernel log messages</td>
</tr>
<tr>
<td>1</td>
<td>user</td>
<td>User-level messages</td>
</tr>
<tr>
<td>2</td>
<td>mail</td>
<td>Mail system</td>
</tr>
<tr>
<td>3</td>
<td>daemon</td>
<td>General system daemons</td>
</tr>
<tr>
<td>4</td>
<td>auth</td>
<td>Security/authorization messages</td>
</tr>
<tr>
<td>5</td>
<td>syslog</td>
<td>Messages generated by syslogd</td>
</tr>
<tr>
<td>6</td>
<td>lpr</td>
<td>Line printer subsystem</td>
</tr>
<tr>
<td>7</td>
<td>news</td>
<td>Network news subsystem</td>
</tr>
<tr>
<td>8</td>
<td>uucp</td>
<td>UNIX-to-UNIX copy</td>
</tr>
<tr>
<td>9</td>
<td>cron</td>
<td>Clock/cron daemon (BSD, Linux)</td>
</tr>
<tr>
<td>10</td>
<td>authpriv</td>
<td>Security/authorization messages (private)</td>
</tr>
<tr>
<td>11</td>
<td>ftp</td>
<td>FTP daemon</td>
</tr>
<tr>
<td>12</td>
<td>ntp</td>
<td>NTP subsystem</td>
</tr>
<tr>
<td>13</td>
<td>audit</td>
<td>Log audit (security)</td>
</tr>
<tr>
<td>14</td>
<td>console</td>
<td>Log alert</td>
</tr>
<tr>
<td>15</td>
<td>cron2</td>
<td>Clock/cron daemon (Solaris)</td>
</tr>
<tr>
<td>16</td>
<td>rauc*</td>
<td>local0, reserved for RAUC</td>
</tr>
<tr>
<td>17</td>
<td>container*</td>
<td>local1, reserved for containers</td>
</tr>
<tr>
<td>18</td>
<td>local2</td>
<td>Currently unused</td>
</tr>
<tr>
<td>19</td>
<td>local3</td>
<td>Currently unused</td>
</tr>
<tr>
<td>20</td>
<td>local4</td>
<td>Currently unused</td>
</tr>
<tr>
<td>21</td>
<td>local5</td>
<td>Currently unused</td>
</tr>
<tr>
<td>22</td>
<td>reserved*</td>
<td>local6, reserved for industrial Ethernet</td>
</tr>
<tr>
<td>23</td>
<td>web*</td>
<td>local7, reserved for nginx web server</td>
</tr>
</tbody>
</table>
<p>Facilities marked <code>*</code> are local augments to the model.</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright © 2022-2025 The KernelKit Team
</div>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<div class="md-progress" data-md-component="progress" role="progressbar"></div>
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["toc.follow", "navigation.path", "navigation.instant", "navigation.instant.progress", "navigation.tracking", "navigation.indexes", "search.highlight", "search.share", "content.code.copy", "content.code.annotate", "content.footnote.tooltips"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
document$.subscribe(()=>{ lightbox.reload(); });
</script></body></html>