{"id":14348,"date":"2026-07-17T10:36:08","date_gmt":"2026-07-17T08:36:08","guid":{"rendered":"https:\/\/irg-net.com\/?p=14348"},"modified":"2026-07-17T11:25:05","modified_gmt":"2026-07-17T09:25:05","slug":"ubiquiti-travel-router-utr-and-wireguard-vpn-setup","status":"publish","type":"post","link":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/","title":{"rendered":"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?resize=1024%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-14357\" style=\"width:222px;height:auto\" srcset=\"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?resize=1024%2C1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?resize=768%2C767&amp;ssl=1 768w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?w=1522&amp;ssl=1 1522w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Before diving into the technical details, I want to give credit where credit is due.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This whole journey started with a video by my colleague <strong><a href=\"https:\/\/schroederdennis.de\/\" data-type=\"link\" data-id=\"https:\/\/schroederdennis.de\/it-coaching-beratung-dienstleistungen-proxmox-training\/\">Dennis Schr\u00f6der<\/a><\/strong>. I came across his content, watched his take on the UniFi Travel Router, and was immediately sold. His video is one of those rare pieces of content that doesn&#8217;t just show you a product &#8211; it makes you genuinely excited to try it yourself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dennis, if you&#8217;re reading this &#8211; thank you! Your video directly inspired this setup, and I hope this guide gives something back to the community in the same spirit you always do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Check out Dennis&#8217; Video here:<\/strong><\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Unifi Travel Router (UTR) - Nahtlose Integration via VPN mit einem Klick\" width=\"1140\" height=\"641\" src=\"https:\/\/www.youtube.com\/embed\/7vvClrdsGUc?start=603&amp;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">UniFi Travel Router (UTR) \u2014 Technical Overview<\/h3>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The UniFi Travel Router (UTR) is a compact, portable networking device developed by Ubiquiti as part of the UniFi ecosystem. It is designed for professionals and power users who require enterprise-grade network capabilities while on the road.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Form Factor &amp; Hardware<\/strong><br>The UTR is built in an ultra-compact form factor, making it ideal for travel. Despite its small size, it delivers surprisingly capable hardware specifications that allow it to handle VPN encryption, network segmentation, and wireless bridging simultaneously without significant performance degradation.<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Core Functionality<\/strong><br>The Travel Router operates in multiple modes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Hotel\/Uplink Mode<\/strong> \u2014 connects to an existing WiFi network (e.g. hotel WiFi) and creates a private, isolated network behind it. All connected devices share a single uplink while remaining protected from other guests on the public network.<\/li>\n\n\n\n<li style=\"font-size:16px\"><strong>Ethernet Uplink Mode<\/strong> \u2014 connects via wired Ethernet for maximum stability and throughput.<\/li>\n\n\n\n<li style=\"font-size:16px\"><strong>Hotspot\/Tethering Mode<\/strong> \u2014 uses a smartphone&#8217;s mobile data connection as the uplink source.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>VPN Capabilities<\/strong><br>One of the standout features of the UTR from an enterprise perspective is its native <strong>VPN client support<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>WireGuard<\/strong> \u2014 modern, lightweight, and extremely fast VPN protocol with minimal overhead. Ideal for site-to-home or road warrior scenarios.<\/li>\n\n\n\n<li style=\"font-size:16px\"><strong>OpenVPN<\/strong> \u2014 widely supported legacy protocol for compatibility with existing infrastructure.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The VPN client runs directly on the router \u2014 meaning <strong>all connected devices benefit from the VPN tunnel automatically<\/strong>, without any individual client configuration. This is particularly powerful in corporate environments where end devices (laptops, phones) cannot or should not have VPN software installed directly.<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>UniFi Ecosystem Integration<\/strong><br>The UTR integrates natively into the <strong>UniFi Network Application<\/strong>, allowing centralized management alongside other UniFi devices such as switches, access points, and gateways. For standalone use, it can also be operated without a UniFi controller via a local management interface.<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-21.png?resize=1024%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-14363\" style=\"width:318px;height:auto\" srcset=\"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-21.png?resize=1024%2C1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-21.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-21.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-21.png?resize=768%2C768&amp;ssl=1 768w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-21.png?w=1206&amp;ssl=1 1206w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Practical Use Case \u2014 HomeLab &amp; Corporate Access<\/strong><br>For IT professionals running a HomeLab or managing remote infrastructure, the UTR provides an elegant solution: plug it into any hotel network, activate the WireGuard VPN tunnel back to the home server, and all connected devices \u2014 including corporate laptops that cannot be individually configured \u2014 automatically route their traffic securely through the home network. All internal FQDNs, services, and resources become instantly accessible as if physically present in the home lab.<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Infrastructure:<\/strong><\/h3>\n\n\n\n<ul style=\"font-size:16px\" class=\"wp-block-list\">\n<li>SD-WAN Gateway \/ Router etc. with Port Forwarding<\/li>\n\n\n\n<li>Ubuntu 24.04 VM (or newer) on VMware ESXi 9.1<\/li>\n\n\n\n<li>2 vCPU, 2 GB RAM, 20 GB Storage<\/li>\n\n\n\n<li>Network Adapter: VMXNET3<\/li>\n\n\n\n<li>UniFi Travel Router (UTR) as VPN Client<\/li>\n<\/ul>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisites<\/h3>\n\n\n\n<ul style=\"font-size:16px\" class=\"wp-block-list\">\n<li>Ubuntu 24.04 VM (or newer) with a static internal IP<\/li>\n\n\n\n<li>Static public IP (or DDNS)<\/li>\n\n\n\n<li>Port Forwarding on the Gateway\/Router: <strong>UDP Port 51820<\/strong> \u2192 Ubuntu VM<\/li>\n\n\n\n<li>Root\/sudo access to the VM<\/li>\n<\/ul>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Installation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Step 1 &#8211; Update the VM \/ OS:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo apt update &amp;&amp; sudo apt upgrade -y<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo apt update <\/span><span style=\"color: #D8DEE9\">&amp;&amp;<\/span><span style=\"color: #D8DEE9FF\"> sudo apt upgrade <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">y<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 2 &#8211; Install WireGuard<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo apt install wireguard -y<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo apt install wireguard <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">y<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 3 &#8211; Check the NIC Name on the VMs the interface is often called <strong>ens160<\/strong> instead of eth0:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>ip link show<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">ip link show<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 4 &#8211; Generate the Server Key Pair<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo -i\ncd \/etc\/wireguard\nwg genkey | tee server_private.key | wg pubkey | tee server_public.key\nchmod 600 server_private.key\n\n# Store the Server Private Key securely \u2014 e.g. in a password manager. If lost, all clients need to be reconfigured!<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">i<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">cd <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">etc<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">wireguard<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">wg genkey <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> tee server_private<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">key <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> wg pubkey <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> tee server_public<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">key<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">chmod <\/span><span style=\"color: #B48EAD\">600<\/span><span style=\"color: #D8DEE9FF\"> server_private<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">key<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Store the Server Private Key securely \u2014 e.g. in a password manager. If lost, all clients need to be reconfigured!<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 5 &#8211; Create the Server Configuration<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>nano \/etc\/wireguard\/wg0.conf\n\n&#91;Interface&#93;\nPrivateKey = YOUR_SERVER_PRIVATE_KEY\nAddress = 10.0.0.1\/24\nListenPort = 51820\nSaveConfig = true\n\nPostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE\nPostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens160 -j MASQUERADE\n\n# Replace ens160 with your actual interface name if different!<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">nano <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">etc<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">wireguard<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">wg0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">conf<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">Interface<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">PrivateKey <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> YOUR_SERVER_PRIVATE_KEY<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">Address <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10.0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">1<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #B48EAD\">24<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">ListenPort <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">51820<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">SaveConfig <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">PostUp <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> iptables <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">A FORWARD <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">i wg0 <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">j ACCEPT; iptables <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">A FORWARD <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">o wg0 <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">j ACCEPT; iptables <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">t nat <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">A POSTROUTING <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">o ens160 <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">j MASQUERADE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">PostDown <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> iptables <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">D FORWARD <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">i wg0 <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">j ACCEPT; iptables <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">D FORWARD <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">o wg0 <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">j ACCEPT; iptables <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">t nat <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">D POSTROUTING <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">o ens160 <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">j MASQUERADE<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Replace ens160 with your actual interface name if different!<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 6 &#8211; Enable IP Forwarding<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>nano \/etc\/sysctl.conf\n\n# Uncomment this line:\n\nnet.ipv4.ip_forward=1\n\n# Apply immediately:\n\nsysctl -p<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">nano <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">etc<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">sysctl<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">conf<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Uncomment this line:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">net<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">ipv4<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">ip_forward<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Apply immediately:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sysctl <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">p<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 7 \u2014 Start WireGuard &amp; Enable Autostart<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(1 * 0.6 * 14px);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo systemctl enable wg-quick@wg0\nsudo systemctl start wg-quick@wg0\nsudo systemctl status wg-quick@wg0<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo systemctl enable wg<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">quick<\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9FF\">wg0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo systemctl start wg<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">quick<\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9FF\">wg0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo systemctl status wg<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">quick<\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9FF\">wg0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 8 \u2014 Configure the Firewall<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(1 * 0.6 * 14px);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo ufw allow ssh\nsudo ufw allow 51820\/udp\nsudo ufw enable\nsudo ufw status<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo ufw allow ssh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo ufw allow <\/span><span style=\"color: #B48EAD\">51820<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">udp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo ufw enable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo ufw status<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Client Configuration \u2014 UniFi Travel Router<\/h3>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The UniFi Travel Router generates its <strong>own public key pair internally<\/strong> \u2014 you cannot import an externally generated public key. The correct workflow is therefore different from a standard WireGuard client setup!<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 1 &#8211; Before implementing the public key from the UTR, create a QR Code, which you can scan.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo apt install qrencode -y\nsudo bash -c 'qrencode -t ansiutf8 &lt; \/etc\/wireguard\/client.conf'<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo apt install qrencode <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo bash <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">c <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">qrencode -t ansiutf8 &lt; \/etc\/wireguard\/client.conf<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As soon as you scan the QR Code the UTR will provide a public key. Note down the <strong>**Public Key**<\/strong> (\u00d6ffentlicher Schl\u00fcssel in German) displayed by the Travel Router:<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"562\" height=\"1024\" src=\"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-19.png?resize=562%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-14349\" srcset=\"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-19.png?resize=562%2C1024&amp;ssl=1 562w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-19.png?resize=165%2C300&amp;ssl=1 165w, https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-19.png?w=738&amp;ssl=1 738w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/figure>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 2 &#8211; Add the Travel Router Public Key to the Server<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo -i\nwg set wg0 peer TRAVEL_ROUTER_PUBLIC_KEY allowed-ips 10.0.0.3\/32\nwg-quick save wg0<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">i<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">wg <\/span><span style=\"color: #88C0D0\">set<\/span><span style=\"color: #D8DEE9FF\"> wg0 peer TRAVEL_ROUTER_PUBLIC_KEY allowed<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">ips <\/span><span style=\"color: #B48EAD\">10.0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">3<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #B48EAD\">32<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">wg<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">quick save wg0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Step 3 \u2014 Activate and Verify the Connection<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Activate the connection on the Travel Router, then check on the server:\n\nwg show\n\n# A successful connection looks like this:\n\npeer: b6glBcL\/lxhpZ+tb\/Xg41weGzf4AxCOMfZtwmNgzLCY=\n  endpoint: XX.XX.XX.XX:XXXXX\n  allowed ips: 10.0.0.3\/32\n  latest handshake: 3 seconds ago\n  transfer: 360 B received, 184 B sent<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Activate the connection on the Travel Router, then check on the server:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">wg show<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># A successful connection looks like this:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">peer<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> b6glBcL<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">lxhpZ<\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\">tb<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">Xg41weGzf4AxCOMfZtwmNgzLCY<\/span><span style=\"color: #81A1C1\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  endpoint<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> XX<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">XX<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">XX<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">XX<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">XXXXX<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  allowed ips<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10.0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">3<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #B48EAD\">32<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  latest handshake<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #D8DEE9FF\"> seconds ago<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  transfer<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">360<\/span><span style=\"color: #D8DEE9FF\"> B received<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">184<\/span><span style=\"color: #D8DEE9FF\"> B sent<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Useful Commands<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:14px;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Check WireGuard status\nsudo wg show\n\n# Monitor live traffic\nsudo tcpdump -i ens160 udp port 51820\n\n# Save configuration\nsudo wg-quick save wg0\n\n# Restart WireGuard\nsudo systemctl restart wg-quick@wg0\n\n# Add a peer\nsudo wg set wg0 peer PUBLIC_KEY allowed-ips 10.0.0.X\/32\n\n# Remove a peer\nsudo wg set wg0 peer PUBLIC_KEY remove\n\n# Check public IP\ncurl ifconfig.me\n\n# Generate QR Code for a client\nsudo apt install qrencode -y\nsudo bash -c 'qrencode -t ansiutf8 &lt; \/etc\/wireguard\/client.conf'<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># Check WireGuard status<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo wg show<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Monitor live traffic<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo tcpdump <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">i ens160 udp port <\/span><span style=\"color: #B48EAD\">51820<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Save configuration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo wg<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">quick save wg0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Restart WireGuard<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo systemctl restart wg<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">quick<\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9FF\">wg0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Add a peer<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo wg <\/span><span style=\"color: #88C0D0\">set<\/span><span style=\"color: #D8DEE9FF\"> wg0 peer PUBLIC_KEY allowed<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">ips <\/span><span style=\"color: #B48EAD\">10.0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">X<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #B48EAD\">32<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Remove a peer<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo wg <\/span><span style=\"color: #88C0D0\">set<\/span><span style=\"color: #D8DEE9FF\"> wg0 peer PUBLIC_KEY remove<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Check public IP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">curl ifconfig<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">me<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Generate QR Code for a client<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo apt install qrencode <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">sudo bash <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">c <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">qrencode -t ansiutf8 &lt; \/etc\/wireguard\/client.conf<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s it from this post, if you have any questions please use the comment section below! \ud83d\ude42<\/p>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Before diving into the technical details, I want to give credit where credit is due. This whole journey started with a video by my colleague Dennis Schr\u00f6der. I came across his content, watched his take on the UniFi Travel Router, and was immediately sold. His video is one of those rare pieces of content that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1,20,24],"tags":[],"class_list":["post-14348","post","type-post","status-publish","format-standard","hentry","category-blog","category-linux","category-ubuntu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ubiquiti Travel Router (UTR) and Wireguard VPN Setup - irgNET<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup - irgNET\" \/>\n<meta property=\"og:description\" content=\"Before diving into the technical details, I want to give credit where credit is due. This whole journey started with a video by my colleague Dennis Schr\u00f6der. I came across his content, watched his take on the UniFi Travel Router, and was immediately sold. His video is one of those rare pieces of content that [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/\" \/>\n<meta property=\"og:site_name\" content=\"irgNET\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-17T08:36:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-17T09:25:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20-1024x1024.png\" \/>\n<meta name=\"author\" content=\"H. Cemre G\u00fcnay\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@irg_net\" \/>\n<meta name=\"twitter:site\" content=\"@irg_net\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"H. Cemre G\u00fcnay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/\"},\"author\":{\"name\":\"H. Cemre G\u00fcnay\",\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#\\\/schema\\\/person\\\/71b46e79e8c12bdc8e610214a6621a66\"},\"headline\":\"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup\",\"datePublished\":\"2026-07-17T08:36:08+00:00\",\"dateModified\":\"2026-07-17T09:25:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/\"},\"wordCount\":740,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/irg-net.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/image-20-1024x1024.png\",\"articleSection\":[\"Blog\",\"Linux\",\"Ubuntu\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/\",\"url\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/\",\"name\":\"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup - irgNET\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/irg-net.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/image-20-1024x1024.png\",\"datePublished\":\"2026-07-17T08:36:08+00:00\",\"dateModified\":\"2026-07-17T09:25:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/irg-net.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/image-20.png?fit=1522%2C1521&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/irg-net.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/image-20.png?fit=1522%2C1521&ssl=1\",\"width\":1522,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/irg-net.com\\\/index.php\\\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#website\",\"url\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/\",\"name\":\"irgNET\",\"description\":\"a virtual Knowledge Base\",\"publisher\":{\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#organization\",\"name\":\"irg-NET\",\"url\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i2.wp.com\\\/irg-net.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/cropped-FINAL-Removed-Alpha.png?fit=2048%2C2048&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i2.wp.com\\\/irg-net.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/cropped-FINAL-Removed-Alpha.png?fit=2048%2C2048&ssl=1\",\"width\":2048,\"height\":2048,\"caption\":\"irg-NET\"},\"image\":{\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/irg_net\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/h-cemre-g\u00fcnay-2b61601b4\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC8GknhO5YMAkAoVxppu6aaQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/irgnet-ga3w6nfbvw.live-website.com\\\/#\\\/schema\\\/person\\\/71b46e79e8c12bdc8e610214a6621a66\",\"name\":\"H. Cemre G\u00fcnay\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15f5d90a0ec651cb5003605e56e8ba104f93bc11230562284db56c845df9d54d?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15f5d90a0ec651cb5003605e56e8ba104f93bc11230562284db56c845df9d54d?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15f5d90a0ec651cb5003605e56e8ba104f93bc11230562284db56c845df9d54d?s=96&r=g\",\"caption\":\"H. Cemre G\u00fcnay\"},\"sameAs\":[\"http:\\\/\\\/192.168.34.155\\\/wordpress\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup - irgNET","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/","og_locale":"en_US","og_type":"article","og_title":"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup - irgNET","og_description":"Before diving into the technical details, I want to give credit where credit is due. This whole journey started with a video by my colleague Dennis Schr\u00f6der. I came across his content, watched his take on the UniFi Travel Router, and was immediately sold. His video is one of those rare pieces of content that [&hellip;]","og_url":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/","og_site_name":"irgNET","article_published_time":"2026-07-17T08:36:08+00:00","article_modified_time":"2026-07-17T09:25:05+00:00","og_image":[{"url":"https:\/\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20-1024x1024.png","type":"","width":"","height":""}],"author":"H. Cemre G\u00fcnay","twitter_card":"summary_large_image","twitter_creator":"@irg_net","twitter_site":"@irg_net","twitter_misc":{"Written by":"H. Cemre G\u00fcnay","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#article","isPartOf":{"@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/"},"author":{"name":"H. Cemre G\u00fcnay","@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#\/schema\/person\/71b46e79e8c12bdc8e610214a6621a66"},"headline":"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup","datePublished":"2026-07-17T08:36:08+00:00","dateModified":"2026-07-17T09:25:05+00:00","mainEntityOfPage":{"@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/"},"wordCount":740,"commentCount":0,"publisher":{"@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#organization"},"image":{"@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#primaryimage"},"thumbnailUrl":"https:\/\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20-1024x1024.png","articleSection":["Blog","Linux","Ubuntu"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/","url":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/","name":"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup - irgNET","isPartOf":{"@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#primaryimage"},"image":{"@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#primaryimage"},"thumbnailUrl":"https:\/\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20-1024x1024.png","datePublished":"2026-07-17T08:36:08+00:00","dateModified":"2026-07-17T09:25:05+00:00","breadcrumb":{"@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#primaryimage","url":"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?fit=1522%2C1521&ssl=1","contentUrl":"https:\/\/i0.wp.com\/irg-net.com\/wp-content\/uploads\/2026\/07\/image-20.png?fit=1522%2C1521&ssl=1","width":1522,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/irg-net.com\/index.php\/ubiquiti-travel-router-utr-and-wireguard-vpn-setup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/"},{"@type":"ListItem","position":2,"name":"Ubiquiti Travel Router (UTR) and Wireguard VPN Setup"}]},{"@type":"WebSite","@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#website","url":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/","name":"irgNET","description":"a virtual Knowledge Base","publisher":{"@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#organization","name":"irg-NET","url":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#\/schema\/logo\/image\/","url":"https:\/\/i2.wp.com\/irg-net.com\/wp-content\/uploads\/2021\/06\/cropped-FINAL-Removed-Alpha.png?fit=2048%2C2048&ssl=1","contentUrl":"https:\/\/i2.wp.com\/irg-net.com\/wp-content\/uploads\/2021\/06\/cropped-FINAL-Removed-Alpha.png?fit=2048%2C2048&ssl=1","width":2048,"height":2048,"caption":"irg-NET"},"image":{"@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/irg_net","https:\/\/www.linkedin.com\/in\/h-cemre-g\u00fcnay-2b61601b4\/","https:\/\/www.youtube.com\/channel\/UC8GknhO5YMAkAoVxppu6aaQ"]},{"@type":"Person","@id":"https:\/\/irgnet-ga3w6nfbvw.live-website.com\/#\/schema\/person\/71b46e79e8c12bdc8e610214a6621a66","name":"H. Cemre G\u00fcnay","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/secure.gravatar.com\/avatar\/15f5d90a0ec651cb5003605e56e8ba104f93bc11230562284db56c845df9d54d?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/15f5d90a0ec651cb5003605e56e8ba104f93bc11230562284db56c845df9d54d?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15f5d90a0ec651cb5003605e56e8ba104f93bc11230562284db56c845df9d54d?s=96&r=g","caption":"H. Cemre G\u00fcnay"},"sameAs":["http:\/\/192.168.34.155\/wordpress"]}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/posts\/14348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/comments?post=14348"}],"version-history":[{"count":12,"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/posts\/14348\/revisions"}],"predecessor-version":[{"id":14365,"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/posts\/14348\/revisions\/14365"}],"wp:attachment":[{"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/media?parent=14348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/categories?post=14348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irg-net.com\/index.php\/wp-json\/wp\/v2\/tags?post=14348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}