mirror of
https://github.com/pikvm/pikvm.git
synced 2026-09-30 23:25:55 +02:00
74 lines
3.4 KiB
Markdown
74 lines
3.4 KiB
Markdown
---
|
|
title: Cloudflare tunnels
|
|
description: How to configure Cloudflare tunnels for your PiKVM
|
|
---
|
|
|
|
!!! warning
|
|
This is unofficial instructions proposed by the community. We don't officially support this and don't know what problems may arise when using cloudflared.
|
|
|
|
[Cloudflare Tunnels](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/) can be used to access PiKVM over the internet securely using Cloudflare Zero Trust with Cloudflared. This is a convenient and free (for 50 users) tool for allowing access to web services running on your internal network without port forwarding or IPv4/IPv6 compatibility issues. This document is provided as an example for accessing your PiKVM over the internet but you can also use Zerotier/[Tailscale](tailscale.md)/*Insert XYZ VPN service here*. Basic support like whats shown below is provided as an example, any other setting or functionality needs to be redirected to the appropriate community.
|
|
|
|
!!! note "If you get error 1033 / lookup localhost error"
|
|
You might need to add `127.0.0.1 localhost` into your /etc/hosts file
|
|
|
|
## Prerequisites
|
|
|
|
1. A domain utilizing Cloudflare for DNS
|
|
|
|
2. A Cloudflare tunnel configured with an application created and secured by an access policy
|
|
|
|
3. Custom firewall rules configured in Cloudflare as needed
|
|
|
|
|
|
## Cloudflare Tunnel Steps
|
|
|
|
1. Login to Cloudflare and provision a tunnel using the steps [here](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote/). Save the tunnel token as we will need this later. In most cases the target will be https://localhost
|
|
|
|
2. Create a self-hosted application with the URL matching one created in the previous step by following the steps [here](https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/self-hosted-apps/).
|
|
|
|
* You will need to check the http options to disable SSL certificate verification under `Tunnels -> Configure -> Public Hostname -> yourapplication.yourdomain -> Edit -> TLS Settings -> No TLS Verify` as the PiKVM uses self-signed certificates.
|
|
|
|
* Don't skip the access policies as this important to preventing randoms from the internet from gaining access to your PiKVM. Cloudflare offers a variety of login options with the simplest being One-time PINs that are emailed to you. NOTE: This external authentication will not replace the username/password for the PiKVM but instead supplement it acting as a first line of defense from the internet.
|
|
|
|
|
|
## Installation
|
|
|
|
1. Use these commands to install Cloudflared:
|
|
|
|
```console
|
|
[root@pikvm ~]# rw
|
|
[root@pikvm ~]# pacman -Syy
|
|
[root@pikvm ~]# pacman -S cloudflared
|
|
[root@pikvm ~]# cloudflared version
|
|
```
|
|
|
|
2. Edit `/etc/systemd/resolved.conf`, uncomment DNS line and set `DNS=1.1.1.1 1.0.0.1`.
|
|
|
|
3. Restart systemd-resolved:
|
|
|
|
```console
|
|
[root@pikvm ~]# systemctl restart systemd-resolved
|
|
```
|
|
|
|
4. Install the Cloudflare tunnel service to Cloudflared.
|
|
|
|
```console
|
|
[root@pikvm ~]# sudo cloudflared service install SERVICE_TOKEN_HERE
|
|
```
|
|
|
|
5. Ensure cloudflared service is enabled so it starts on boot.
|
|
|
|
```
|
|
[root@pikvm ~]# sudo systemctl enable cloudflared
|
|
```
|
|
|
|
6. Open a web browser and attempt to connect to your tunnel.
|
|
|
|
7. Reboot pikvm with `reboot` command and ensure your tunnel comes back up. This may take a few minutes.
|
|
|
|
## Updating Cloudflared
|
|
|
|
Use a general way to update the system packages:
|
|
|
|
{!_update_os.md!}
|