CINXE.COM
PF-Paketfilter - Linuxhotel
<!DOCTYPE html> <html lang="de" prefix="og: https://ogp.me/ns#" class="no-js"> <head><meta charset="UTF-8"><script>if(navigator.userAgent.match(/MSIE|Internet Explorer/i)||navigator.userAgent.match(/Trident\/7\..*?rv:11/i)){var href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf("?")==-1){if(href.indexOf("#")==-1){document.location.href=href+"?nowprocket=1"}else{document.location.href=href.replace("#","?nowprocket=1#")}}else{if(href.indexOf("#")==-1){document.location.href=href+"&nowprocket=1"}else{document.location.href=href.replace("#","&nowprocket=1#")}}}}</script><script>(()=>{class RocketLazyLoadScripts{constructor(){this.v="1.2.6",this.triggerEvents=["keydown","mousedown","mousemove","touchmove","touchstart","touchend","wheel"],this.userEventHandler=this.t.bind(this),this.touchStartHandler=this.i.bind(this),this.touchMoveHandler=this.o.bind(this),this.touchEndHandler=this.h.bind(this),this.clickHandler=this.u.bind(this),this.interceptedClicks=[],this.interceptedClickListeners=[],this.l(this),window.addEventListener("pageshow",(t=>{this.persisted=t.persisted,this.everythingLoaded&&this.m()})),this.CSPIssue=sessionStorage.getItem("rocketCSPIssue"),document.addEventListener("securitypolicyviolation",(t=>{this.CSPIssue||"script-src-elem"!==t.violatedDirective||"data"!==t.blockedURI||(this.CSPIssue=!0,sessionStorage.setItem("rocketCSPIssue",!0))})),document.addEventListener("DOMContentLoaded",(()=>{this.k()})),this.delayedScripts={normal:[],async:[],defer:[]},this.trash=[],this.allJQueries=[]}p(t){document.hidden?t.t():(this.triggerEvents.forEach((e=>window.addEventListener(e,t.userEventHandler,{passive:!0}))),window.addEventListener("touchstart",t.touchStartHandler,{passive:!0}),window.addEventListener("mousedown",t.touchStartHandler),document.addEventListener("visibilitychange",t.userEventHandler))}_(){this.triggerEvents.forEach((t=>window.removeEventListener(t,this.userEventHandler,{passive:!0}))),document.removeEventListener("visibilitychange",this.userEventHandler)}i(t){"HTML"!==t.target.tagName&&(window.addEventListener("touchend",this.touchEndHandler),window.addEventListener("mouseup",this.touchEndHandler),window.addEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.addEventListener("mousemove",this.touchMoveHandler),t.target.addEventListener("click",this.clickHandler),this.L(t.target,!0),this.S(t.target,"onclick","rocket-onclick"),this.C())}o(t){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler),t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.M()}h(){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler)}u(t){t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.interceptedClicks.push(t),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),this.M()}O(){window.removeEventListener("touchstart",this.touchStartHandler,{passive:!0}),window.removeEventListener("mousedown",this.touchStartHandler),this.interceptedClicks.forEach((t=>{t.target.dispatchEvent(new MouseEvent("click",{view:t.view,bubbles:!0,cancelable:!0}))}))}l(t){EventTarget.prototype.addEventListenerWPRocketBase=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(e,i,o){"click"!==e||t.windowLoaded||i===t.clickHandler||t.interceptedClickListeners.push({target:this,func:i,options:o}),(this||window).addEventListenerWPRocketBase(e,i,o)}}L(t,e){this.interceptedClickListeners.forEach((i=>{i.target===t&&(e?t.removeEventListener("click",i.func,i.options):t.addEventListener("click",i.func,i.options))})),t.parentNode!==document.documentElement&&this.L(t.parentNode,e)}D(){return new Promise((t=>{this.P?this.M=t:t()}))}C(){this.P=!0}M(){this.P=!1}S(t,e,i){t.hasAttribute&&t.hasAttribute(e)&&(event.target.setAttribute(i,event.target.getAttribute(e)),event.target.removeAttribute(e))}t(){this._(this),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.R.bind(this)):this.R()}k(){let t=[];document.querySelectorAll("script[type=rocketlazyloadscript][data-rocket-src]").forEach((e=>{let i=e.getAttribute("data-rocket-src");if(i&&!i.startsWith("data:")){0===i.indexOf("//")&&(i=location.protocol+i);try{const o=new URL(i).origin;o!==location.origin&&t.push({src:o,crossOrigin:e.crossOrigin||"module"===e.getAttribute("data-rocket-type")})}catch(t){}}})),t=[...new Map(t.map((t=>[JSON.stringify(t),t]))).values()],this.T(t,"preconnect")}async R(){this.lastBreath=Date.now(),this.j(this),this.F(this),this.I(),this.W(),this.q(),await this.A(this.delayedScripts.normal),await this.A(this.delayedScripts.defer),await this.A(this.delayedScripts.async);try{await this.U(),await this.H(this),await this.J()}catch(t){console.error(t)}window.dispatchEvent(new Event("rocket-allScriptsLoaded")),this.everythingLoaded=!0,this.D().then((()=>{this.O()})),this.N()}W(){document.querySelectorAll("script[type=rocketlazyloadscript]").forEach((t=>{t.hasAttribute("data-rocket-src")?t.hasAttribute("async")&&!1!==t.async?this.delayedScripts.async.push(t):t.hasAttribute("defer")&&!1!==t.defer||"module"===t.getAttribute("data-rocket-type")?this.delayedScripts.defer.push(t):this.delayedScripts.normal.push(t):this.delayedScripts.normal.push(t)}))}async B(t){if(await this.G(),!0!==t.noModule||!("noModule"in HTMLScriptElement.prototype))return new Promise((e=>{let i;function o(){(i||t).setAttribute("data-rocket-status","executed"),e()}try{if(navigator.userAgent.indexOf("Firefox/")>0||""===navigator.vendor||this.CSPIssue)i=document.createElement("script"),[...t.attributes].forEach((t=>{let e=t.nodeName;"type"!==e&&("data-rocket-type"===e&&(e="type"),"data-rocket-src"===e&&(e="src"),i.setAttribute(e,t.nodeValue))})),t.text&&(i.text=t.text),i.hasAttribute("src")?(i.addEventListener("load",o),i.addEventListener("error",(function(){i.setAttribute("data-rocket-status","failed-network"),e()})),setTimeout((()=>{i.isConnected||e()}),1)):(i.text=t.text,o()),t.parentNode.replaceChild(i,t);else{const i=t.getAttribute("data-rocket-type"),s=t.getAttribute("data-rocket-src");i?(t.type=i,t.removeAttribute("data-rocket-type")):t.removeAttribute("type"),t.addEventListener("load",o),t.addEventListener("error",(i=>{this.CSPIssue&&i.target.src.startsWith("data:")?(console.log("WPRocket: data-uri blocked by CSP -> fallback"),t.removeAttribute("src"),this.B(t).then(e)):(t.setAttribute("data-rocket-status","failed-network"),e())})),s?(t.removeAttribute("data-rocket-src"),t.src=s):t.src="data:text/javascript;base64,"+window.btoa(unescape(encodeURIComponent(t.text)))}}catch(i){t.setAttribute("data-rocket-status","failed-transform"),e()}}));t.setAttribute("data-rocket-status","skipped")}async A(t){const e=t.shift();return e&&e.isConnected?(await this.B(e),this.A(t)):Promise.resolve()}q(){this.T([...this.delayedScripts.normal,...this.delayedScripts.defer,...this.delayedScripts.async],"preload")}T(t,e){var i=document.createDocumentFragment();t.forEach((t=>{const o=t.getAttribute&&t.getAttribute("data-rocket-src")||t.src;if(o&&!o.startsWith("data:")){const s=document.createElement("link");s.href=o,s.rel=e,"preconnect"!==e&&(s.as="script"),t.getAttribute&&"module"===t.getAttribute("data-rocket-type")&&(s.crossOrigin=!0),t.crossOrigin&&(s.crossOrigin=t.crossOrigin),t.integrity&&(s.integrity=t.integrity),i.appendChild(s),this.trash.push(s)}})),document.head.appendChild(i)}j(t){let e={};function i(i,o){return e[o].eventsToRewrite.indexOf(i)>=0&&!t.everythingLoaded?"rocket-"+i:i}function o(t,o){!function(t){e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(o)}function s(e,i){let o=e[i];e[i]=null,Object.defineProperty(e,i,{get:()=>o||function(){},set(s){t.everythingLoaded?o=s:e["rocket"+i]=o=s}})}o(document,"DOMContentLoaded"),o(window,"DOMContentLoaded"),o(window,"load"),o(window,"pageshow"),o(document,"readystatechange"),s(document,"onreadystatechange"),s(window,"onload"),s(window,"onpageshow");try{Object.defineProperty(document,"readyState",{get:()=>t.rocketReadyState,set(e){t.rocketReadyState=e},configurable:!0}),document.readyState="loading"}catch(t){console.log("WPRocket DJE readyState conflict, bypassing")}}F(t){let e;function i(e){return t.everythingLoaded?e:e.split(" ").map((t=>"load"===t||0===t.indexOf("load.")?"rocket-jquery-load":t)).join(" ")}function o(o){function s(t){const e=o.fn[t];o.fn[t]=o.fn.init.prototype[t]=function(){return this[0]===window&&("string"==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=i(arguments[0]):"object"==typeof arguments[0]&&Object.keys(arguments[0]).forEach((t=>{const e=arguments[0][t];delete arguments[0][t],arguments[0][i(t)]=e}))),e.apply(this,arguments),this}}o&&o.fn&&!t.allJQueries.includes(o)&&(o.fn.ready=o.fn.init.prototype.ready=function(e){return t.domReadyFired?e.bind(document)(o):document.addEventListener("rocket-DOMContentLoaded",(()=>e.bind(document)(o))),o([])},s("on"),s("one"),t.allJQueries.push(o)),e=o}o(window.jQuery),Object.defineProperty(window,"jQuery",{get:()=>e,set(t){o(t)}})}async H(t){const e=document.querySelector("script[data-webpack]");e&&(await async function(){return new Promise((t=>{e.addEventListener("load",t),e.addEventListener("error",t)}))}(),await t.K(),await t.H(t))}async U(){this.domReadyFired=!0;try{document.readyState="interactive"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),document.dispatchEvent(new Event("rocket-DOMContentLoaded")),await this.G(),window.dispatchEvent(new Event("rocket-DOMContentLoaded"))}async J(){try{document.readyState="complete"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),window.dispatchEvent(new Event("rocket-load")),await this.G(),window.rocketonload&&window.rocketonload(),await this.G(),this.allJQueries.forEach((t=>t(window).trigger("rocket-jquery-load"))),await this.G();const t=new Event("rocket-pageshow");t.persisted=this.persisted,window.dispatchEvent(t),await this.G(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted}),this.windowLoaded=!0}m(){document.onreadystatechange&&document.onreadystatechange(),window.onload&&window.onload(),window.onpageshow&&window.onpageshow({persisted:this.persisted})}I(){const t=new Map;document.write=document.writeln=function(e){const i=document.currentScript;i||console.error("WPRocket unable to document.write this: "+e);const o=document.createRange(),s=i.parentElement;let n=t.get(i);void 0===n&&(n=i.nextSibling,t.set(i,n));const c=document.createDocumentFragment();o.setStart(c,0),c.appendChild(o.createContextualFragment(e)),s.insertBefore(c,n)}}async G(){Date.now()-this.lastBreath>45&&(await this.K(),this.lastBreath=Date.now())}async K(){return document.hidden?new Promise((t=>setTimeout(t))):new Promise((t=>requestAnimationFrame(t)))}N(){this.trash.forEach((t=>t.remove()))}static run(){const t=new RocketLazyLoadScripts;t.p(t)}}RocketLazyLoadScripts.run()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <script type="rocketlazyloadscript">(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- Suchmaschinen-Optimierung durch Rank Math PRO - https://rankmath.com/ --> <title>PF-Paketfilter - Linuxhotel</title><style id="rocket-critical-css">.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}html,body{width:100%;height:100%;position:relative;font-size:16px;line-height:normal}#main{position:relative;margin-top:80px;z-index:2}@media screen and (max-width:768px) and (min-resolution:192dpi){html #page>*,body #page>*{overflow:hidden}}*{font-family:"Open Sans",sans-serif;box-sizing:border-box;padding:0;margin:0}#page::before{content:"";background:url(https://www.linuxhotel.de/wp-content/themes/liho/img/header-linie.png),linear-gradient(to bottom,#274147,#274147);position:absolute;left:0;top:122px;right:0;height:250px!important;display:block;z-index:1}@media screen and (max-width:768px){#page::before{height:105px}}#page>header{position:relative;z-index:5;overflow:visible}#page>header>div{width:1200px;margin:0 auto;position:relative}@media screen and (max-width:1249px){#page>header>div{width:100%}}#page>header #header{z-index:2}#page>header a.site-title{display:inline-block;height:100px;width:350px;background:url(https://www.linuxhotel.de/wp-content/themes/liho/img/linuxhotel.svg) no-repeat center white;background-size:230px;background-position:bottom left;margin:10px 0;color:transparent;text-align:center}@media screen and (max-width:1249px){#page>header a.site-title{margin:10px 20px;height:80px;width:200px;background-size:80%}}#page>header button#menu-toggle{display:none}@media screen and (max-width:768px){#page>header button#menu-toggle{display:block;width:100%;border:none;padding:7px 10px;background-color:rgba(39,65,71,0.85);margin-top:10px;font-size:16px;color:#fff}#page>header button#menu-toggle::before{content:"≡ ";font-weight:bold}}#page>header nav{position:absolute;right:0;left:0;height:50px;top:122px;width:100%;padding:8px 0 0 0}@media screen and (min-width:769px) and (max-width:1249px){#page>header nav{padding-left:20px}}@media screen and (max-width:768px){#page>header nav{position:static;display:inline-block;padding:20px 10px;margin-top:20px;vertical-align:top}#page>header nav #menu-hauptmenue{display:none}}#page>header nav #menu-hauptmenue>ul{list-style-type:none}#page>header nav #menu-hauptmenue>ul li.page-item-91{display:none}#page>header nav #menu-hauptmenue>ul>li{display:inline-block;position:relative;padding-right:50px}#page>header nav #menu-hauptmenue>ul>li a{font-size:14px}@media screen and (min-width:769px) and (max-width:1249px){#page>header nav #menu-hauptmenue>ul>li{padding-right:26px}#page>header nav #menu-hauptmenue>ul>li a{letter-spacing:normal;font-size:small}}@media screen and (max-width:768px){#page>header nav #menu-hauptmenue>ul>li{padding:0 20px}#page>header nav #menu-hauptmenue>ul>li ul{display:block;background-color:rgba(255,255,255,0.9);min-width:100%;list-style-type:none}#page>header nav #menu-hauptmenue>ul>li ul li a{border-bottom:1px solid rgba(39,65,71,0.15);background:transparent;font-weight:normal;padding:4px 10px;color:#274147;font-weight:600;white-space:nowrap;line-height:24px;text-transform:uppercase}}#page>header nav #menu-hauptmenue>ul>li ul{display:none}#page>header nav #menu-hauptmenue>ul>li a{display:block;padding:5px 15px;position:relative;text-decoration:none;color:white;font-weight:600;padding:10px 0;text-transform:uppercase}#page>header nav #menu-hauptmenue>ul>li.page_item_has_children>a{text-transform:uppercase;letter-spacing:0.03rem}@media screen and (min-width:769px) and (max-width:1249px){#page>header nav #menu-hauptmenue>ul>li.page_item_has_children>a{letter-spacing:normal;font-size:small}}#page>header nav #menu-hauptmenue>ul>li.page_item_has_children>a::after{content:"";height:10px;width:20px;top:50%;position:absolute;background:url(https://www.linuxhotel.de/wp-content/themes/liho/img/arr-down.svg) no-repeat right center;background-size:10px;margin-top:-5px}main{width:1200px;margin:0 auto;margin-top:120px;background:white;padding:20px 0;position:relative;z-index:2}@media screen and (max-width:1249px){main{width:100%;padding:20px!important;margin-top:80px}main img{max-width:100%;height:auto}}main a{font-weight:600;color:#7c8f2c}main article{height:auto;padding-top:40px;font-size:16px;line-height:1.65rem}main article h1{font-size:2.35rem;font-weight:600;color:#92a834}@media screen and (max-width:768px){main article h1{font-size:1.75rem}}main article h2{font-size:2rem;font-weight:600;color:#92a834}main article h2{color:#274147}main article h1,main article h2{margin:0!important;padding:20px 0;line-height:normal}main article h2:not([class]):not([id]){color:#274147}main article p{margin-bottom:0.4em}main article p:last-of-type{margin-bottom:0}main article ul{padding-left:20px}main article.post .prod .container{margin-bottom:1rem}@media screen and (min-width:1250px){main article.post>*{padding:0 20px}main article.post .prod{height:auto;overflow:hidden}main article.post .prod .left{float:left;width:70%;margin-right:5%}main article.post .prod .right{float:left;width:25%}main article.post .prod .right .container{border:1px solid #b3bbbc;background:#f2f4f4}main article.post .prod .right .container>*{padding:10px;font-size:14px;font-weight:600}main article.post .prod .right .container h5{background-color:#b3bbbc;font-size:110%;color:white;position:relative;margin-bottom:10px}main article.post .prod .right .container h5::after{position:absolute;content:"";border:10px solid transparent;border-top-color:#b3bbbc;left:10px;bottom:-20px}main article.post .prod .right .container ul{padding-left:25px}main article.post .prod .right .container ul li>a{text-decoration:none;color:#274147}}@media screen and (max-width:1249px){main article.post .prod .container{margin-bottom:0.5rem}main article.post .prod .container:not(.description):not(.other-lang){padding:0}main article.post .prod .container:not(.description):not(.other-lang):not(.active)>:not(h3):not(h5){display:none}main article.post .prod .container>h5{font-size:1.12rem;background-color:#e9ecec;padding:10px;margin:0 -10px;font-weight:600;color:#274147;margin-bottom:0;display:flex;align-items:center}main article.post .prod .container>h5:after{margin-left:1.8rem;display:inline-flex;color:#92a834;content:"";background-image:url(/wp-content/themes/liho/img/arrow.svg);background-repeat:no-repeat;height:0.8rem;width:0.8rem;transform:rotate(0deg);margin-right:0.8rem;right:25px;position:absolute}}.screen-reader-text{display:none}@media (min-width:640px){.entry-content{column-count:2;column-gap:30px}}.entry-content p{font-size:16px;line-height:23px;color:#333333}@media screen and (max-width:1249px){.entry-content p{font-size:1rem}}.entry-content ul li{margin-bottom:0.6rem}@media screen and (max-width:1249px){.entry-content ul li{font-size:1rem}}.entry-content ul li{list-style-type:none;line-height:23px;margin-left:0.8rem}.entry-content ul li:before{margin-left:-1.8rem;display:inline-flex;color:#92a834;content:"";background-image:url(/wp-content/themes/liho/img/arrow.svg);background-repeat:no-repeat;height:0.8rem;width:0.8rem;transform:rotate(-90deg);margin-right:0.8rem}.entry-content ul{padding-right:20px;margin-bottom:10px;column-count:1}.prod .right{font-size:14px;line-height:normal}@media screen and (max-width:1249px){.prod .right{padding:0 10px}}@media screen and (max-width:1249px){.prod .left .container.description{margin-bottom:24px}}.prod ul{background:inherit;border:none;display:flex;flex-wrap:wrap;flex-direction:column;margin-bottom:10px}h2{font-size:2rem!important;color:#92a834;font-weight:600}.subhero{margin:0 auto;width:1200px;max-width:100%;margin-top:60px;margin-bottom:-120px;z-index:3;position:relative}@media screen and (min-width:769px) and (max-width:1249px){.subhero{margin-top:80px}}@media screen and (max-width:768px) and (min-resolution:192dpi){.subhero{margin-top:60px}}.subhero div{width:100%}.subhero div .subsiteHeroWrap{width:100%;height:300px;overflow:hidden;display:flex;justify-content:center;align-items:center;background-image:url(/wp-content/themes/liho/img/linuxhotel_header_detailseite.jpg);background-size:cover;background-position:center;border-bottom:3px solid #92a834;position:relative}.entry-content{height:auto;column-count:1!important}.entry-content p{column-count:1;column-gap:30px}@media screen and (max-width:768px){.entry-content p{column-count:1}}.entry-content p+ul{margin-top:15px}.page-item-22339{display:none!important}.page-item-8658{display:none!important}</style> <meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> <link rel="canonical" href="https://www.linuxhotel.de/course/pf-de/" /> <meta property="og:locale" content="de_DE" /> <meta property="og:type" content="article" /> <meta property="og:title" content="PF-Paketfilter - Linuxhotel" /> <meta property="og:url" content="https://www.linuxhotel.de/course/pf-de/" /> <meta property="og:site_name" content="Linuxhotel" /> <meta property="article:publisher" content="https://www.facebook.com/linuxhotel/" /> <meta property="og:image" content="https://www.linuxhotel.de/wp-content/uploads/2021/05/linuxhotel-socialshare.jpg" /> <meta property="og:image:secure_url" content="https://www.linuxhotel.de/wp-content/uploads/2021/05/linuxhotel-socialshare.jpg" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="630" /> <meta property="og:image:alt" content="PF-Paketfilter" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="PF-Paketfilter - Linuxhotel" /> <meta name="twitter:site" content="@linuxhotel" /> <meta name="twitter:creator" content="@linuxhotel" /> <meta name="twitter:image" content="https://www.linuxhotel.de/wp-content/uploads/2021/05/linuxhotel-socialshare.jpg" /> <script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https://www.linuxhotel.de/course/pf-de/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://wp.linuxhotel.de","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.linuxhotel.de/course/pf-de/","name":"PF-Paketfilter"}}]}]}</script> <!-- /Rank Math WordPress SEO Plugin --> <link rel="alternate" type="application/rss+xml" title="Linuxhotel » Feed" href="https://www.linuxhotel.de/feed/" /> <link rel="alternate" type="application/rss+xml" title="Linuxhotel » Kommentar-Feed" href="https://www.linuxhotel.de/comments/feed/" /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='preload' href='https://www.linuxhotel.de/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link data-minify="1" rel='preload' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/nextgen-gallery/static/Lightbox/simplelightbox/simple-lightbox.css?ver=1739794467' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link rel='preload' href='https://www.linuxhotel.de/wp-content/themes/liho/js/datepicker/datepicker.min.css?ver=6.7.2' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link rel='preload' href='https://www.linuxhotel.de/wp-content/themes/liho/js/OwlCarousel2-2.3.4/dist/assets/owl.carousel.min.css?ver=6.7.2' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link rel='preload' href='https://www.linuxhotel.de/wp-content/themes/liho/js/OwlCarousel2-2.3.4/dist/assets/owl.theme.default.min.css?ver=6.7.2' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link data-minify="1" rel='preload' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/themes/liho/liho_re.css?ver=1739794467' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link data-minify="1" rel='preload' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/themes/liho/less/card.css?ver=1739794467' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link data-minify="1" rel='preload' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/css/style.basic.css?ver=1739794467' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link data-minify="1" rel='preload' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/css/style-underline.css?ver=1739794467' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <link data-minify="1" rel='preload' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/tablepress/css/build/default.css?ver=1739794467' data-rocket-async="style" as="style" onload="this.onload=null;this.rel='stylesheet'" onerror="this.removeAttribute('data-rocket-async')" type='text/css' media='all' /> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/liho-pull/js/dist/index.js?ver=1739794467" id="product-filter-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js" data-rocket-defer defer></script> <script type="text/javascript" id="photocrati_ajax-js-extra"> /* <![CDATA[ */ var photocrati_ajax = {"url":"https:\/\/www.linuxhotel.de\/index.php?photocrati_ajax=1","rest_url":"https:\/\/www.linuxhotel.de\/wp-json\/","wp_home_url":"https:\/\/www.linuxhotel.de","wp_site_url":"https:\/\/www.linuxhotel.de","wp_root_url":"https:\/\/www.linuxhotel.de","wp_plugins_url":"https:\/\/www.linuxhotel.de\/wp-content\/plugins","wp_content_url":"https:\/\/www.linuxhotel.de\/wp-content","wp_includes_url":"https:\/\/www.linuxhotel.de\/wp-includes\/","ngg_param_slug":"gallery","rest_nonce":"cb6499121b"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/plugins/nextgen-gallery/static/Legacy/ajax.min.js?ver=3.59.10" id="photocrati_ajax-js" data-rocket-defer defer></script> <link rel="https://api.w.org/" href="https://www.linuxhotel.de/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.linuxhotel.de/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <link rel='shortlink' href='https://www.linuxhotel.de/?p=271373' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.linuxhotel.de/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.linuxhotel.de%2Fcourse%2Fpf-de%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.linuxhotel.de/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.linuxhotel.de%2Fcourse%2Fpf-de%2F&format=xml" /> <style> div[id*='ajaxsearchlitesettings'].searchsettings .asl_option_inner label { font-size: 0px !important; color: rgba(0, 0, 0, 0); } div[id*='ajaxsearchlitesettings'].searchsettings .asl_option_inner label:after { font-size: 11px !important; position: absolute; top: 0; left: 0; z-index: 1; } .asl_w_container { width: 100%; margin: 0px 0px 0px 0px; min-width: 200px; } div[id*='ajaxsearchlite'].asl_m { width: 100%; } div[id*='ajaxsearchliteres'].wpdreams_asl_results div.resdrg span.highlighted { font-weight: bold; color: rgba(217, 49, 43, 1); background-color: rgba(238, 238, 238, 1); } div[id*='ajaxsearchliteres'].wpdreams_asl_results .results img.asl_image { width: 70px; height: 70px; object-fit: cover; } div.asl_r .results { max-height: none; } div.asl_m.asl_w { border:1px solid rgb(164, 164, 164) !important;border-radius:0px 0px 0px 0px !important; box-shadow: none !important; } div.asl_m.asl_w .probox {border: none !important;} div.asl_r.asl_w.vertical .results .item::after { display: block; position: absolute; bottom: 0; content: ''; height: 1px; width: 100%; background: #D8D8D8; } div.asl_r.asl_w.vertical .results .item.asl_last_item::after { display: none; } </style> <link rel="icon" href="https://www.linuxhotel.de/wp-content/uploads/2020/09/cropped-linuxhotel-icon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.linuxhotel.de/wp-content/uploads/2020/09/cropped-linuxhotel-icon-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.linuxhotel.de/wp-content/uploads/2020/09/cropped-linuxhotel-icon-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.linuxhotel.de/wp-content/uploads/2020/09/cropped-linuxhotel-icon-270x270.png" /> <style type="text/css" id="wp-custom-css"> .page-item-4956{ display: none; } </style> <noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript><script type="rocketlazyloadscript"> /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */ (function(w){"use strict";if(!w.loadCSS){w.loadCSS=function(){}} var rp=loadCSS.relpreload={};rp.support=(function(){var ret;try{ret=w.document.createElement("link").relList.supports("preload")}catch(e){ret=!1} return function(){return ret}})();rp.bindMediaToggle=function(link){var finalMedia=link.media||"all";function enableStylesheet(){link.media=finalMedia} if(link.addEventListener){link.addEventListener("load",enableStylesheet)}else if(link.attachEvent){link.attachEvent("onload",enableStylesheet)} setTimeout(function(){link.rel="stylesheet";link.media="only x"});setTimeout(enableStylesheet,3000)};rp.poly=function(){if(rp.support()){return} var links=w.document.getElementsByTagName("link");for(var i=0;i<links.length;i++){var link=links[i];if(link.rel==="preload"&&link.getAttribute("as")==="style"&&!link.getAttribute("data-loadcss")){link.setAttribute("data-loadcss",!0);rp.bindMediaToggle(link)}}};if(!rp.support()){rp.poly();var run=w.setInterval(rp.poly,500);if(w.addEventListener){w.addEventListener("load",function(){rp.poly();w.clearInterval(run)})}else if(w.attachEvent){w.attachEvent("onload",function(){rp.poly();w.clearInterval(run)})}} if(typeof exports!=="undefined"){exports.loadCSS=loadCSS} else{w.loadCSS=loadCSS}}(typeof global!=="undefined"?global:this)) </script> <meta name="MSSmartTagsPreventParsing" content="true"> <meta name="imagetoolbar" content="false"> <meta name="HandheldFriendly" content="True"> <meta name="theme-color" content="#004a94"> <meta name="msapplication-navbutton-color" content="#92a834"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="format-detection" content="telephone=no"> <meta name="generator" content="WP Rocket 3.18" data-wpr-features="wpr_delay_js wpr_defer_js wpr_minify_js wpr_async_css wpr_lazyload_images wpr_minify_css wpr_desktop" /></head> <body class="course-template-default single single-course postid-271373 group-blog no-sidebar"> <div data-rocket-location-hash="54257ff4dc2eb7aae68fa23eb5f11e06" id="page" class="site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header data-rocket-location-hash="47466ce77bc147fda75180113efa59e7" role="banner"> <div data-rocket-location-hash="14cb77cabf1af5e0e20c8ad093bcb08a" id="header"> <a href="https://www.linuxhotel.de/" rel="home" class="site-title">linuxhotel • Schulungen bei den OpenSource'lern</a> <nav id="site-navigation" class="main-navigation" role="navigation" aria-label="Primary Menu"> <button id="menu-toggle" class="menu-toggle">Menü</button> <div id="menu-hauptmenue" class="primary-menu"><ul id="ddd" class="ddd"><li id="menu-item-31271" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-31271"><a href="https://www.linuxhotel.de/kursuebersicht/">Kurse</a> <ul class="sub-menu"> <li id="menu-item-31275" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31275"><a href="https://www.linuxhotel.de/kursuebersicht/admins/">Für Admins</a></li> <li id="menu-item-31274" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31274"><a href="https://www.linuxhotel.de/kursuebersicht/entwickler/">Für Entwickler</a></li> <li id="menu-item-31273" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31273"><a href="https://www.linuxhotel.de/kursuebersicht/anwender/">Für Anwender</a></li> <li id="menu-item-31276" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31276"><a href="https://www.linuxhotel.de/kursuebersicht/kurs-kategorien/">Nach Kategorie</a></li> <li id="menu-item-31280" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31280"><a href="https://www.linuxhotel.de/kursuebersicht/terminplan/">Terminplan</a></li> <li id="menu-item-31272" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31272"><a href="https://www.linuxhotel.de/kursuebersicht/organisatorisches/">Organisatorisches</a></li> <li id="menu-item-131416" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-131416"><a href="https://www.linuxhotel.de/kursuebersicht/unsere-trainer/">Unsere Trainer</a></li> <li id="menu-item-31278" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31278"><a href="https://www.linuxhotel.de/kursuebersicht/restplaetze/">Restplätze</a></li> <li id="menu-item-31279" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31279"><a href="https://www.linuxhotel.de/kursuebersicht/massgeschneiderte-kurse/">Maßgeschneiderte Kurse</a></li> </ul> </li> <li id="menu-item-31296" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-31296"><a href="https://www.linuxhotel.de/open-source/">Open Source</a> <ul class="sub-menu"> <li id="menu-item-31297" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31297"><a href="https://www.linuxhotel.de/open-source/committer/">Die Committer vom Linuxhotel</a></li> <li id="menu-item-31299" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31299"><a href="https://www.linuxhotel.de/open-source/mitgliedschaften-und-support/">Mitgliedschaften und Support</a></li> </ul> </li> <li id="menu-item-31288" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-31288"><a href="https://www.linuxhotel.de/preise-und-infos/">Hotel</a> <ul class="sub-menu"> <li id="menu-item-31295" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31295"><a href="https://www.linuxhotel.de/preise-und-infos/hotelzimmer/">Zimmer & Preise</a></li> <li id="menu-item-31294" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31294"><a href="https://www.linuxhotel.de/preise-und-infos/besonderheiten/">Besonderheiten & Extras</a></li> <li id="menu-item-31292" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31292"><a href="https://www.linuxhotel.de/preise-und-infos/fur-hotelbesucherinnen/">Für Hotelbesucher:innen</a></li> <li id="menu-item-31293" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31293"><a href="https://www.linuxhotel.de/preise-und-infos/fur-seminarteilnehmer/">Für Seminargäste</a></li> <li id="menu-item-31289" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31289"><a href="https://www.linuxhotel.de/preise-und-infos/fur-committer/">Für Committer</a></li> <li id="menu-item-31291" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31291"><a href="https://www.linuxhotel.de/preise-und-infos/arbeitswochenenden/">Arbeitswochenenden</a></li> </ul> </li> <li id="menu-item-31281" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31281"><a href="https://www.linuxhotel.de/bilder/">Bilder</a></li> <li id="menu-item-31283" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-31283"><a href="https://www.linuxhotel.de/ueber-uns/">Über uns</a> <ul class="sub-menu"> <li id="menu-item-31285" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31285"><a href="https://www.linuxhotel.de/ueber-uns/dievillavogelsang/">Die Villa Vogelsang</a></li> <li id="menu-item-31284" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31284"><a href="https://www.linuxhotel.de/ueber-uns/verhaltensrichtlinien/">Verhaltensrichtlinien</a></li> <li id="menu-item-31287" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31287"><a href="https://www.linuxhotel.de/ueber-uns/anreise-linuxhotel/">Anreise Linuxhotel</a></li> <li id="menu-item-124805" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-124805"><a href="https://www.linuxhotel.de/ueber-uns/anreise-ferienwohnung/">Anreise Ferienwohnung</a></li> <li id="menu-item-31286" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-31286"><a href="https://www.linuxhotel.de/ueber-uns/jobs/">Jobs</a> <ul class="sub-menu"> <li id="menu-item-135694" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-135694"><a href="https://www.linuxhotel.de/ueber-uns/jobs/reinigungskraft-servicekraft-m-w-d/">Reinigungs- & Servicekraft (m/w/d)</a></li> </ul> </li> </ul> </li> <li id="menu-item-31282" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31282"><a href="https://www.linuxhotel.de/kontakt/">Kontakt</a></li> </ul></div> </nav> </div> </header> <div data-rocket-location-hash="66716532b0b8a53faaeb3b0c874afe39" class="subhero"> <div data-rocket-location-hash="30c5235261141d2450dc033e5c78bbcc"> <div class="subsiteHeroWrap"></div> </div> </div> <div data-rocket-location-hash="80e7b013ee3a39d5e25e1e5ef3fe01d3" id="primary" class="content-area"> <main data-rocket-location-hash="cbee32c6b03acdcb1433bbd49a4f7f16" id="main" class="site-main" role="main"> <article id="product-271373" class="post post-271373 course type-course status-publish hentry"> <header class="entry-header"> <h1 class="entry-title">PF-Paketfilter</h1> </header> <div class="entry-content"> <div id="produkt-pf" class="prod lang-de"> <div class="left"> <h2>Sichere Netzwerke mit der PF-Firewall</h2> <div class="container description"> <p>Die PF-Firewall ist eine der leistungsfähigsten Open-Source Firewall-Systeme. Diese Firewall ist Bestandteil von <a href="/kurs/openbsd">OpenBSD</a>, NetBSD und <a href="/kurs/freebsd">FreeBSD</a> und seit Version 10.7 'Lion' auch in Apple MacOS X anzutreffen.</p> <p>Dieses Training gibt eine Einführung in das Design von Netzwerken mit Firewall-Systemen anhand der Firewall 'pf'. Dabei werden auch fortgeschrittene Techniken wie redundante Firewall-Cluster und Load-Balancing mittels der PF-Firewall vermittelt.</p> <p>Der Kurs behandelt den Einsatz der PF-Firewall in <a href="/kurs/tcp-ip">IPv4</a> und <a href="/kurs/ipv6">IPv6</a> Netzwerken.</p> </div> <div class="container preconditions"> <h3>Voraussetzungen</h3> <p>Diese Schulung wendet sich an Systemadministratoren, die bereits Erfahrung mit Unix/Linux/BSD-Systemen und IP-Netzwerken (IPv4 oder IPv6) haben.</p> <p>Fast alle unten aufgeführten Themen werden anhand von praktischen Beispielen behandelt, und jeder Teilnehmer kann auf seinem Notebook selbst mitarbeiten. Beachten Sie bitte, dass Sie beim komplexen Thema Sicherheit schon einige Übung im Umgang mit Unix/Linux/BSD brauchen, um die besprochenen Techniken innerhalb der Schulungszeit umsetzen zu können. Das notwendige Netzwerk-Wissen für die Teilnahme kann u.A. im Kurs </p> <p><ul> <li><a href="/kurs/tcp-ip">TCP/IP</a> erworben werden.</li> </ul></p> <p> Entsprechende Betriebssystem-Kenntnisse können in den Kursen <ul> <li><a href="/kurs/admin_grundlagen">Linux Admin Grundlagen</a></li> <li><a href="/kurs/freebsd">FreeBSD</a></li> <li><a href="/kurs/openbsd">OpenBSD</a></li> </ul> erworben werden.</p> </div> <div class="container content"> <h3>Inhalt</h3> <div class="content"> <h4>Übersicht Firewall Technologien</h3> <ul> <li>Paket Filter</li> <li>Application Level Gateway</li> <li>Zustandsorientierte Paketüberprüfung (Stateful Packet Inspection)</li> </ul> <h4>Einsatzszenarien für Firewall Systeme</h3> <ul> <li>Perimeter Firewall</li> <li>interne Firewall</li> <li>Host-Firewall</li> </ul> <h4>Installation einer OpenBSD PF-Firewall</h3> <ul> <li>Vorbereitung</li> <li>Erstellen einer virtuellen Maschine</li> <li>OpenBSD Installationsmedien vorbereiten</li> <li>Den Installationsprozess starten</li> <li>Das OpenBSD Installations-Skript</li> <li>Starten des installierten OpenBSD Systems</li> <li>System-Dokumentation einsehen</li> <li>System-Logs einsehen</li> </ul> <h4>Initiale Konfiguration der PF-Firewall</h3> <ul> <li>Nutzerkontos hinzufügen</li> <li>Root Zugang gewähren</li> <li>Installation zusätzlicher nützlicher Software (z.b. Text-Editor)</li> <li>Nutzer-spezifische Einstellungen vornehmen</li> <li>SSH Passwort-Authentifizierung ausschalten</li> <li>Netzwerk-Schnitstellen konfigurieren</li> <li>Ein einfaches PF-Regelwerk</li> <li>Block Policy: 'drop' oder 'return'</li> <li>Makros und Listen</li> <li>Von der Kunst, verständliche Firewall-Regelwerke zu erstellen</li> <li>Dokumentation der Firewall Regeln</li> <li>Firewall Regeln prüfen, laden und löschen</li> <li>Datenpackete mit tcpdump beobachten</li> <li>PF-Log Informationen einsehen</li> <li>Erweiterung des simulierten Netzwerks</li> <ul> <li>IPv4-Forwarding aktivieren</li> <li>eine weitere Virtuelle Machine installieren</li> </ul> <li>NAT (Network-Address-Translation) einschalten</li> <ul> <li>PF-Anweisungen 'nat-to' und 'match'</li> <li>NAT im PF-Regelwerk aktvieren</li> </ul> <li>Statische Routen setzen</li> <li>Routing mit traceroute analysieren </li> <li>IPv6 Addressen konfigurieren</li> <li>ICMP / ICMPv6 / Neighbour Discovery / Link-Local Addressen</li> <li>Multicast</li> </ul> <h4>Application-Layer Gateway</h3> <ul> <li>HTTP Server einrichten</li> <li>Port-Weiterleitung einrichten</li> <li>NTP Server einrichten</li> <li>TLS-Proxy einrichten</li> </ul> <h4>Redundante PF-Firewalls mit CARP</h3> <ul> <li>Eine weitere Firewall installieren</li> <li>CARP konfiguieren</li> <li>PF-Konfiguration anpassen</li> <li>TLS-Proxy Konfiguration anpassen</li> <li>Firewall-Synchronisation einrichten (pfsync)</li> <li>CARP im internen Netzwerk</li> <li>CARP failover testen</li> </ul> <h4>Datenverkehr protokollieren und überwachen</h3> <ul> <li>Pflow konfigurieren</li> <li>Installation von nfsen</li> <li>Firewall-Logs auf einem zentralen Server speichern</li> </ul> <h4>IPsec VPN</h3> <ul> <li>IPsec konfigurieren</li> <li>IPsec und CARP im gemeinsamen Betrieb</li> </ul> <h4>Wireguard VPN</h3> <h4>Automatisierung der Firewall-Installation</h3> <ul> <li>Auto-Install vorbereiten</li> <li>Firewall automatisiert installieren</li> <li>Konfiguration nach der Installation</li> </ul> <h4>Traffic-Shaping</h3> <ul> <li>Vorbereitung zum Traffic-Shaping</li> <li>Daten-Durchsatz limitieren</li> <li>TCP ACK Pakete priorisieren</li> <li>Faire Paket-Warteschlangen einrichten</li> </ul> <h4>Netzwerkpakete markieren: PF-Tagging</h3> <h4>Regelwerk mit PF-Ankern dynamisch anpassen</h3> <h4>Tabellen als dynamische Datenquelle für das PF-Regelwerk</h3> <h4>Lastverteilung und Quality of Service</h3> <ul> <li>Layer-3 Lastverteilung</li> <li>Layer-7 Lastverteilung</li> </ul> <h4>Paket-Normalisierung</h3> <ul> <li>Fragmentierte IP-Pakete</li> <li>IP Metadaten normalisieren</li> <li>IP-Spoofing verhindern</li> </ul> <h4>Denial of Service Angriffe abwehren (SYN-Proxy)</h3> <h4>Filter basierend auf dem Betriebsystemen (OS-Fingerprinting)</h3> <h4>Mit dem eingebauten PF Regelwerk-Optimierer arbeiten</h3> <h4>DNS (Domain Name System) mit NSD und Unbound bereitstellen</h3> <ul> <li>DNS Zonen für NSD konfigurieren</li> <li>Einen DNS Haupt-Server einrichten (NSD)</li> <li>Einen DNS Secondary-Server einrichten (NSD)</li> <li>DNS Zonen aktuell halten</li> <li>Unbound konfigurieren</li> </ul> <h4>DHCP Server einrichten</h3> <h4>Email von der Firewall verschicken</h3> <ul> <li>SMTP Server mit Authentifizierung einrichten</li> <li>SMTP Smarthost verwenden</li> </ul> <h4>Firewall Backups</h3> <ul> <li>Backup Konzept</li> <li>Backup Nutzerkonto hinzufügen</li> <li>OpenBSD System-Backup mit dump/restore</li> </ul> <h4>Anpassung der installierten Firewall Software</h3> <ul> <li>Firewall-Installation mit eigenen Daten anreichern</li> <li>Eigene Software-Ports und Pakete erstellen</li> </ul> <h4>Firewallsystem aktuell halten</h3> <ul> <li>Errata mit syspatch installieren</li> <li>Errata via Quellcode Patch installieren</li> <li>Auf die nächste OpenBSD Version wechseln</li> <li>Software Pakete aktualisieren</li> </ul> <h4>Die OpenBSD Network-Shell (NSH)</h3> <ul> <li>NSH Kommando Syntax</li> <li>NSH Installation und Konfiguration</li> <li>Netzwerk-Schnittstellen mit NSH verwalten</li> <li>PF-Firewall mit NSH verwalten</li> <li>Systemdienste mit NSH verwalten</li> </ul> <h4>Knobelaufgaben</h3> <ul> <li>Das Root-Passwort zurücksetzen</li> <li>tmux</li> <li>Abbrechende SSH Verbindungen</li> <li>Vor langer Zeit in einer fernen Galaxie...</li> <li>Eine transparente Firewall</li> <li>Verschlüsselte Festplatte</li> <li>OpenBSD auf einem Laptop installieren</li> </ul> </div> </div> <div class="container times"> <h3>Kurszeiten</h3> <div class="content"> <p>Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.</p> <p>An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.</p> <p> Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr. </p> <p>Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen. </p> <p>Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.</p> </div> </div> </div> <div class="right"> <p class="single-course-translation-row"><span>same course in English</span><a href="/courses/pf-en"><img class="flag" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" data-lazy-src="/wp-content/themes/liho/img/lang/en.png"><noscript><img class="flag" src="/wp-content/themes/liho/img/lang/en.png"></noscript></a></p> <div class="container price"> <h5>Preis und Dauer</h5> <p>3 Tage, <br>1.567,62 € + 19% MwSt. = 1.865,47 €</p> <p><a href="/preise-und-infos/fur-seminarteilnehmer/">Übernachtungsoptionen</a></p> </div> <div class="container appointments" id="register-appointments"> <h5>Termine und Anmeldung</h5> <p>Es steht noch kein Termin für diesen Kurs fest.</p> <p>Haben Sie einen <a href="https://shop.linuxhotel.de/de/inquiries/pf/de/new">Wunschtermin</a>?</p> <!--<a class="btn" href="/kursuebersicht/anmeldung/#course=pf">Anmelden</a>--> </div> <div class="container relatedcourses"> <h5>Verwandte Seminare ...</h5> <p>... aus der Kategorie <a href="/categories/?cat=security">Sicherheit</a> </p> <ul> <hr><li><a href="/course/amavis-de">Amavis Spam&Virenfilter</a></li><li><a href="/course/android_reverse_engineering-de">Android Reverse Engineering</a></li><li><a href="/course/android-sicherheit-de">Android Security Foundations</a></li><li><a href="/course/memory-forensik-de">Arbeitsspeicher Forensik</a></li><li><a href="/course/asterisk-voip-sicherheit-de">Asterisk VoIP Sicherheit</a></li><li><a href="/course/ddos-de">DDoS Praxisworkshop</a></li><li><a href="/course/dnssec-de">DNS und BIND - Betrieb und Sicherheit</a></li><li><a href="/course/forensik-de">Digitale Forensik</a></li><li><a href="/course/firewall-de">Firewall & Netzwerksecurity</a></li><li><a href="/course/ipsec-de">IPsec</a></li><li><a href="/course/sicherheit-fuer-entwickler-de">IT-Sicherheit für Entwickler</a></li><li><a href="/course/lpi303-de">LPI 303 Security</a></li><li><a href="/course/malware_analyse-de">Malware-Analyse</a></li><li><a href="/course/netzwerk-forensik-de">Netzwerkforensik</a></li><li><a href="/course/opnsense-de">OPNsense</a></li><li><a href="/course/opnsense-einsteiger-de">OPNsense für Einsteiger</a></li><li><a href="/course/opnsense-fortgeschrittene-de">OPNsense für Fortgeschrittene</a></li><li><a href="/course/openbsd-de">OpenBSD</a></li><li><a href="/course/openvpn-de">OpenVPN</a></li><li><a href="/course/reverse-engineering-de">Reverse Engineering</a></li><li><a href="/course/server-sicherheit-de">Server Sicherheit</a></li><li><a href="/course/web_sicherheit-de">Sichere Webentwicklung</a></li><li><a href="/course/oauth-openid-security-de">Sicherheit für OAuth und OpenID Connect</a></li><li><a href="/course/rest-security-de">Sicherheit für REST APIs</a></li><li><a href="/course/deobfuscation-de">Software (De)-Obfuscation</a></li><li><a href="/course/suricata-de">Suricata</a></li><li><a href="/course/tls-de">TLS-Sicherheit</a></li><li><a href="/course/unix_forensik-de">Unix Server Forensik</a></li><li><a href="/course/xml-sicherheit-de">Webservice Sicherheit</a></li><li><a href="/course/android-forensics">android forensics</a><span class="course-translations"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" data-lazy-src="/wp-content/themes/liho/img/lang/de.png"><noscript><img src="/wp-content/themes/liho/img/lang/de.png"></noscript><a href="/course/android-forensics-en"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" data-lazy-src="/wp-content/themes/liho/img/lang/en.png"><noscript><img src="/wp-content/themes/liho/img/lang/en.png"></noscript></a></span></li><li><a href="/course/web_application_firewall-de">mod_security</a></li><li><a href="/course/cryptography-de">praktische Kryptographie</a></li><li><a href="/course/pf">PF-Paketfilter</a><span class="course-translations"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" data-lazy-src="/wp-content/themes/liho/img/lang/de.png"><noscript><img src="/wp-content/themes/liho/img/lang/de.png"></noscript><a href="/course/pf-en"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" data-lazy-src="/wp-content/themes/liho/img/lang/en.png"><noscript><img src="/wp-content/themes/liho/img/lang/en.png"></noscript></a></span></li> </ul> </div> </div> </div> </div> </article> </main> </div> <footer data-rocket-location-hash="2f2a8e58f2cf20d66ae24285ba86ee7d"> <div data-rocket-location-hash="3a6d23777c8213a896ff51f10239ea6d" id="footer"> <div class="cell"> <h3><a href="/kursuebersicht/">Kurse</a></h3> <ul> <li><a class="footermenu" href="/kursuebersicht/admins/">Admins</a></li> <li><a class="footermenu" href="/kursuebersicht/entwickler/">Entwickler</a></li> <li><a class="footermenu" href="/kursuebersicht/anwender/">Anwender</a></li> <li><a class="footermenu" href="/kursuebersicht/kurs-kategorien/">Nach Kategorie</a></li> <li><a class="footermenu" href="/kursuebersicht/terminplan/">Terminplan</a></li> </ul> </div> <div class="cell"> <h3>Preise & Infos</h3> <ul> <li><a class="footermenu" href="/preise-und-infos/hotelzimmer/">Zimmer & Preise</a></li> <li><a class="footermenu" href="/ueber-uns/anreise-linuxhotel">Anreise</a></li> <li><a class="footermenu" href="/preise-und-infos/organisatorisches/">Stornierung</a></li> </ul> </div> <div class="cell"> <h3>Community</h3> <ul> <li><a class="footermenu" href="/ueber-uns/">Über uns</a></li> <li><a class="footermenu" href="/open-source/committer/">Die Committer vom Linuxhotel</a></li> <li><a class="footermenu" href="/open-source/mitgliedschaften-und-support/">Mitgliedschaften und Support</a></li> </ul> </div> <div class="cell"> <h3>Kontakt</h3> <p> Linuxhotel GmbH <br>Antonienallee 1 <br>45279 Essen-Horst <br> <br>Telefon <a href="tel:+492018536600">0201 8536-600</a> <br>Telefax <a href="tel:+492018536605">0201 8536-605</a> <br><a href="mailto:info@linuxhotel.de">info@linuxhotel.de</a> </p> </div> </div> </footer> <div data-rocket-location-hash="37e27c3c3265419ca832a8be03c30709" id="footerBottom"> <div data-rocket-location-hash="eeb7e3f29ea113d3e4add7ae5d841eb6" id="footerBottomContainer"> <div id="socialMediaFooter"> <a title="Das Linuxhotel auf Mastodon" href="https://linuxhotel.social/@linuxhotel" target="_blank"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2065%2065'%3E%3C/svg%3E" alt="Mastodon" width="65" height="65" data-lazy-src="https://www.linuxhotel.de/wp-content/themes/liho/img/icons/mastodon.svg"><noscript><img src="https://www.linuxhotel.de/wp-content/themes/liho/img/icons/mastodon.svg" alt="Mastodon" width="65" height="65"></noscript></a> </div> <div> The registered trademark Linux® is used pursuant to a sublicense from the Linux Mark Institute, the exclusive licensee of Linus Torvalds, owner of the mark in the U.S. and other countries. </div> <div id="legalsFooter"> <a href="/datenschutz/">Datenschutz</a> <a href="/impressum/">Impressum</a> <a href="/ueber-uns/verhaltensrichtlinien/">Verhaltensrichtlinien</a> </div> </div> </div> </div><!-- .site --> <script type="text/javascript" id="ngg_common-js-extra"> /* <![CDATA[ */ var nextgen_lightbox_settings = {"static_path":"https:\/\/www.linuxhotel.de\/wp-content\/plugins\/nextgen-gallery\/static\/Lightbox\/{placeholder}","context":"all_images_direct"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/nextgen-gallery/static/GalleryDisplay/common.js?ver=1739794467" id="ngg_common-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/nextgen-gallery/static/Lightbox/lightbox_context.js?ver=1739794467" id="ngg_lightbox_context-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/nextgen-gallery/static/Lightbox/simplelightbox/simple-lightbox.js?ver=1739794467" id="simplelightbox-0-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/nextgen-gallery/static/Lightbox/simplelightbox/nextgen_simple_lightbox_init.js?ver=1739794467" id="simplelightbox-1-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/themes/liho/js/skip-link-focus-fix.js?ver=1739794467" id="twentysixteen-skip-link-focus-fix-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/themes/liho/js/OwlCarousel2-2.3.4/dist/owl.carousel.min.js?ver=1.0" id="owlslider-js" data-rocket-defer defer></script> <script type="text/javascript" id="twentysixteen-script-js-extra"> /* <![CDATA[ */ var screenReaderText = {"expand":"expand child menu","collapse":"collapse child menu"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/themes/liho/js/functions.js?ver=1739794467" id="twentysixteen-script-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" id="wd-asl-ajaxsearchlite-js-before"> /* <![CDATA[ */ window.ASL = typeof window.ASL !== 'undefined' ? window.ASL : {}; window.ASL.wp_rocket_exception = "DOMContentLoaded"; window.ASL.ajaxurl = "https:\/\/www.linuxhotel.de\/wp-admin\/admin-ajax.php"; window.ASL.backend_ajaxurl = "https:\/\/www.linuxhotel.de\/wp-admin\/admin-ajax.php"; window.ASL.js_scope = "jQuery"; window.ASL.asl_url = "https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/"; window.ASL.detect_ajax = 0; window.ASL.media_query = 4768; window.ASL.version = 4768; window.ASL.pageHTML = ""; window.ASL.additional_scripts = [{"handle":"wd-asl-ajaxsearchlite","src":"https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/js\/min\/plugin\/optimized\/asl-prereq.js","prereq":[]},{"handle":"wd-asl-ajaxsearchlite-core","src":"https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/js\/min\/plugin\/optimized\/asl-core.js","prereq":[]},{"handle":"wd-asl-ajaxsearchlite-vertical","src":"https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/js\/min\/plugin\/optimized\/asl-results-vertical.js","prereq":["wd-asl-ajaxsearchlite"]},{"handle":"wd-asl-ajaxsearchlite-autocomplete","src":"https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/js\/min\/plugin\/optimized\/asl-autocomplete.js","prereq":["wd-asl-ajaxsearchlite"]},{"handle":"wd-asl-ajaxsearchlite-load","src":"https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/js\/min\/plugin\/optimized\/asl-load.js","prereq":["wd-asl-ajaxsearchlite-autocomplete"]}]; window.ASL.script_async_load = false; window.ASL.init_only_in_viewport = true; window.ASL.font_url = "https:\/\/www.linuxhotel.de\/wp-content\/plugins\/ajax-search-lite\/css\/fonts\/icons2.woff2"; window.ASL.css_async = false; window.ASL.highlight = {"enabled":false,"data":[]}; window.ASL.analytics = {"method":0,"tracking_id":"","string":"?ajax_search={asl_term}","event":{"focus":{"active":1,"action":"focus","category":"ASL","label":"Input focus","value":"1"},"search_start":{"active":0,"action":"search_start","category":"ASL","label":"Phrase: {phrase}","value":"1"},"search_end":{"active":1,"action":"search_end","category":"ASL","label":"{phrase} | {results_count}","value":"1"},"magnifier":{"active":1,"action":"magnifier","category":"ASL","label":"Magnifier clicked","value":"1"},"return":{"active":1,"action":"return","category":"ASL","label":"Return button pressed","value":"1"},"facet_change":{"active":0,"action":"facet_change","category":"ASL","label":"{option_label} | {option_value}","value":"1"},"result_click":{"active":1,"action":"result_click","category":"ASL","label":"{result_title} | {result_url}","value":"1"}}}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/js/min/plugin/optimized/asl-prereq.js?ver=1739794467" id="wd-asl-ajaxsearchlite-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/js/min/plugin/optimized/asl-core.js?ver=1739794467" id="wd-asl-ajaxsearchlite-core-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/js/min/plugin/optimized/asl-results-vertical.js?ver=1739794467" id="wd-asl-ajaxsearchlite-vertical-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/js/min/plugin/optimized/asl-autocomplete.js?ver=1739794467" id="wd-asl-ajaxsearchlite-autocomplete-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/js/min/plugin/optimized/asl-load.js?ver=1739794467" id="wd-asl-ajaxsearchlite-load-js" data-rocket-defer defer></script> <script type="rocketlazyloadscript" data-minify="1" data-rocket-type="text/javascript" data-rocket-src="https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/js/min/plugin/optimized/asl-wrapper.js?ver=1739794467" id="wd-asl-ajaxsearchlite-wrapper-js" data-rocket-defer defer></script> <script>window.lazyLoadOptions=[{elements_selector:"img[data-lazy-src],.rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}},{elements_selector:".rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,}];window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script><script data-no-minify="1" async src="https://www.linuxhotel.de/wp-content/plugins/wp-rocket/assets/js/lazyload/17.8.3/lazyload.min.js"></script><script>var rocket_beacon_data = {"ajax_url":"https:\/\/www.linuxhotel.de\/wp-admin\/admin-ajax.php","nonce":"28e73848a4","url":"https:\/\/www.linuxhotel.de\/course\/pf-de","is_mobile":false,"width_threshold":1600,"height_threshold":700,"delay":500,"debug":null,"status":{"atf":true,"lrc":true},"elements":"img, video, picture, p, main, div, li, svg, section, header, span","lrc_threshold":1800}</script><script data-name="wpr-wpr-beacon" src='https://www.linuxhotel.de/wp-content/plugins/wp-rocket/assets/js/wpr-beacon.min.js' async></script><script>"use strict";function wprRemoveCPCSS(){var preload_stylesheets=document.querySelectorAll('link[data-rocket-async="style"][rel="preload"]');if(preload_stylesheets&&0<preload_stylesheets.length)for(var stylesheet_index=0;stylesheet_index<preload_stylesheets.length;stylesheet_index++){var media=preload_stylesheets[stylesheet_index].getAttribute("media")||"all";if(window.matchMedia(media).matches)return void setTimeout(wprRemoveCPCSS,200)}var elem=document.getElementById("rocket-critical-css");elem&&"remove"in elem&&elem.remove()}window.addEventListener?window.addEventListener("load",wprRemoveCPCSS):window.attachEvent&&window.attachEvent("onload",wprRemoveCPCSS);</script><noscript><link rel='stylesheet' id='wp-block-library-css' href='https://www.linuxhotel.de/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' type='text/css' media='all' /><link data-minify="1" rel='stylesheet' id='simplelightbox-0-css' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/nextgen-gallery/static/Lightbox/simplelightbox/simple-lightbox.css?ver=1739794467' type='text/css' media='all' /><link rel='stylesheet' id='datepicker-css' href='https://www.linuxhotel.de/wp-content/themes/liho/js/datepicker/datepicker.min.css?ver=6.7.2' type='text/css' media='all' /><link rel='stylesheet' id='owl-css' href='https://www.linuxhotel.de/wp-content/themes/liho/js/OwlCarousel2-2.3.4/dist/assets/owl.carousel.min.css?ver=6.7.2' type='text/css' media='all' /><link rel='stylesheet' id='owldefault-css' href='https://www.linuxhotel.de/wp-content/themes/liho/js/OwlCarousel2-2.3.4/dist/assets/owl.theme.default.min.css?ver=6.7.2' type='text/css' media='all' /><link data-minify="1" rel='stylesheet' id='liho-css' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/themes/liho/liho_re.css?ver=1739794467' type='text/css' media='all' /><link data-minify="1" rel='stylesheet' id='card-css' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/themes/liho/less/card.css?ver=1739794467' type='text/css' media='all' /><link data-minify="1" rel='stylesheet' id='wpdreams-asl-basic-css' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/css/style.basic.css?ver=1739794467' type='text/css' media='all' /><link data-minify="1" rel='stylesheet' id='wpdreams-asl-instance-css' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/ajax-search-lite/css/style-underline.css?ver=1739794467' type='text/css' media='all' /><link data-minify="1" rel='stylesheet' id='tablepress-default-css' href='https://www.linuxhotel.de/wp-content/cache/min/1/wp-content/plugins/tablepress/css/build/default.css?ver=1739794467' type='text/css' media='all' /></noscript></body> </html> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me - Debug: cached@1740393589 -->