{"id":74625,"date":"2026-10-15T21:11:56","date_gmt":"2026-10-15T18:11:56","guid":{"rendered":"https:\/\/lwallet.com.ua\/?p=74625"},"modified":"2026-10-15T21:11:56","modified_gmt":"2026-10-15T18:11:56","slug":"beryl-ax-openwrt-guide","status":"publish","type":"post","link":"https:\/\/lwallet.com.ua\/en\/beryl-ax-openwrt-guide\/","title":{"rendered":"Beryl AX setup guide: VPN and OpenWrt"},"content":{"rendered":"\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><em>Updated October 2026: GL.iNet firmware 4.9.0 and OpenWrt 25.12.5.<\/em><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This <strong>Beryl AX setup<\/strong> guide for the GL-MT3000 covers choosing firmware, installing OpenWrt, and creating a secure Wi-Fi network with VPN access for your laptop and phone. We will configure WireGuard, DNS and a kill switch \u2014 a rule that blocks direct internet access if the VPN connection drops. We will also connect the router to hotel Wi-Fi, set up USB tethering from a phone and, optionally, configure the switch on the case to change connection modes.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>This guide requires erasing the factory settings and using SSH<\/strong>, a secure connection to the router\u2019s terminal. If you want VPN access with minimal manual configuration, read the firmware comparison below first.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Why use a VPN router with a hardware wallet?<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A hardware wallet protects your private keys, while <strong>a VPN hides your home or hotel IP address from the servers your wallet app contacts<\/strong>. Wallet addresses included in those requests remain visible. You still need to <a href=\"https:\/\/lwallet.com.ua\/en\/clear-signing-blind-signing\/\">check transaction details on your hardware wallet before signing<\/a> and protect your seed phrase, whether or not you use a VPN.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">With this connection, the hotel\u2019s network administrator can see that you are connected to a VPN server, but cannot read the traffic inside the tunnel. Your VPN provider becomes the intermediary you trust with that traffic; HTTPS content is also encrypted between the app and the website. Our <a href=\"https:\/\/lwallet.com.ua\/en\/what-is-a-vpn\/\">guide to VPNs and privacy<\/a> explains these limits in more detail.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Your laptop and phone can use the VPN without separate VPN apps: <strong>the router counts as the connected device for the VPN service<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<strong>Do not use a VPN to bypass an exchange\u2019s restrictions.<\/strong> Doing so may breach its terms, and a mismatch between the country associated with your IP address and your identity verification (KYC) details may trigger additional checks or account restrictions.[\/vc_message]<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Beryl AX specifications and capabilities<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-1024x573.jpg\" alt=\"Rear panel of the GL.iNet Beryl AX with USB-C power, 2.5 Gbps WAN, LAN and USB 3.0 ports\" class=\"wp-image-74631\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic2.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<figure id=\"beryl-ax-specifications\" class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Specification<\/strong><\/td><td><strong>Value<\/strong><\/td><\/tr><tr><td>Processor<\/td><td>MediaTek MT7981B (Filogic 820), 2 Cortex-A53 cores, 1.3 GHz<\/td><\/tr><tr><td>RAM<\/td><td>512 MB DDR4<\/td><\/tr><tr><td>Flash storage<\/td><td>256 MB SPI-NAND<\/td><\/tr><tr><td>Wi-Fi<\/td><td>Wi-Fi 6, AX3000: up to 574 Mbps on 2.4 GHz and 2402 Mbps on 5 GHz<\/td><\/tr><tr><td>Ports<\/td><td>1\u00d7 2.5 Gbps WAN, 1\u00d7 1 Gbps LAN, USB 3.0<\/td><\/tr><tr><td>Power<\/td><td>USB-C, 5 V \/ 3 A<\/td><\/tr><tr><td>Cooling<\/td><td>Active: fan with adjustable speed (PWM)<\/td><\/tr><tr><td>Controls<\/td><td>Reset button and two-position switch on the case<\/td><\/tr><\/tbody><\/table><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The router needs <strong>5 V \/ 3 A from a single USB-C port<\/strong>, so check that your power bank supports this output. Use the supplied power adapter when flashing firmware: a power interruption can disrupt installation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">GL.iNet advertises <strong>up to 300 Mbps with WireGuard and 150 Mbps with OpenVPN<\/strong>. These figures come from tests of the factory firmware; OpenWrt performance will depend on the software, VPN server and internet connection. Do not expect gigabit speeds over the VPN.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>There is no built-in battery or cellular modem<\/strong>, so you need external power and an internet connection over Ethernet, Wi-Fi or a phone. To connect several wired devices, you will need an Ethernet switch, as the router has only one LAN port.<\/p>\r\n\r\n\r\n\r\n<style>\r\n.lw-beryl-products{box-sizing:border-box;max-width:300px!important;width:100%!important;margin:24px auto!important}\r\n.lw-beryl-products ul.products{display:block!important;margin:0!important;padding:0!important}\r\n.lw-beryl-products ul.products li.product{box-sizing:border-box;float:none!important;clear:none!important;width:100%!important;margin:0!important;padding:16px!important;border:1px solid #e5e7eb;border-radius:10px;background:#fff;text-align:center}\r\n.lw-beryl-products ul.products li.product a img{display:block!important;width:auto!important;max-width:100%!important;height:210px!important;max-height:210px!important;object-fit:contain;margin:0 auto 12px!important}\r\n.lw-beryl-products .woocommerce-loop-product__title{font-size:18px!important;line-height:1.35!important;font-weight:400!important;margin:0 0 10px!important;padding:0!important}\r\n.lw-beryl-products .star-rating{display:none!important}\r\n.lw-beryl-products .price{display:block;margin-bottom:12px!important}\r\n.lw-beryl-products a.button{box-sizing:border-box;display:inline-block;max-width:100%;margin-top:0!important;white-space:normal}\r\n\r\n#beryl-ax-specifications,#beryl-ax-firmware-comparison{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}\r\n#beryl-ax-specifications table,#beryl-ax-firmware-comparison table{width:100%;table-layout:fixed}\r\n#beryl-ax-specifications table{min-width:480px}\r\n#beryl-ax-firmware-comparison table{min-width:600px}\r\n#beryl-ax-specifications td,#beryl-ax-firmware-comparison td{vertical-align:top;word-break:normal;overflow-wrap:normal;hyphens:none}\r\n<\/style>\r\n\r\n\r\n<div class=\"woocommerce columns-1 lw-beryl-products\"><ul class=\"nm-products products xsmall-block-grid-2 small-block-grid-1 medium-block-grid-1 large-block-grid-1 grid-default layout-default attributes-position-thumbnail has-action-links action-link-position-details\">\r\n<li class=\"product type-product post-61320 status-publish first instock product_cat-privacy-routers has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-product-id=\"61320\">\r\n\t<div class=\"nm-shop-loop-product-wrap\">\r\n        \r\n        <div class=\"nm-shop-loop-thumbnail\">\r\n                        \r\n            <a href=\"https:\/\/lwallet.com.ua\/en\/product\/gl-inet-beryl-ax-gl-mt3000\/\" class=\"nm-shop-loop-thumbnail-link woocommerce-LoopProduct-link\">\r\n            <img decoding=\"async\" width=\"350\" height=\"434\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-350x434.jpg\" class=\"attachment-woocommerce_thumbnail size-woocommerce_thumbnail\" alt=\"Glinet Beryl AX back photo\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-350x434.jpg 350w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-242x300.jpg 242w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-825x1024.jpg 825w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-768x953.jpg 768w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-1238x1536.jpg 1238w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-680x844.jpg 680w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1.jpg 1280w\" sizes=\"(max-width: 350px) 100vw, 350px\" title=\"\">            <\/a>\r\n        <\/div>\r\n        \r\n        <div class=\"nm-shop-loop-details\">\r\n            <a href=\"#\" id=\"nm-wishlist-item-61320-button\" class=\"nm-wishlist-button nm-wishlist-item-61320-button\" data-product-id=\"61320\" title=\"Add to Wishlist\"><i class=\"nm-font nm-font-heart-o\"><\/i><\/a>\r\n            <div class=\"nm-shop-loop-title-price\">\r\n            <h3 class=\"woocommerce-loop-product__title\"><a href=\"https:\/\/lwallet.com.ua\/en\/product\/gl-inet-beryl-ax-gl-mt3000\/\" class=\"nm-shop-loop-title-link woocommerce-LoopProduct-link\">GL.iNet Beryl AX (GL-MT3000)<\/a><\/h3><div class=\"star-rating\" role=\"img\" aria-label=\"Rated 5.00 out of 5\"><span style=\"width:100%\">Rated <strong class=\"rating\">5.00<\/strong> out of 5<\/span><\/div>\r\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi>5,790.00&nbsp;<span class=\"woocommerce-Price-currencySymbol\" translate=\"no\" dir=\"auto\">UAH<\/span><\/bdi><\/span><\/span>\r\n            <\/div>\r\n\r\n            <div class=\"nm-shop-loop-actions\">\r\n            <a href=\"\/en\/wp-json\/wp\/v2\/posts\/74625?add-to-cart=61320\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_61320\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart\" data-product_id=\"61320\" data-product_sku=\"19005\" aria-label=\"Add to cart: &ldquo;GL.iNet Beryl AX (GL-MT3000)&rdquo;\" data-success_message=\"&ldquo;GL.iNet Beryl AX (GL-MT3000)&rdquo; has been added to your cart\" role=\"button\">Add to cart<\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_61320\" class=\"screen-reader-text\">\r\n\t\t\t<\/span>\r\n<span class=\"gtm4wp_productdata\" style=\"display:none; visibility:hidden;\" data-gtm4wp_product_data=\"{&quot;internal_id&quot;:61320,&quot;item_id&quot;:&quot;19005&quot;,&quot;item_name&quot;:&quot;GL.iNet Beryl AX (GL-MT3000)&quot;,&quot;sku&quot;:&quot;19005&quot;,&quot;price&quot;:5790,&quot;stocklevel&quot;:3,&quot;stockstatus&quot;:&quot;instock&quot;,&quot;google_business_vertical&quot;:&quot;retail&quot;,&quot;item_category&quot;:&quot;Privacy routers&quot;,&quot;id&quot;:&quot;19005&quot;,&quot;item_brand&quot;:&quot;GL.iNet&quot;,&quot;productlink&quot;:&quot;https:\\\/\\\/lwallet.com.ua\\\/en\\\/product\\\/gl-inet-beryl-ax-gl-mt3000\\\/&quot;,&quot;item_list_name&quot;:&quot;General Product List&quot;,&quot;index&quot;:1,&quot;product_type&quot;:&quot;simple&quot;,&quot;item_list_id&quot;:&quot;general-product-list&quot;}\"><\/span><a href=\"https:\/\/lwallet.com.ua\/en\/product\/gl-inet-beryl-ax-gl-mt3000\/\" class=\"nm-quickview-btn\">Show more<\/a>            <\/div>\r\n        <\/div>\r\n        \r\n            <\/div>\r\n<\/li>\r\n<\/ul>\r\n<\/div>\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">GL.iNet firmware or official OpenWrt?<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The factory firmware offers a simpler control panel and ready-made travel features. According to <a href=\"https:\/\/www.gl-inet.com\/pages\/firmware-versions\" rel=\"nofollow noopener\" target=\"_blank\">GL.iNet\u2019s firmware table<\/a>, version <strong>4.9.0 for the GL-MT3000 is based on OpenWrt 21.02 and MediaTek SDK components<\/strong>. GL.iNet supplies its updates.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This guide uses <strong>OpenWrt 25.12.5<\/strong> with Linux kernel 6.12, the current stable release <a href=\"https:\/\/openwrt.org\/releases\/25.12\/notes-25.12.5\" rel=\"nofollow noopener\" target=\"_blank\">dated July 1, 2026<\/a>. For a new installation, choose the supported 25.12 series.<\/p>\r\n\r\n\r\n\r\n<figure id=\"beryl-ax-firmware-comparison\" class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Feature<\/strong><\/td><td><strong>GL.iNet 4.9.0 firmware<\/strong><\/td><td><strong>Official OpenWrt 25.12<\/strong><\/td><\/tr><tr><td>OpenWrt base<\/td><td>21.02<\/td><td>25.12<\/td><\/tr><tr><td>Linux kernel<\/td><td>5.4<\/td><td>6.12<\/td><\/tr><tr><td>Package manager<\/td><td>opkg<\/td><td>apk<\/td><\/tr><tr><td>Web interface<\/td><td>GL.iNet control panel; LuCI available separately<\/td><td>LuCI<\/td><\/tr><tr><td>Wi-Fi drivers<\/td><td>MediaTek SDK components in GL.iNet\u2019s build<\/td><td>Open-source mt76 driver included in OpenWrt<\/td><\/tr><tr><td>Cloud services<\/td><td>GoodCloud, AstroWarp<\/td><td>None<\/td><\/tr><tr><td>Travel features<\/td><td>Wi-Fi repeater, USB tethering and VPN switch configured by the manufacturer<\/td><td>Configured manually using packages and scripts<\/td><\/tr><tr><td>Updates provided by<\/td><td>GL.iNet<\/td><td>The OpenWrt community<\/td><\/tr><\/tbody><\/table><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After installing official OpenWrt, <strong>LuCI, OpenWrt\u2019s web interface<\/strong>, replaces the GL.iNet control panel. You will need to configure the VPN and travel features again, and the GL.iNet app and cloud services will no longer work with the router. The manufacturer\u2019s U-Boot bootloader remains in place for emergency recovery.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The factory firmware is sufficient for ordinary trips and a ready-to-use VPN client<\/strong>; GoodCloud can be disabled. Choose official OpenWrt if you want to manage the system and its updates yourself and are comfortable using LuCI and a terminal. If you are still choosing a device, see our <a href=\"https:\/\/lwallet.com.ua\/en\/glinet-vpn-routers\/\">comparison of GL.iNet VPN routers for home and travel<\/a>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Preparing for Beryl AX setup<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You will need a computer with an Ethernet port or USB-to-Ethernet adapter, a network cable and the supplied power adapter. <strong>Configure the router over a wired connection<\/strong>: Wi-Fi will be disabled after installing OpenWrt.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">First login to the GL.iNet control panel<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Connect your computer to the LAN port, open <code>192.168.8.1<\/code> and set an administrator password. Skip the remaining initial settings, as they will be erased during installation.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Download two files<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In the <a href=\"https:\/\/firmware-selector.openwrt.org\/\" rel=\"nofollow noopener\" target=\"_blank\">OpenWrt Firmware Selector<\/a>, search for <strong>GL-MT3000<\/strong> and download <strong>SYSUPGRADE<\/strong> for 25.12.5 or a newer stable release in the 25.12 series. An example filename is <code>openwrt-25.12.5-mediatek-filogic-glinet_gl-mt3000-squashfs-sysupgrade.bin<\/code>. You do not need the KERNEL file for this installation.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For recovery, also download a stable factory firmware image from the <a href=\"https:\/\/dl.gl-inet.com\/?model=mt3000\" rel=\"nofollow noopener\" target=\"_blank\">GL.iNet download center for the MT3000<\/a>. It must be <strong>compatible with U-Boot<\/strong>. If separate files are offered for normal upgrades and U-Boot, save the U-Boot version.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Verify the checksum<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Run the appropriate command from the folder containing the image and compare the result with the SHA256 value in Firmware Selector. <strong>The values must match exactly<\/strong>; if they differ, download the file again. If you chose another version, substitute its filename.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code># Windows (PowerShell or cmd)\r\ncertutil -hashfile openwrt-25.12.5-mediatek-filogic-glinet_gl-mt3000-squashfs-sysupgrade.bin SHA256\r\n \r\n# macOS \/ Linux\r\nshasum -a 256 openwrt-25.12.5-mediatek-filogic-glinet_gl-mt3000-squashfs-sysupgrade.bin<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Installing OpenWrt through the GL.iNet web interface<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-1024x573.jpg\" alt=\"Beryl AX connected to a laptop by Ethernet for OpenWrt installation\" class=\"wp-image-74635\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic3.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Connect the router to the supplied power adapter and your computer to the LAN port with an Ethernet cable.<\/li>\r\n\r\n\r\n\r\n<li>Open <code>192.168.8.1<\/code> and go to SYSTEM \u2192 Upgrade \u2192 Local Upgrade.<\/li>\r\n\r\n\r\n\r\n<li>Select the OpenWrt sysupgrade image you downloaded.<\/li>\r\n\r\n\r\n\r\n<li><strong>Turn off Keep Settings.<\/strong> The GL.iNet configuration is incompatible with official OpenWrt, so keeping it may leave the router inaccessible after installation.<\/li>\r\n\r\n\r\n\r\n<li>Confirm the installation. If the panel warns that the image was not created by GL.iNet, double-check the model and file: this warning is expected for an official OpenWrt image.<\/li>\r\n\r\n\r\n\r\n<li>Wait for installation to finish and the router to reboot. <strong>Do not disconnect power<\/strong> during these few minutes.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After the reboot, open <strong><code>192.168.1.1<\/code><\/strong>. If your computer has not obtained a new address automatically, reconnect the cable or restart the network adapter.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If Local Upgrade rejects the image, open SYSTEM \u2192 Advanced Settings \u2192 LuCI \u2192 System \u2192 Backup \/ Flash Firmware \u2192 Flash new firmware image. Select the same file and <strong>uncheck Keep settings<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">[vc_message color=&#8221;info&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-info&#8221; style=&#8221;rounded&#8221;]After installation, <strong>Wi-Fi is disabled by default<\/strong>. Connect by cable and set a wireless password before enabling the network.[\/vc_message]<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Initial Beryl AX setup with OpenWrt<\/h2>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Root password and SSH key<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Open <code>192.168.1.1<\/code>, log in as <code>root<\/code> without a password, then set one under System \u2192 Administration \u2192 Router Password. Under SSH Access, select the <code>lan<\/code> interface to restrict access to the local network.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Use the command below to log in from a terminal. For key-based login, generate a key on your computer with <code>ssh-keygen -t ed25519<\/code> and add the contents of the <code>.pub<\/code> file on the SSH-Keys tab. <strong>Disable SSH password login only after confirming that your key works in a new terminal window.<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>ssh root@192.168.1.1<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Under System \u2192 System, select Europe\/Kyiv and check NTP time synchronization. Correct system time is needed for logs and certificate validation.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Wi-Fi<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Under Network \u2192 Wireless, open Edit for each radio: 2.4 GHz and 5 GHz.<\/p>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Set Country Code to the country where you are using the router: <code>UA<\/code> for Ukraine. This determines the permitted channels and transmit power.<\/li>\r\n\r\n\r\n\r\n<li>Under General Setup, enter a network name in ESSID and select Access Point mode.<\/li>\r\n\r\n\r\n\r\n<li>Under Wireless Security, select <strong>WPA2-PSK\/WPA3-SAE Mixed Mode<\/strong> and set a password of at least 12 characters. This mode also supports devices without WPA3.<\/li>\r\n\r\n\r\n\r\n<li>Click Save, enable each network with Enable, then apply the changes with Save &amp; Apply.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Connecting to the internet without an address conflict<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Connect the WAN port to a network with internet access; the default <code>wan<\/code> interface obtains an address through DHCP. <strong>LAN and WAN must use different subnets<\/strong>, so change the Beryl AX\u2019s local address if your main router also uses <code>192.168.1.1<\/code>.<\/p>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Under Network \u2192 Interfaces \u2192 lan \u2192 Edit, set an address such as <code>192.168.77.1<\/code> with subnet mask <code>255.255.255.0<\/code>, provided that subnet is free.<\/li>\r\n\r\n\r\n\r\n<li>Apply the changes, reconnect your computer and open the new address, <code>192.168.77.1<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>Check that <code>wan<\/code> has obtained an address and gateway. If it later conflicts with a hotel network, choose another unused local subnet in the same way.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">From now on, use the router\u2019s current address, including for SSH. <strong>The U-Boot recovery address remains <code>192.168.1.1<\/code><\/strong>.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Packages and updates<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">OpenWrt 25.12 uses <strong><code>apk<\/code> instead of <code>opkg<\/code><\/strong> to install packages. Run all subsequent commands on the router over SSH.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Use <strong>Attended Sysupgrade<\/strong>, included by default in the 25.12 series, to update the system. It builds a new image with your chosen packages. Make a backup first; the developers advise against upgrading all installed packages at once.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">WireGuard: configuring the tunnel<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-1024x573.jpg\" alt=\"Beryl AX router beside a laptop and phone, illustrating WireGuard VPN setup\" class=\"wp-image-74638\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic4.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Install WireGuard support, then obtain a configuration from one of the VPN services below.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>apk update\r\napk add luci-proto-wireguard conntrack<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><code>luci-proto-wireguard<\/code> installs WireGuard support in LuCI, while <code>conntrack<\/code> is needed for the mode-switching setup later in this guide. Reboot the router through System \u2192 Reboot.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Option A: Mullvad<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In your Mullvad account, open the WireGuard configuration generator, select Linux, create a <strong>separate key for the router<\/strong>, choose a server and download the <code>.conf<\/code> file. Do not use this key on another device at the same time, as this can disrupt the connection.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Option B: Proton VPN<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">In your <a href=\"https:\/\/account.protonvpn.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Proton VPN account<\/a>, open Downloads \u2192 WireGuard configuration, enter a name, select Router and a server, then download the <code>.conf<\/code> file. Configurations are available <strong>even on the free plan<\/strong>, though server choice is limited.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<strong>The <code>.conf<\/code> file contains your VPN private key.<\/strong> Do not send it through messaging apps or leave it publicly accessible. After importing it, remove it from your downloads folder and keep any backup in a secure location.[\/vc_message]<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Option C: your own VPS<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If you already run WireGuard on a VPS \u2014 a rented virtual server \u2014 use the <code>.conf<\/code> configuration created for the router. The server must provide routing and internet access; setting it up is outside the scope of this guide. <strong>You are responsible for VPS updates, and you still need to trust the hosting provider.<\/strong><\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Importing the configuration into LuCI<\/h3>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Open Network \u2192 Interfaces \u2192 Add new interface.<\/li>\r\n\r\n\r\n\r\n<li>Name it <code>wg0<\/code>, select WireGuard VPN as the protocol, then click Create interface.<\/li>\r\n\r\n\r\n\r\n<li>On the General Settings tab, click Load configuration\u2026, paste the contents of the <code>.conf<\/code> file and confirm the import. LuCI will fill in the keys, interface address and VPN server settings on the Peers tab.<\/li>\r\n\r\n\r\n\r\n<li>Under Peers, keep <code>0.0.0.0\/0<\/code> in Allowed IPs, enable <strong>Route Allowed IPs<\/strong> and set Persistent Keep Alive to <code>25<\/code>. Remove <code>::\/0<\/code> if present: this guide configures clients for IPv4 only.<\/li>\r\n\r\n\r\n\r\n<li>On the Firewall Settings tab, create a new zone named <code>vpn<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>Click Save, then apply the settings with Save &amp; Apply.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Endpoint must contain the server\u2019s IP address rather than a domain name<\/strong>. Otherwise, once DNS outside the VPN is blocked, the router may be unable to resolve the address needed to establish the tunnel. Check this after importing the configuration.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Kill switch: blocking traffic outside the VPN<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Allow local devices to reach the internet only through <code>vpn<\/code>, so that <strong>they lose internet access when the tunnel stops<\/strong>.<\/p>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Open the Zones tab under Network \u2192 Firewall.<\/li>\r\n\r\n\r\n\r\n<li>For the <code>vpn<\/code> zone, set Input to <code>reject<\/code>, Output to <code>accept<\/code> and Forward to <code>reject<\/code>. Enable <strong>Masquerading and MSS clamping<\/strong>, and make sure Covered networks includes <code>wg0<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>In the <code>lan<\/code> zone, keep only <code>vpn<\/code> under Allow forward to destination zones, removing <code>wan<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>Apply the changes with Save &amp; Apply. Leave Software flow offloading and Hardware flow offloading disabled during setup so that acceleration does not interfere with testing the block.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">These rules restrict <strong>traffic from connected devices<\/strong>. The router itself can still reach the VPN server to restore the tunnel; we will restrict its DNS requests separately.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Preventing DNS leaks<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">DNS translates website names into IP addresses. We will send these queries through the tunnel and block the router\u2019s ordinary DNS requests over WAN.<\/p>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Open Network \u2192 Interfaces \u2192 wan \u2192 Edit \u2192 Advanced Settings and clear <strong>Use DNS servers advertised by peer<\/strong>. Repeat for <code>wan6<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>Under wg0 \u2192 Advanced Settings \u2192 Use custom DNS servers, enter the <strong>IPv4 DNS address from your <code>.conf<\/code> file<\/strong>: usually <code>10.64.0.1<\/code> for Mullvad or <code>10.2.0.1<\/code> for Proton. Remove any extra addresses.<\/li>\r\n\r\n\r\n\r\n<li>Clients should obtain DNS automatically from the router. Under Network \u2192 DHCP and DNS, remove any third-party addresses from DNS forwards and apply the changes.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Add the following rule over SSH to block <strong>the router\u2019s DNS requests over WAN on TCP\/UDP port 53<\/strong> while leaving the tunnel available. For this setup, <strong>the WireGuard port in Endpoint must not be 53<\/strong>. The script later in this guide will temporarily disable the rule in direct mode.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>uci set firewall.block_wan_dns=rule\r\nuci set firewall.block_wan_dns.name='Block-router-DNS-outside-VPN'\r\nuci set firewall.block_wan_dns.dest='wan'\r\nuci set firewall.block_wan_dns.proto='tcp udp'\r\nuci set firewall.block_wan_dns.dest_port='53'\r\nuci set firewall.block_wan_dns.family='any'\r\nuci set firewall.block_wan_dns.target='REJECT'\r\nuci set firewall.block_wan_dns.enabled='1'\r\nuci commit firewall\r\n\/etc\/init.d\/firewall reload<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If your VPN\u2019s DNS address falls within the upstream network\u2019s range, such as <code>10.0.0.0\/8<\/code>, add a route under Network \u2192 Routing \u2192 Static IPv4 Routes: select <code>wg0<\/code> as the interface, set Target to the DNS address followed by <code>\/32<\/code>, and leave Gateway blank.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To test the router\u2019s settings, temporarily disable Secure DNS \/ DNS over HTTPS in the browser and on the device. <strong>A different DNS service in the results does not, by itself, prove that queries are leaking outside the VPN.<\/strong><\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">IPv6 in this configuration<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This setup <strong>disables IPv6 internet access<\/strong> to prevent it from bypassing the IPv4 tunnel.<\/p>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Under Network \u2192 Interfaces, stop <code>wan6<\/code> with Stop and disable Bring up on boot in its settings.<\/li>\r\n\r\n\r\n\r\n<li>Under lan \u2192 DHCP Server \u2192 IPv6 Settings, disable RA-Service, DHCPv6-Service and NDP-Proxy. Under Advanced Settings for lan itself, disable IPv6 assignment by clearing the prefix length, then apply the changes.<\/li>\r\n\r\n\r\n\r\n<li>Reconnect client devices to refresh their settings. Local IPv6 addresses may remain, but there must be no internet access over IPv6.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Testing the connection<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">When checking your Beryl AX setup, leave the test device <strong>connected only through this router<\/strong>, with mobile data, other network connections and other VPNs disabled. Under Status \u2192 WireGuard, check that Latest Handshake is recent and the traffic counters are increasing. On <a href=\"https:\/\/ipleak.net\/\" rel=\"nofollow noopener\" target=\"_blank\">ipleak.net<\/a>, the IPv4 address should belong to the VPN server, with no IPv6 internet access.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">On <a href=\"https:\/\/www.dnsleaktest.com\/\" rel=\"nofollow noopener\" target=\"_blank\">dnsleaktest.com<\/a>, check that the DNS results match your chosen service. Then <strong>stop <code>wg0<\/code> under Network \u2192 Interfaces: new websites should stop loading, while the router\u2019s control panel remains accessible<\/strong>. Restore the tunnel with Restart and repeat the tests. In the <a href=\"https:\/\/browserleaks.com\/webrtc\" rel=\"nofollow noopener\" target=\"_blank\">WebRTC test<\/a>, check public IP addresses; a local address alone does not indicate a leak.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Using the router on the road: hotel Wi-Fi and phone tethering<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-1024x573.jpg\" alt=\"GL.iNet Beryl AX on a table inside a campervan during a trip\" class=\"wp-image-74641\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic5.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Connecting to hotel Wi-Fi with travelmate<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Travelmate manages Wi-Fi connections while you travel<\/strong> and reconnects to saved networks. Install the package:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>apk update\r\napk add luci-app-travelmate<\/code><\/pre>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Under Services \u2192 Travelmate \u2192 Interface Wizard, create <code>trm_wwan<\/code> in the <code>wan<\/code> zone. <strong>Do not add <code>lan \u2192 wan<\/code> forwarding<\/strong>: clients must continue to use <code>vpn<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>On the Wireless Stations tab, click Scan for the appropriate radio, select the hotel network, enter its password and save the settings.<\/li>\r\n\r\n\r\n\r\n<li>Enable travelmate on the General Settings tab and click Save &amp; Apply.<\/li>\r\n\r\n\r\n\r\n<li>Under Network \u2192 Interfaces \u2192 trm_wwan \u2192 Advanced Settings, clear Use DNS servers advertised by peer, as you did for <code>wan<\/code>.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">You can split the load between the radios by using different bands: for example, connect to the hotel on 5 GHz and your own devices on 2.4 GHz. If both connections use the same radio, they share its channel.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">Opening a hotel login page with the kill switch enabled<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If the hotel requires a browser login, the VPN cannot connect until you have signed in. After configuring the switch in the next section, <strong>temporarily enable direct mode<\/strong> and open an HTTP page, such as <a href=\"http:\/\/example.com\/\" rel=\"nofollow noopener\" target=\"_blank\">example.com<\/a>, to trigger the login page. Sign in, then switch back to VPN mode. Leave travelmate\u2019s own VPN management disabled so that it does not conflict with the script.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">[vc_message color=&#8221;warning&#8221; message_box_style=&#8221;classic&#8221; message_box_color=&#8221;alert-warning&#8221; style=&#8221;rounded&#8221;]<strong>Direct mode bypasses the VPN for all connected devices<\/strong>, including background apps. Disconnect devices you do not need, complete the hotel login and switch back to VPN mode, then check Latest Handshake.[\/vc_message]<\/p>\r\n\r\n\r\n\r\n<h3 class=\"nm-block-heading wp-block-heading\">USB tethering from a phone<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Install the packages for your phone:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code># Android\r\napk add kmod-usb-net-rndis kmod-usb-net-cdc-ncm\r\n \r\n# iPhone\r\napk add kmod-usb-net-ipheth usbmuxd libimobiledevice<\/code><\/pre>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Connect the phone to the router\u2019s USB-A port with a data-capable cable. Enable USB tethering on Android or Personal Hotspot on iPhone.<\/li>\r\n\r\n\r\n\r\n<li>Under Network \u2192 Interfaces \u2192 Devices, find the new device: usually <code>usb0<\/code> for Android or <code>eth1<\/code> for iPhone, though the name may differ.<\/li>\r\n\r\n\r\n\r\n<li>Click Add new interface and create <code>usbwan<\/code> using DHCP client, the device from the previous step and the <code>wan<\/code> firewall zone. Under Advanced Settings, clear Use DNS servers advertised by peer.<\/li>\r\n\r\n\r\n\r\n<li>For iPhone, start <code>usbmuxd<\/code> over SSH and confirm \u201cTrust This Computer\u201d on the phone. Add <code>usbmuxd<\/code> under System \u2192 Startup \u2192 Local Startup, before <code>exit 0<\/code>, so the service starts after a reboot.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">The hardware switch: VPN or direct access<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-1024x573.jpg\" alt=\"Beryl AX with VPN and DIRECT labels illustrating the two connection modes\" class=\"wp-image-74647\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic6-1.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The two-position switch, identified in OpenWrt as <code>BTN_0<\/code>, can select <strong>VPN mode or temporary direct access<\/strong> for hotel logins. In direct mode, WireGuard is disabled and the router uses DNS servers from the upstream network. You can skip this section if you only need a permanent VPN connection without hotel logins.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Before starting, save your changes in LuCI and create a backup through System \u2192 Backup \/ Flash Firmware. These scripts depend on <strong>the exact interface and rule names used in this guide<\/strong>.<\/p>\r\n\r\n\r\n\r\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Configure the switch over SSH: commands and checks<\/summary>\r\n<p class=\"wp-block-paragraph\"><strong>Step 1. Identify the switch positions<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Create a temporary event handler:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>mkdir -p \/etc\/hotplug.d\/button\r\necho 'logger \"button $BUTTON: $ACTION\"' &gt; \/etc\/hotplug.d\/button\/00-log\r\nlogread -f<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Move the switch to both positions and note which produces <code>pressed<\/code> and which produces <code>released<\/code> in the log. Press Ctrl+C, then delete the test file with <code>rm \/etc\/hotplug.d\/button\/00-log<\/code>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 2. Prepare the switching rules<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>uci set firewall.lan_wan_bypass=forwarding\r\nuci set firewall.lan_wan_bypass.src='lan'\r\nuci set firewall.lan_wan_bypass.dest='wan'\r\nuci set firewall.lan_wan_bypass.enabled='0'\r\nuci set firewall.block_wan_dns.enabled='1'\r\nuci commit firewall\r\n\/etc\/init.d\/firewall reload<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">With <code>lan_wan_bypass<\/code> disabled and <code>block_wan_dns<\/code> enabled, direct access is blocked. <strong>Do not delete rules with these names<\/strong> when making further changes in LuCI.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 3. Create the mode-switching script<\/strong><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>cat &gt; \/usr\/bin\/vpnmode &lt;&lt; 'EOF'\r\n#!\/bin\/sh\r\nset -eu\r\n\r\nvpn_mode=\"${1:-}\"\r\ncase \"$vpn_mode\" in\r\n  on|boot) vpn_wg_disabled=0; vpn_bypass=0; vpn_peerdns=0; vpn_dns_block=1 ;;\r\n  off)     vpn_wg_disabled=1; vpn_bypass=1; vpn_peerdns=1; vpn_dns_block=0 ;;\r\n  *) echo 'usage: vpnmode on|off|boot' &gt;&amp;2; exit 1 ;;\r\nesac\r\n\r\nmkdir \/tmp\/vpnmode.lock 2&gt;\/dev\/null || {\r\n  logger -t vpnmode 'Mode change already in progress'\r\n  exit 1\r\n}\r\ntrap 'rmdir \/tmp\/vpnmode.lock' EXIT\r\ntrap 'exit 1' HUP INT TERM\r\n\r\nuci set network.wg0.disabled=\"$vpn_wg_disabled\"\r\nuci set firewall.lan_wan_bypass.enabled=\"$vpn_bypass\"\r\nuci set firewall.block_wan_dns.enabled=\"$vpn_dns_block\"\r\nfor vpn_uplink in wan wan6 trm_wwan usbwan; do\r\n  if uci -q get \"network.$vpn_uplink\" &gt;\/dev\/null; then\r\n    uci set \"network.$vpn_uplink.peerdns=$vpn_peerdns\"\r\n  fi\r\ndone\r\nuci commit network\r\nuci commit firewall\r\n\r\nif &#091; \"$vpn_mode\" = boot ]; then\r\n  rm -f \/tmp\/vpnmode-ready\r\n  exit 0\r\nfi\r\n\r\nif &#091; \"$vpn_mode\" = on ]; then\r\n  \/etc\/init.d\/firewall reload\r\n  conntrack -F &gt;\/dev\/null 2&gt;&amp;1\r\n  \/etc\/init.d\/network reload\r\n  ifup wg0\r\nelse\r\n  \/etc\/init.d\/network reload\r\n  \/etc\/init.d\/firewall reload\r\n  conntrack -F &gt;\/dev\/null 2&gt;&amp;1\r\nfi\r\n\/etc\/init.d\/dnsmasq restart\r\ntouch \/tmp\/vpnmode-ready\r\nlogger -t vpnmode \"mode $vpn_mode\"\r\nEOF\r\nchmod +x \/usr\/bin\/vpnmode<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">When switching back to VPN mode, the script first blocks direct access and DNS over WAN, then restores the tunnel. <code>conntrack -F<\/code> clears old connections, <strong>so calls and downloads may be interrupted<\/strong>. Wait for the mode change to finish before switching again.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 4. Bind the script to the switch<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Here, <code>pressed<\/code> enables VPN mode and <code>released<\/code> enables direct access. Swap <code>on<\/code> and <code>off<\/code> if needed to match the positions you checked.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>cat &gt; \/etc\/hotplug.d\/button\/10-vpnmode &lt;&lt; 'EOF'\r\n&#091; \"$BUTTON\" = \"BTN_0\" ] || exit 0\r\n&#091; -e \/tmp\/vpnmode-ready ] || exit 0\r\ncase \"$ACTION\" in\r\n  pressed)  \/usr\/bin\/vpnmode on ;;\r\n  released) \/usr\/bin\/vpnmode off ;;\r\nesac\r\nEOF<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Step 5. Start in VPN mode after every boot<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">This service <strong>restores VPN mode before the network and firewall start<\/strong>, even if the router was shut down in direct mode.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>cat &gt; \/etc\/init.d\/vpnmode-boot &lt;&lt; 'EOF'\r\n#!\/bin\/sh \/etc\/rc.common\r\nSTART=18\r\n\r\nstart() {\r\n  \/usr\/bin\/vpnmode boot\r\n}\r\nEOF\r\nchmod +x \/etc\/init.d\/vpnmode-boot\r\n\/etc\/init.d\/vpnmode-boot enable<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Under System \u2192 Startup \u2192 Local Startup, add <code>\/usr\/bin\/vpnmode on<\/code> before <code>exit 0<\/code>. For the first run, execute:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>\/usr\/bin\/vpnmode on<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Test both modes and check entries tagged <code>vpnmode<\/code> under System \u2192 System Log. In VPN mode, repeat the IP, DNS and <code>wg0<\/code> stop tests. Reboot the router with the switch in the direct-access position: <strong>it must start in VPN mode<\/strong>. To enable direct access again, move the switch to the other position and back.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Before backing up or updating, run <code>\/usr\/bin\/vpnmode on<\/code>. Add the scripts to the backup list once:<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code>for vpn_file in \\\r\n  \/usr\/bin\/vpnmode \\\r\n  \/etc\/init.d\/vpnmode-boot \\\r\n  \/etc\/rc.d\/S18vpnmode-boot \\\r\n  \/etc\/hotplug.d\/button\/10-vpnmode \\\r\n  \/etc\/rc.local; do\r\n  grep -qxF \"$vpn_file\" \/etc\/sysupgrade.conf 2&gt;\/dev\/null || \\\r\n    echo \"$vpn_file\" &gt;&gt; \/etc\/sysupgrade.conf\r\ndone<\/code><\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After an update, check your Beryl AX setup: confirm that the scripts are still present, <code>vpnmode-boot<\/code> is enabled and direct access is blocked when the tunnel is stopped. <strong>Attended Sysupgrade does not replace testing your custom scripts.<\/strong><\/p>\r\n<\/details>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Restoring the factory firmware<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If the bootloader is working, use the <a href=\"https:\/\/docs.gl-inet.com\/router\/en\/4\/faq\/debrick\/\" rel=\"nofollow noopener\" target=\"_blank\">U-Boot recovery web interface<\/a> to restore the GL.iNet firmware or recover a router whose normal control panel will not open. <strong>Settings and installed packages will be erased.<\/strong><\/p>\r\n\r\n\r\n\r\n<ol class=\"nm-block-list wp-block-list\">\r\n<li>Disconnect the router\u2019s power, connect your computer to the LAN port and unplug any other network cables. Hold Reset while reconnecting power.<\/li>\r\n\r\n\r\n\r\n<li>For the Beryl AX, release Reset when the indicator turns solid white after six blue flashes. Colors or sequences may vary between production batches, so also follow the change in flashing described by the manufacturer.<\/li>\r\n\r\n\r\n\r\n<li>Set your computer\u2019s Ethernet adapter to the static address <code>192.168.1.2<\/code>, subnet mask <code>255.255.255.0<\/code> and gateway <code>192.168.1.1<\/code>.<\/li>\r\n\r\n\r\n\r\n<li>Open <code>http:\/\/192.168.1.1<\/code> in Chrome or Firefox to access U-Boot.<\/li>\r\n\r\n\r\n\r\n<li>Select the downloaded GL.iNet image that is <strong>compatible with U-Boot<\/strong> and click Update firmware. Do not disconnect power until installation and the reboot are complete.<\/li>\r\n\r\n\r\n\r\n<li>Set your computer back to obtaining an IP address automatically. After recovery, the GL.iNet panel will be available at <code>192.168.8.1<\/code> again.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">If OpenWrt boots and the problem is only in its settings, you can reset the configuration: with the router powered on, hold Reset for more than five seconds, release it and wait for a reboot. <strong>This leaves OpenWrt installed<\/strong> with its default configuration, no password and Wi-Fi disabled.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Beryl AX setup: common mistakes<\/h2>\r\n\r\n\r\n<div class=\"wp-block-image wp-block-image size-large is-style-default blog-img\">\r\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-1024x573.jpg\" alt=\"Beryl AX setup checks: turn off Keep Settings, enable Wi-Fi, check the WireGuard handshake and DNS resolution\" class=\"wp-image-74650\" title=\"\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-1024x573.jpg 1024w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-1536x860.jpg 1536w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-766x429.jpg 766w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-300x168.jpg 300w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-679x380.jpg 679w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7-349x195.jpg 349w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/10\/blog-beryl-ax-guide-15-10-2026-content-pic7.jpg 1631w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The router does not respond after installation.<\/strong> Check the new address, <code>192.168.1.1<\/code>, and reconnect the cable. If you left Keep Settings enabled and still cannot connect, use U-Boot to recover the router, then repeat the installation without keeping the old settings.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The U-Boot page will not open.<\/strong> Check the LAN port, your computer\u2019s static address <code>192.168.1.2<\/code> and when you release Reset. Temporarily disable any VPN or proxy on your computer and try Chrome or Firefox.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>There is no Wi-Fi.<\/strong> Connect by cable, configure wireless security and enable the networks under Network \u2192 Wireless.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>WireGuard is enabled, but websites will not load.<\/strong> Check Latest Handshake, Route Allowed IPs, whether <code>wg0<\/code> belongs to the <code>vpn<\/code> zone, Masquerading and MSS clamping. If IP addresses are reachable but website names are not, check DNS and its route.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The test shows a different DNS service.<\/strong> Check Secure DNS on the device, the DNS forwards field and whether DNS from upstream networks is disabled. The <code>block_wan_dns<\/code> rule must stay enabled in VPN mode.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The hotel login page does not appear.<\/strong> Temporarily switch to direct mode, sign in, then return to VPN mode.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"nm-block-heading wp-block-heading\">Is OpenWrt on the Beryl AX right for you?<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>The Beryl AX with official OpenWrt suits users who are comfortable maintaining their own VPN and network configuration.<\/strong> For ordinary trips, the factory GL.iNet panel is easier to use and already includes WireGuard and travel features.<\/p>\r\n\r\n\r\n<div class=\"woocommerce columns-1 lw-beryl-products\"><ul class=\"nm-products products xsmall-block-grid-2 small-block-grid-1 medium-block-grid-1 large-block-grid-1 grid-default layout-default attributes-position-thumbnail has-action-links action-link-position-details\">\r\n<li class=\"product type-product post-61320 status-publish first instock product_cat-privacy-routers has-post-thumbnail shipping-taxable purchasable product-type-simple\" data-product-id=\"61320\">\r\n\t<div class=\"nm-shop-loop-product-wrap\">\r\n        \r\n        <div class=\"nm-shop-loop-thumbnail\">\r\n                        \r\n            <a href=\"https:\/\/lwallet.com.ua\/en\/product\/gl-inet-beryl-ax-gl-mt3000\/\" class=\"nm-shop-loop-thumbnail-link woocommerce-LoopProduct-link\">\r\n            <img decoding=\"async\" width=\"350\" height=\"434\" src=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-350x434.jpg\" class=\"attachment-woocommerce_thumbnail size-woocommerce_thumbnail\" alt=\"Glinet Beryl AX back photo\" srcset=\"https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-350x434.jpg 350w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-242x300.jpg 242w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-825x1024.jpg 825w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-768x953.jpg 768w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-1238x1536.jpg 1238w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1-680x844.jpg 680w, https:\/\/lwallet.com.ua\/wp-content\/uploads\/2026\/01\/gl-inet-berylax-pic01-1.jpg 1280w\" sizes=\"(max-width: 350px) 100vw, 350px\" title=\"\">            <\/a>\r\n        <\/div>\r\n        \r\n        <div class=\"nm-shop-loop-details\">\r\n            <a href=\"#\" id=\"nm-wishlist-item-61320-button\" class=\"nm-wishlist-button nm-wishlist-item-61320-button\" data-product-id=\"61320\" title=\"Add to Wishlist\"><i class=\"nm-font nm-font-heart-o\"><\/i><\/a>\r\n            <div class=\"nm-shop-loop-title-price\">\r\n            <h3 class=\"woocommerce-loop-product__title\"><a href=\"https:\/\/lwallet.com.ua\/en\/product\/gl-inet-beryl-ax-gl-mt3000\/\" class=\"nm-shop-loop-title-link woocommerce-LoopProduct-link\">GL.iNet Beryl AX (GL-MT3000)<\/a><\/h3><div class=\"star-rating\" role=\"img\" aria-label=\"Rated 5.00 out of 5\"><span style=\"width:100%\">Rated <strong class=\"rating\">5.00<\/strong> out of 5<\/span><\/div>\r\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi>5,790.00&nbsp;<span class=\"woocommerce-Price-currencySymbol\" translate=\"no\" dir=\"auto\">UAH<\/span><\/bdi><\/span><\/span>\r\n            <\/div>\r\n\r\n            <div class=\"nm-shop-loop-actions\">\r\n            <a href=\"\/en\/wp-json\/wp\/v2\/posts\/74625?add-to-cart=61320\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_61320\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart\" data-product_id=\"61320\" data-product_sku=\"19005\" aria-label=\"Add to cart: &ldquo;GL.iNet Beryl AX (GL-MT3000)&rdquo;\" data-success_message=\"&ldquo;GL.iNet Beryl AX (GL-MT3000)&rdquo; has been added to your cart\" role=\"button\">Add to cart<\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_61320\" class=\"screen-reader-text\">\r\n\t\t\t<\/span>\r\n<span class=\"gtm4wp_productdata\" style=\"display:none; visibility:hidden;\" data-gtm4wp_product_data=\"{&quot;internal_id&quot;:61320,&quot;item_id&quot;:&quot;19005&quot;,&quot;item_name&quot;:&quot;GL.iNet Beryl AX (GL-MT3000)&quot;,&quot;sku&quot;:&quot;19005&quot;,&quot;price&quot;:5790,&quot;stocklevel&quot;:3,&quot;stockstatus&quot;:&quot;instock&quot;,&quot;google_business_vertical&quot;:&quot;retail&quot;,&quot;item_category&quot;:&quot;Privacy routers&quot;,&quot;id&quot;:&quot;19005&quot;,&quot;item_brand&quot;:&quot;GL.iNet&quot;,&quot;productlink&quot;:&quot;https:\\\/\\\/lwallet.com.ua\\\/en\\\/product\\\/gl-inet-beryl-ax-gl-mt3000\\\/&quot;,&quot;item_list_name&quot;:&quot;General Product List&quot;,&quot;index&quot;:1,&quot;product_type&quot;:&quot;simple&quot;,&quot;item_list_id&quot;:&quot;general-product-list&quot;}\"><\/span><a href=\"https:\/\/lwallet.com.ua\/en\/product\/gl-inet-beryl-ax-gl-mt3000\/\" class=\"nm-quickview-btn\">Show more<\/a>            <\/div>\r\n        <\/div>\r\n        \r\n            <\/div>\r\n<\/li>\r\n<\/ul>\r\n<\/div>\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">For protecting the assets themselves, see our guides to <a href=\"https:\/\/lwallet.com.ua\/en\/hardware-wallet-vs-exchange\/\">holding cryptocurrency on a hardware wallet or an exchange<\/a> and <a href=\"https:\/\/lwallet.com.ua\/en\/how-to-avoid-crypto-scams\/\">common cryptocurrency scams<\/a>.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Updated October 2026: GL.iNet firmware 4.9.0 and OpenWrt 25.12.5. This Beryl AX setup guide for the GL-MT3000 covers choosing firmware, installing OpenWrt, and creating a secure Wi-Fi network with VPN access for your laptop and phone. We will configure WireGuard, DNS and a kill switch \u2014 a rule that blocks direct internet access if the &hellip;<\/p>\n","protected":false},"author":10,"featured_media":74592,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2796],"tags":[],"class_list":["post-74625","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides"],"_links":{"self":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts\/74625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/comments?post=74625"}],"version-history":[{"count":3,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts\/74625\/revisions"}],"predecessor-version":[{"id":74656,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/posts\/74625\/revisions\/74656"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/media\/74592"}],"wp:attachment":[{"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/media?parent=74625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/categories?post=74625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lwallet.com.ua\/en\/wp-json\/wp\/v2\/tags?post=74625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}