We use technologies like cookies to store and/or access device information. We do this to improve browsing experience and to show (non-) personalized ads. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Техническое хранение или доступ необходимы для законной цели хранения предпочтений, которые не запрошены подписчиком или пользователем.
The technical storage or access that is used exclusively for statistical purposes.
Техническое хранилище или доступ, который используется исключительно для анонимных статистических целей. Без повестки в суд, добровольного согласия со стороны вашего интернет-провайдера или дополнительных записей от третьей стороны информация, хранящаяся или полученная только для этой цели, обычно не может быть использована для вашей идентификации.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Beryl AX setup guide: VPN and OpenWrt
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 — 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.
This guide requires erasing the factory settings and using SSH, a secure connection to the router’s terminal. If you want VPN access with minimal manual configuration, read the firmware comparison below first.
Why use a VPN router with a hardware wallet?
A hardware wallet protects your private keys, while a VPN hides your home or hotel IP address from the servers your wallet app contacts. Wallet addresses included in those requests remain visible. You still need to check transaction details on your hardware wallet before signing and protect your seed phrase, whether or not you use a VPN.
With this connection, the hotel’s 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 guide to VPNs and privacy explains these limits in more detail.
Your laptop and phone can use the VPN without separate VPN apps: the router counts as the connected device for the VPN service.
Beryl AX specifications and capabilities
The router needs 5 V / 3 A from a single USB-C port, so check that your power bank supports this output. Use the supplied power adapter when flashing firmware: a power interruption can disrupt installation.
GL.iNet advertises up to 300 Mbps with WireGuard and 150 Mbps with OpenVPN. 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.
There is no built-in battery or cellular modem, 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.
GL.iNet Beryl AX (GL-MT3000)
GL.iNet firmware or official OpenWrt?
The factory firmware offers a simpler control panel and ready-made travel features. According to GL.iNet’s firmware table, version 4.9.0 for the GL-MT3000 is based on OpenWrt 21.02 and MediaTek SDK components. GL.iNet supplies its updates.
This guide uses OpenWrt 25.12.5 with Linux kernel 6.12, the current stable release dated July 1, 2026. For a new installation, choose the supported 25.12 series.
After installing official OpenWrt, LuCI, OpenWrt’s web interface, 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’s U-Boot bootloader remains in place for emergency recovery.
The factory firmware is sufficient for ordinary trips and a ready-to-use VPN client; 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 comparison of GL.iNet VPN routers for home and travel.
Preparing for Beryl AX setup
You will need a computer with an Ethernet port or USB-to-Ethernet adapter, a network cable and the supplied power adapter. Configure the router over a wired connection: Wi-Fi will be disabled after installing OpenWrt.
First login to the GL.iNet control panel
Connect your computer to the LAN port, open
192.168.8.1and set an administrator password. Skip the remaining initial settings, as they will be erased during installation.Download two files
In the OpenWrt Firmware Selector, search for GL-MT3000 and download SYSUPGRADE for 25.12.5 or a newer stable release in the 25.12 series. An example filename is
openwrt-25.12.5-mediatek-filogic-glinet_gl-mt3000-squashfs-sysupgrade.bin. You do not need the KERNEL file for this installation.For recovery, also download a stable factory firmware image from the GL.iNet download center for the MT3000. It must be compatible with U-Boot. If separate files are offered for normal upgrades and U-Boot, save the U-Boot version.
Verify the checksum
Run the appropriate command from the folder containing the image and compare the result with the SHA256 value in Firmware Selector. The values must match exactly; if they differ, download the file again. If you chose another version, substitute its filename.
Installing OpenWrt through the GL.iNet web interface
192.168.8.1and go to SYSTEM → Upgrade → Local Upgrade.After the reboot, open
192.168.1.1. If your computer has not obtained a new address automatically, reconnect the cable or restart the network adapter.If Local Upgrade rejects the image, open SYSTEM → Advanced Settings → LuCI → System → Backup / Flash Firmware → Flash new firmware image. Select the same file and uncheck Keep settings.
Initial Beryl AX setup with OpenWrt
Root password and SSH key
Open
192.168.1.1, log in asrootwithout a password, then set one under System → Administration → Router Password. Under SSH Access, select thelaninterface to restrict access to the local network.Use the command below to log in from a terminal. For key-based login, generate a key on your computer with
ssh-keygen -t ed25519and add the contents of the.pubfile on the SSH-Keys tab. Disable SSH password login only after confirming that your key works in a new terminal window.Under System → System, select Europe/Kyiv and check NTP time synchronization. Correct system time is needed for logs and certificate validation.
Wi-Fi
Under Network → Wireless, open Edit for each radio: 2.4 GHz and 5 GHz.
UAfor Ukraine. This determines the permitted channels and transmit power.Connecting to the internet without an address conflict
Connect the WAN port to a network with internet access; the default
waninterface obtains an address through DHCP. LAN and WAN must use different subnets, so change the Beryl AX’s local address if your main router also uses192.168.1.1.192.168.77.1with subnet mask255.255.255.0, provided that subnet is free.192.168.77.1.wanhas obtained an address and gateway. If it later conflicts with a hotel network, choose another unused local subnet in the same way.From now on, use the router’s current address, including for SSH. The U-Boot recovery address remains
192.168.1.1.Packages and updates
OpenWrt 25.12 uses
apkinstead ofopkgto install packages. Run all subsequent commands on the router over SSH.Use Attended Sysupgrade, 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.
WireGuard: configuring the tunnel
Install WireGuard support, then obtain a configuration from one of the VPN services below.
luci-proto-wireguardinstalls WireGuard support in LuCI, whileconntrackis needed for the mode-switching setup later in this guide. Reboot the router through System → Reboot.Option A: Mullvad
In your Mullvad account, open the WireGuard configuration generator, select Linux, create a separate key for the router, choose a server and download the
.conffile. Do not use this key on another device at the same time, as this can disrupt the connection.Option B: Proton VPN
In your Proton VPN account, open Downloads → WireGuard configuration, enter a name, select Router and a server, then download the
.conffile. Configurations are available even on the free plan, though server choice is limited.Option C: your own VPS
If you already run WireGuard on a VPS — a rented virtual server — use the
.confconfiguration created for the router. The server must provide routing and internet access; setting it up is outside the scope of this guide. You are responsible for VPS updates, and you still need to trust the hosting provider.Importing the configuration into LuCI
wg0, select WireGuard VPN as the protocol, then click Create interface..conffile and confirm the import. LuCI will fill in the keys, interface address and VPN server settings on the Peers tab.0.0.0.0/0in Allowed IPs, enable Route Allowed IPs and set Persistent Keep Alive to25. Remove::/0if present: this guide configures clients for IPv4 only.vpn.Endpoint must contain the server’s IP address rather than a domain name. 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.
Kill switch: blocking traffic outside the VPN
Allow local devices to reach the internet only through
vpn, so that they lose internet access when the tunnel stops.vpnzone, set Input toreject, Output toacceptand Forward toreject. Enable Masquerading and MSS clamping, and make sure Covered networks includeswg0.lanzone, keep onlyvpnunder Allow forward to destination zones, removingwan.These rules restrict traffic from connected devices. The router itself can still reach the VPN server to restore the tunnel; we will restrict its DNS requests separately.
Preventing DNS leaks
DNS translates website names into IP addresses. We will send these queries through the tunnel and block the router’s ordinary DNS requests over WAN.
wan6..conffile: usually10.64.0.1for Mullvad or10.2.0.1for Proton. Remove any extra addresses.Add the following rule over SSH to block the router’s DNS requests over WAN on TCP/UDP port 53 while leaving the tunnel available. For this setup, the WireGuard port in Endpoint must not be 53. The script later in this guide will temporarily disable the rule in direct mode.
If your VPN’s DNS address falls within the upstream network’s range, such as
10.0.0.0/8, add a route under Network → Routing → Static IPv4 Routes: selectwg0as the interface, set Target to the DNS address followed by/32, and leave Gateway blank.To test the router’s settings, temporarily disable Secure DNS / DNS over HTTPS in the browser and on the device. A different DNS service in the results does not, by itself, prove that queries are leaking outside the VPN.
IPv6 in this configuration
This setup disables IPv6 internet access to prevent it from bypassing the IPv4 tunnel.
wan6with Stop and disable Bring up on boot in its settings.Testing the connection
When checking your Beryl AX setup, leave the test device connected only through this router, with mobile data, other network connections and other VPNs disabled. Under Status → WireGuard, check that Latest Handshake is recent and the traffic counters are increasing. On ipleak.net, the IPv4 address should belong to the VPN server, with no IPv6 internet access.
On dnsleaktest.com, check that the DNS results match your chosen service. Then stop
wg0under Network → Interfaces: new websites should stop loading, while the router’s control panel remains accessible. Restore the tunnel with Restart and repeat the tests. In the WebRTC test, check public IP addresses; a local address alone does not indicate a leak.Using the router on the road: hotel Wi-Fi and phone tethering
Connecting to hotel Wi-Fi with travelmate
Travelmate manages Wi-Fi connections while you travel and reconnects to saved networks. Install the package:
trm_wwanin thewanzone. Do not addlan → wanforwarding: clients must continue to usevpn.wan.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.
Opening a hotel login page with the kill switch enabled
If the hotel requires a browser login, the VPN cannot connect until you have signed in. After configuring the switch in the next section, temporarily enable direct mode and open an HTTP page, such as example.com, to trigger the login page. Sign in, then switch back to VPN mode. Leave travelmate’s own VPN management disabled so that it does not conflict with the script.
USB tethering from a phone
Install the packages for your phone:
usb0for Android oreth1for iPhone, though the name may differ.usbwanusing DHCP client, the device from the previous step and thewanfirewall zone. Under Advanced Settings, clear Use DNS servers advertised by peer.usbmuxdover SSH and confirm “Trust This Computer” on the phone. Addusbmuxdunder System → Startup → Local Startup, beforeexit 0, so the service starts after a reboot.The hardware switch: VPN or direct access
The two-position switch, identified in OpenWrt as
BTN_0, can select VPN mode or temporary direct access 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.Before starting, save your changes in LuCI and create a backup through System → Backup / Flash Firmware. These scripts depend on the exact interface and rule names used in this guide.
Configure the switch over SSH: commands and checks
Step 1. Identify the switch positions
Create a temporary event handler:
Move the switch to both positions and note which produces
pressedand which producesreleasedin the log. Press Ctrl+C, then delete the test file withrm /etc/hotplug.d/button/00-log.Step 2. Prepare the switching rules
With
lan_wan_bypassdisabled andblock_wan_dnsenabled, direct access is blocked. Do not delete rules with these names when making further changes in LuCI.Step 3. Create the mode-switching script
When switching back to VPN mode, the script first blocks direct access and DNS over WAN, then restores the tunnel.
conntrack -Fclears old connections, so calls and downloads may be interrupted. Wait for the mode change to finish before switching again.Step 4. Bind the script to the switch
Here,
pressedenables VPN mode andreleasedenables direct access. Swaponandoffif needed to match the positions you checked.Step 5. Start in VPN mode after every boot
This service restores VPN mode before the network and firewall start, even if the router was shut down in direct mode.
Under System → Startup → Local Startup, add
/usr/bin/vpnmode onbeforeexit 0. For the first run, execute:Test both modes and check entries tagged
vpnmodeunder System → System Log. In VPN mode, repeat the IP, DNS andwg0stop tests. Reboot the router with the switch in the direct-access position: it must start in VPN mode. To enable direct access again, move the switch to the other position and back.Before backing up or updating, run
/usr/bin/vpnmode on. Add the scripts to the backup list once:After an update, check your Beryl AX setup: confirm that the scripts are still present,
vpnmode-bootis enabled and direct access is blocked when the tunnel is stopped. Attended Sysupgrade does not replace testing your custom scripts.Restoring the factory firmware
If the bootloader is working, use the U-Boot recovery web interface to restore the GL.iNet firmware or recover a router whose normal control panel will not open. Settings and installed packages will be erased.
192.168.1.2, subnet mask255.255.255.0and gateway192.168.1.1.http://192.168.1.1in Chrome or Firefox to access U-Boot.192.168.8.1again.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. This leaves OpenWrt installed with its default configuration, no password and Wi-Fi disabled.
Beryl AX setup: common mistakes
The router does not respond after installation. Check the new address,
192.168.1.1, 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.The U-Boot page will not open. Check the LAN port, your computer’s static address
192.168.1.2and when you release Reset. Temporarily disable any VPN or proxy on your computer and try Chrome or Firefox.There is no Wi-Fi. Connect by cable, configure wireless security and enable the networks under Network → Wireless.
WireGuard is enabled, but websites will not load. Check Latest Handshake, Route Allowed IPs, whether
wg0belongs to thevpnzone, Masquerading and MSS clamping. If IP addresses are reachable but website names are not, check DNS and its route.The test shows a different DNS service. Check Secure DNS on the device, the DNS forwards field and whether DNS from upstream networks is disabled. The
block_wan_dnsrule must stay enabled in VPN mode.The hotel login page does not appear. Temporarily switch to direct mode, sign in, then return to VPN mode.
Is OpenWrt on the Beryl AX right for you?
The Beryl AX with official OpenWrt suits users who are comfortable maintaining their own VPN and network configuration. For ordinary trips, the factory GL.iNet panel is easier to use and already includes WireGuard and travel features.
GL.iNet Beryl AX (GL-MT3000)
For protecting the assets themselves, see our guides to holding cryptocurrency on a hardware wallet or an exchange and common cryptocurrency scams.
Related Posts
#Tutorial. Sent crypto but the balance isn’t showing
Sent crypto, but the balance in your wallet or exchange account hasn’t changed? Don’t rush to send the funds again or reinstall the app. First, check the destination address, whether the transaction was actually broadcast, and its status on-chain — in most cases, that is enough to identify the problem. In short: address and network …
RWA in 2026: What It Is And How to Earn From Tokenized Assets
Imagine holding tokenized U.S. Treasuries, exposure to Apple shares, and a fractional interest in a real estate property in one crypto wallet. Some of these assets generate income, some simply track the price of an underlying instrument, and some can be used in DeFi. This is what RWA in 2026 looks like — a broad …
#Ledger tutorial. Ledger Wallet can’t detect your Ledger: complete troubleshooting checklist
Ledger Wallet can’t detect your Ledger: you connect the device to your computer, but Ledger Wallet — formerly known as Ledger Live — does not recognise it. In some cases, the app sees the device but displays “Sorry, connection failed.” This is one of the most common issues customers contact our support team about, and …
#Safepal tutorial. SafePal S1 shows no balance: why that’s normal and where to check your funds
SafePal S1 shows no balance on its screen: someone has sent you cryptocurrency, the funds appear in SafePal App, but the S1 displays no balance or shows zero. Your first thought may be that the device is faulty or the coins are gone. Neither is true. This is how the S1 is designed to work. …