😆

Edgerouter ER-X で cloudflaredを動かす

2023/04/18に公開

前置き

どうも地元の小学校が無くなるのを望んでいる人です。
今日はEdgerouter ER-Xでcloudflaredを動かします。
外からcloudflare tunnel経由でIPMIとかに安全にアクセスするのが目的です。
(IPMIのポートを外部に開けたくない)
ルーターなので消費電力も少ないです。

ビルド用のコンテナを立ち上げて入る

ホストにgo-langをインストールしてbuildしようとしたらうまくいかないので
Dockerを使うことにします

docker run -it --rm golang:1.19 bash

※現時点のlatestを使うとビルドに成功しませんでした。

githubからcloneする

コンテナに入ったらcloneします。

git clone https://github.com/cloudflare/cloudflared

cdしてbuild

cd cloudflared
GOOS=linux GOARCH=mipsle make cloudflared

ここで重要なのがGOARCHはmipsleを指定します。mipsではありません[1]
自分はここでハマりました。

バイナリをcpする

buildに成功したらバイナリをホストへcpします。

docker cp 696effbcfcbd:/go/cloudflared/cloudflared ./

※ CONTAINER IDは環境に合わせて変えてください

バイナリをsftpなどでコピーして楽しむ

sftpなどお好きな方法でルーターへコピーして楽しみましょう

sftp ubnt@192.168.1.1

以降は通常のLinuxと同じなので割愛

脚注
  1. https://community.ui.com/questions/Golang-support-on-ER-X/7dd19ca6-3eee-4bb6-a4c6-8e5ea0fb37a0 ↩︎

Discussion