How to Install Inlets on Fedora Server Latest
Inlets is a tool for creating secure, publicly accessible tunnels for connecting servers with each other. It allows you to expose a local service hosted on your private network to the public internet via websockets without opening a port on your firewall.
In this tutorial, we'll show you how to install Inlets on the latest version of Fedora Server.
Prerequisites
Before we begin, ensure that you've fulfilled the following requirements:
- A user account with sudo privileges
- Up-to-date software packages on the Fedora server
- Access to the internet
Step 1: Install Go
Inlets is built with Go programming language, so we'll need to install it first. Fedora has a prebuilt package of Go in its default repository. Run the following command to install Go:
$ sudo dnf install -y go
After the installation finishes, verify that Go is installed correctly by checking the version:
$ go version
You should see output similar to:
go version go1.17.4 linux/amd64
Step 2: Download Inlets
Next, download the Inlets binary from the official Inlets GitHub repository using the following command:
$ curl -SLsf https://github.com/inlets/inlets/releases/download/{version}/inlets-{version}-linux-amd64.tar.gz | tar xz
Replace {version} with the latest release version of Inlets. For example:
$ curl -SLsf https://github.com/inlets/inlets/releases/download/0.10.4/inlets-0.10.4-linux-amd64.tar.gz | tar xz
This command will download and extract inlets into the current directory.
Step 3: Install Inlets as a System Service
To run Inlets as a system service, we'll create a systemd unit file.
Create a new file named /etc/systemd/system/inlets.service using a text editor:
$ sudo nano /etc/systemd/system/inlets.service
Paste the following contents into the file:
[Unit]
Description=Inlets
After=network.target
[Service]
ExecStart=/path/to/inlets server \
--port 80 \
--token abcdefg \
--upstream http://localhost:8080
User=nobody
Group=nobody
Restart=always
[Install]
WantedBy=multi-user.target
Replace /path/to/inlets with the actual path to the Inlets binary that you downloaded in Step 2.
The --port flag specifies the port on which inlets should listen for incoming connections.
The --token flag is a secret shared between the client and server that is used for authentication.
The --upstream flag specifies the URL of the local service that inlets should tunnel traffic to.
Save and close the file. Then, reload the systemd daemon:
$ sudo systemctl daemon-reload
Step 4: Start and Enable the Inlets Service
Now that the inlets.service file is created, start and enable the Inlets service to automatically start on boot:
$ sudo systemctl start inlets
$ sudo systemctl enable inlets
You can verify that the Inlets service is running correctly by checking its status:
$ sudo systemctl status inlets
You should see output similar to:
● inlets.service - Inlets
Loaded: loaded (/etc/systemd/system/inlets.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-01-19 22:03:26 UTC; 29s ago
Main PID: 12345 (inlets)
Tasks: 8 (limit: 2054)
Memory: 14.2M
CGroup: /system.slice/inlets.service
└─12345 /path/to/inlets server --port 80 --token abcdefg --upstream http://localhost:8080
This indicates that the Inlets service is running correctly and ready to accept connections.
Conclusion
In this tutorial, you learned how to install Inlets on Fedora Server Latest and configure it as a system service. You can now use Inlets to connect your private network services to the public internet securely.