VLESS Reality VPN Ubuntu: 21-Step Powerful Setup Guide (3X-UI)

This post walks through setting up a secure VLESS Reality VPN on Ubuntu with 3X-UI. I’ll cover the VPS basics, the main configuration steps, a few practical security tweaks, and how to connect from your client devices—handy if you’re after something fast, modern, and a bit more low-profile than a typical VPN.
10 February 2026
How to Configure VLESS Reality VPN on Ubuntu with 3X-UI

VLESS Reality VPN Ubuntu: Complete 3X-UI Setup Guide

Okay, let’s talk about getting your network set up with secure and solid connections. Old-school VPNs can be a pain. All those TLS setups and certs? Yeah, they can make things complicated to run and keep up-to-date.

That’s where VLESS Reality comes in. It’s a cool, new way to move data that’s based on the Xray core. Basically, it makes setting up secure VPNs much easier, and it still plays nice with normal HTTPS stuff. Plus, when you use it with 3X-UI, you get a simple web interface to handle all your VPN connections.

So, in this guide, I’ll walk you through what VLESS Reality is all about and show you how to get it all set up with 3X-UI, step by step.

This guide covers VLESS Reality, but there are many ways to secure your network. For another straightforward approach to setting up your own private VPN server, check out our guide on how to Set Up Secure VPN Server: 7 Easy Steps with Amnezia (Full Guide).


Why Use VLESS Reality with 3X-UI

3X-UI is a web-based management panel for Xray-based services. It provides:

  • Centralized inbound and client management
  • Easy generation of client configurations
  • Traffic and connection monitoring
  • UI-based configuration of advanced transports

It is suitable for both testing environments and production deployments.


Step-by-Step VLESS Reality Setup on Ubuntu

1. Choosing a VPS Hosting Provider

When planning a VLESS setup with XTLS-Reality on Ubuntu, selecting the right VPS hosting provider is an important first step. A suitable virtual private server ensures reliable performance and a stable network connection for your VPN infrastructure.

For a comfortably performing instance, the following minimum specifications are recommended:

  • CPU: 1 vCPU
  • Memory: 1–2 GB RAM
  • Storage: 10 GB SSD or more
  • Network speed: At least 100 Mbps

These system requirements are sufficient for most small to medium workloads and provide responsive connectivity for everyday use.

When evaluating hosting providers, consider also:

  • Uptime guarantees
  • Data center locations
  • IPv4 availability
  • Ease of management (console access, snapshots, etc.)

Choosing a provider that meets these criteria will help ensure a stable and manageable environment for your server deployment.

When selecting a VPS hosting provider, reliability, modern hardware, and network performance are key factors. Two providers that I personally use and can recommend for stable server deployments are Aeza.net and Senko Digital. Both offer modern infrastructure and consistent performance, making them suitable choices for hosting a VLESS with XTLS-Reality setup on Ubuntu.

Aeza.net

Aeza.net provides VPS solutions based on modern server hardware and SSD/NVMe storage. It is suitable for users looking for flexible configurations and stable network performance across multiple data center locations.

Aeza.net

Senko Digital

Senko Digital offers VPS and dedicated server solutions with a focus on performance and simplicity. Their infrastructure is hosted in European data centers and designed for consistent uptime and reliable connectivity.

Senko Digital

2. Accessing VPS Login Credentials

After purchasing a VPS server, the access details are typically provided in the hosting provider’s control panel. In most cases, these credentials can be found in the My Services or Services section.

The standard login information usually includes:

  • Server IP address: 192.355.34.14 (example)
  • Username: root
  • Password: automatically generated by the provider

These credentials are required to establish an initial SSH connection to the server and perform basic system configuration.

For security reasons, it is recommended to store this information securely and update the default password after the first login.

Example Aeza.net
Example Aeza.net

3. Downloading PuTTY

Once you have obtained the VPS server access details, the next step is to prepare a tool for connecting to the server via SSH. On Windows systems, this is commonly done using PuTTY, a lightweight and widely used SSH client.

PuTTY allows you to securely connect to a remote VPS and perform initial server configuration tasks through the command line.

You can download PuTTY from the official download page:

https://putty.org.download

After installation, PuTTY can be used to connect to your VPS using the provided IP address and login credentials.


4. Connecting to the VPS Using PuTTY

After installing PuTTY, launch the application to begin setting up the SSH connection.

In the main PuTTY window, enter the VPS server IP address in the Host Name (or IP address) field. Make sure the connection settings are correct:

  • Connection type: SSH
  • Port: 22

After verifying the settings, click the Open button to initiate the connection to the server.

At this stage, a terminal window will open and prompt you to log in using the server credentials.

If you have a Mac, download www.termius.com


5. Logging In to the VPS via SSH

After clicking Open, a terminal window will appear and prompt you to enter your login credentials.

At the login prompt, enter the following:

  • Login: root
    Press Enter

Next, copy the password provided by your hosting provider and paste it into the terminal by right-clicking the mouse. In PuTTY, right-click automatically inserts the copied text.

Note: For security reasons, the password will not be visible while typing or pasting. This is expected behavior.

After pasting the password, press Enter.
If the credentials are correct, the SSH connection will be established and you will be logged in to the server.


6. Server Preparation

Before we get into the nitty-gritty of setting things up, it’s a good idea to give your server a little TLC. This means updating its system and tweaking a couple of network settings.

Start by updating all the system stuff. This makes sure everything is up-to-date and secure.

Also, think about turning on BBR. Google made it, and it helps your network run smoother and stay connected better. It basically makes better use of your bandwidth and lowers lag, which is super useful for servers.


7. Updating the System and Enabling BBR

After logging in to the server, the first step is to update the operating system packages. This ensures the server is running the latest stable versions with recent security fixes.

Next, you can enable BBR, a modern TCP congestion control algorithm that helps improve network throughput and connection stability.

To execute the commands, copy them from the guide and paste them into the terminal window using the right mouse button. In PuTTY, right-clicking automatically inserts the copied text.

After pasting each command, press Enter to run it.

apt update && apt upgrade -y# Включение BBRecho "net.core.default_qdisc=fq" >> /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confsysctl -p

After the system update is completed and BBR is enabled, the command-line interface will return to the standard shell prompt. At this point, the server is ready for the next configuration steps.

Updating the System and Enabling BBR
Updating the System and Enabling BBR

8. Installing 3X-UI

After completing the initial server preparation, you can proceed with installing 3X-UI, a web-based management panel used to configure and manage Xray-based services, including VLESS with Reality support.

The installation process is automated and performed using an official installation script.

To begin installation, copy the command below, paste it into the terminal using the right mouse button, and press Enter:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

The script will download and install all required components automatically. During the process, the installer may prompt for basic input or display progress information in the terminal.


9. Picking Your 3X-UI Port

When you’re setting things up, the installer will ask you to pick a port to get to the 3X-UI online stuff.

Just grab any port that’s free on your server. Like this:

2345

You’ll use this port to open the 3X-UI panel in your browser.

Type in the port number, then hit Enter to keep going!

During the installation process, the installer will prompt you to configure an SSL certificate for the 3X-UI web panel. This step enables encrypted HTTPS access to the panel interface and helps protect login data during administration.

9.Picking Your 3X-UI Port

At this stage, you will be offered several options:

  • Option 1 — Free SSL certificate for a domain name
    Select this option if you have a domain name pointing to your VPS server. After choosing option 1, you will be asked to enter your domain name (for example, example.com). The installer will automatically issue and configure a free SSL certificate for the panel domain.
  • Option 2 — SSL certificate for the server IP address
    Select this option if you do not have a domain name available. In this case, the installer will configure HTTPS access for the panel using the server’s IP address.

We’re going with option two here. It sets up the SSL certificate using the server’s IP. This way, you get safe HTTPS access to the 3X-UI panel, even without a domain.

Using either option allows secure access to the 3X-UI web interface without requiring manual certificate setup. The installer handles the entire certificate issuance and configuration process automatically.


10. How to Get to the 3X-UI Menu

Once installed, you’ll see a message saying it’s ready.

Then, to get to the 3X-UI menu, just type this into the terminal and hit Enter:

x-ui

This pops up a menu where you can check things, change settings, and handle basic stuff in 3X-UI.

Okay, here’s how to reset your 3X-UI panel login:

Open the 3X-UI menu with the x-ui command and pick option 6 to reset your login info. The system will make new credentials and show them to you. Just save these in a safe place so you can log in through your browser later.


11. Enabling Fail2Ban for Panel Protection

To keep your 3X-UI web panel secure, it’s a good idea to turn on Fail2Ban. It’s a helpful tool that blocks IPs that try to log in too many times or seem like bots.

Here’s how to turn it on:

Go to security settings by selecting option 20.

Choose option 1 to turn on Fail2Ban.

Click y

Once you say yes, Fail2Ban will watch for login tries and block anything fishy. This makes your service more stable and keeps unwanted users out.

What if I accidentally exit the 3X-UI management menu?

If you accidentally exit the 3X-UI management interface in the command line, you can reopen it at any time by entering the following command and pressing Enter:

x-ui

This command will bring you back to the 3X-UI management menu.


12. Accessing the 3X-UI Web Panel

Once you’re done setting things up in the 3X-UI menu, pick option 10 and hit Enter.

You’ll then see the panel access details, like the Access URL for the 3X-UI web thing.

It’ll look like this:

https://85.147.118.102:2053/mXRMOUUzE7Vop1ckE7/

Copy this access URL and paste it into your browser. You will see the 3X-UI login page, where you can enter your registration details that we created in step 10


13. Logging In to Your 3X-UI Web Panel

So, you’ve got your Access URL? Sweet! Just paste that into your browser, and boom – you’re at the 3X-UI login page.

Logging in is easy:

  • Type in that username you made.
  • Then, pop in your password.
  • Hit that Login button!

If you got everything right, you’ll jump straight to the 3X-UI dashboard. From there, you can set stuff up, watch those connections, and tweak your server settings.


Once you’re in the 3X-UI dashboard, just head over to Panel Settings.

You’ll see a URI Path box there. Sometimes, it has extra stuff in it, making your panel link longer than needed.

To make the link shorter:

  1. Empty the URI Path box.
  2. Save your changes.

Now, you can get to your panel with a simpler link. It’s easier to remember! This just cleans things up for you.

After making any changes in the 3X-UI panel settings, make sure to click Save to apply the updated configuration.

In addition, it is recommended to restart the panel after configuration changes to ensure that all settings are applied correctly and the interface continues to operate as expected.


15. Xray Config

Go to Xray Config in the 3X-UI panel.

  • Set Freedom Protocol Strategy as shown in the screenshot
  • Set Overall Routing Strategy according to the same configuration

After applying the settings, click Save and Restart the panel.


16. Basic Routing

Go to Basic Routing in the 3X-UI panel.

Select the country you are currently located in.
A direct connection ensures that specific traffic is not routed through another server.

Configure the following options according to your location:

  • Direct IPs
  • Direct Domains

After making the changes, click Save and Restart the panel.


17. DNS Settings

Next, go to DNS in the 3X-UI panel and enable DNS.

In the DNS section:

  1. Click on the three dots (⋮)
  2. Select Cloudflare as the DNS provider
  3. Enable Fake DNS

After applying the changes, click Save and Restart the panel.


18. Creating a New Inbound

Next, proceed to configuring the connection itself.

Go to Inbounds in the 3X-UI panel and click Add Inbound to create a new inbound configuration.

Complete the remaining inbound settings according to the values shown in the video.

Make sure all parameters match the demonstrated configuration.
After finishing, save the changes and restart the panel if required.

Creating a New Inbound

19. Adding Users and Client Applications

Users can be added to the inbound configuration as shown in the video. The process allows you to create multiple client profiles for different devices.

Сonfiguring a secure 3x-ui VPN connection

For client applications, I personally use Hiddify on both PC and mobile devices. It supports the required connection formats and provides a convenient interface for managing profiles.

After adding users, export or copy the connection details and import them into the client application.

20. Using Subscription-Based Configuration

It is recommended to connect clients using a subscription link rather than manual configuration. Using a subscription allows the VPN settings to be updated automatically in the client application.

This approach is more convenient because:

  • there is no need to manually update connection details
  • changes are synced automatically to both PC and mobile devices
  • managing multiple users and devices becomes easier

Subscription-based connections are especially useful when using clients like Hiddify, as they simplify ongoing configuration management.


When managing a user, click More Information. A window will appear containing the Subscription Link.

Copy the Subscription Link and share it with the user.
When the link is opened, a page will appear displaying:

  • a QR code for quick subscription import
  • a list of supported VPN clients compatible with 3X-UI VLESS Reality

This page provides convenient options for setting up the connection on Android and iOS devices, allowing users to easily add the subscription to their preferred client application.


Wrapping Up

So, we just walked through setting up 3X-UI with VLESS Reality on an Ubuntu VPS. We started with prepping the server, then got the panel installed, tweaked some basic security, and set up your client.

3X-UI makes things easier to handle with its web interface, and using subscription-based client is way easier to use across all your gadgets. It’s a setup that works great whether you’re on your computer or phone.

Once you get the server all set and connect your devices with those subscription things, you should be good to go for the long haul.

As an SNI, it’s better to have your own website with a custom domain hosted on the same server where you configure the VPN. It’s also recommended to route DNS requests through DNS over HTTPS (DoH), which can be implemented using Cloudflared.


Got Questions?

What’s the least amount of power my server needs?

For the basics, a server with 1 vCPU, 1–2 GB of RAM, 10 GB of SSD, and a network speed of 100 Mbps should do the trick.

Do I have to have a domain thing for 3X-UI?

Nope. You can use a domain or just stick with your server’s IP address to get to the panel via HTTPS. Either way works.

Why bother with a subscription instead of setting things up myself?

Subscriptions make things auto update, so you don’t have to mess with redoing your VPN settings on every single device you own.

What apps can I use with this?

3X-UI plays nice with a bunch of them. We used Hiddify on both computer and phone, but you can see other apps that work when you open that subscription link.

Do I really need thing called Fail2Ban?

It’s not a must, but it’s a good idea. It keeps the panel safer by blocking anyone trying to get in without permission too many times. It just makes things run smoother.

Gotta restart after I change something?

Yep. Save those changes and give the panel a restart to make sure everything sticks.

Leave a Reply

Your email address will not be published.

Don't Miss

Dokploy Review 2026: Is This the Best Docker Deployment Platform?

Dokploy Review 2026: Features, Installation & Docker Deployment Guide

This Dokploy review explains how this self-hosted deployment platform works,
n8n AI Stack: How to Deploy a Full AI Automation System in 15 Minutes

n8n AI Stack: 15-Minute Powerful Setup Guide (Save Hours)

This piece walks you through getting a complete n8n AI